| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[clang][nullability] Remove RecordValue. (#89052) This class no longer serves any purpose; see also the discussion here: https://reviews.llvm.org/D155204#inline-1503204 A lot of existing tests in TransferTest.cpp check for the existence of RecordValues. Some of these checks are now simply redundant and have been removed. In other cases, tests were checking for the existence of a RecordValue as a way of testing whether a record has been initialized. I have typically changed these test to instead check whether a field of the record has a value. | 2 年前 | |
[clang][nullability] Don't return null fields from getReferencedDecls(). (#94983) The patch includes a repro for a case where we were returning a null FieldDecl when calling getReferencedDecls() on the InitListExpr for a union. Also, I noticed while working on this that RecordInitListHelper has a bug where it doesn't work correctly for empty unions. This patch also includes a repro and fix for this bug. | 2 年前 | |
[clang][dataflow] Bail out if input is Objective-C++. (#86479) We only ever intended to support C++, but the condition we were testing allowed Objective-C++ code by mistake. | 2 年前 | |
Reapply "[dataflow] use true/false literals in formulas, rather than variables" This reverts commit 3353f7dd3d91c9b2b6a15ba9229bee53e0cb8196. Fixed test bug (unspecified order of arg evaluation) | 2 年前 | |
[clang] Revise IDE folder structure (#89743) Update the folder titles for targets in the monorepository that have not seen taken care of for some time. These are the folders that targets are organized in Visual Studio and XCode ( set_property(TARGET <target> PROPERTY FOLDER "<title>")) when using the respective CMake's IDE generator. * Ensure that every target is in a folder * Use a folder hierarchy with each LLVM subproject as a top-level folder * Use consistent folder names between subprojects * When using target-creating functions from AddLLVM.cmake, automatically deduce the folder. This reduces the number of set_property/set_target_property, but are still necessary when add_custom_target, add_executable, add_library, etc. are used. A LLVM_SUBPROJECT_TITLE definition is used for that in each subproject's root CMakeLists.txt. | 2 年前 | |
[clang][dataflow] Make CNFFormula externally accessible. (#92401) This component can be useful when creating implementations of Solver, as some SAT solvers require the input to be in 3-CNF. As part of making CNFFormula externally accessible, I have moved some member variables out of it that aren't really part of the representation of a 3-CNF formula and thus live better elsewhere: * WatchedHead and NextWatched have been moved to WatchedLiteralsSolverImpl, as they're part of the specific algorithm used by that SAT solver. * Atomics has become an output parameter of buildCNF() because it has to do with the relationship between a CNFFormula and the set of Formulas it is derived from rather than being an integral part of the representation of a 3-CNF formula. I have also made all member variables private and added appropriate accessors. | 2 年前 | |
[clang][dataflow] Allow DataflowAnalysisContext to use a non-owned Solver. (#91316) For some callers (see change in DataflowAnalysis.h), this is more convenient. | 2 年前 | |
[clang][dataflow] Handle this-capturing lambdas in field initializers. (#99519) We previously would assume these lambdas appeared inside a method definition and end up crashing. | 1 年前 | |
[clang][nullability] Remove RecordValue. (#89052) This class no longer serves any purpose; see also the discussion here: https://reviews.llvm.org/D155204#inline-1503204 A lot of existing tests in TransferTest.cpp check for the existence of RecordValues. Some of these checks are now simply redundant and have been removed. In other cases, tests were checking for the existence of a RecordValue as a way of testing whether a record has been initialized. I have typically changed these test to instead check whether a field of the record has a value. | 2 年前 | |
Reapply "[dataflow] use true/false literals in formulas, rather than variables" This reverts commit 3353f7dd3d91c9b2b6a15ba9229bee53e0cb8196. Fixed test bug (unspecified order of arg evaluation) | 2 年前 | |
[clang][nullability] Remove RecordValue. (#89052) This class no longer serves any purpose; see also the discussion here: https://reviews.llvm.org/D155204#inline-1503204 A lot of existing tests in TransferTest.cpp check for the existence of RecordValues. Some of these checks are now simply redundant and have been removed. In other cases, tests were checking for the existence of a RecordValue as a way of testing whether a record has been initialized. I have typically changed these test to instead check whether a field of the record has a value. | 2 年前 | |
[clang][dataflow] Display line numbers in the HTML logger timeline. (#80130) This makes it easier to count how many iterations an analysis takes to complete. It also makes it easier to compare how a change to the analysis code affects the timeline. Here's a sample screenshot:  | 2 年前 | |
[clang][dataflow] Display line numbers in the HTML logger timeline. (#80130) This makes it easier to count how many iterations an analysis takes to complete. It also makes it easier to compare how a change to the analysis code affects the timeline. Here's a sample screenshot:  | 2 年前 | |
[dataflow] HTMLLogger - show the value of the current expr Differential Revision: https://reviews.llvm.org/D148949 | 3 年前 | |
[clang][dataflow][NFC] Rename ControlFlowContext to AdornedCFG. (#85640) This expresses better what the class actually does, and it reduces the number of Contexts that we have in the codebase. A deprecated alias ControlFlowContext is available from the old header. | 2 年前 | |
[clang][nullability] Remove RecordValue. (#89052) This class no longer serves any purpose; see also the discussion here: https://reviews.llvm.org/D155204#inline-1503204 A lot of existing tests in TransferTest.cpp check for the existence of RecordValues. Some of these checks are now simply redundant and have been removed. In other cases, tests were checking for the existence of a RecordValue as a way of testing whether a record has been initialized. I have typically changed these test to instead check whether a field of the record has a value. | 2 年前 | |
[clang][dataflow] Use Formula::isLiteral() in a couple more places. (#78404) | 2 年前 | |
[clang][nullability] Improve modeling of ++/-- operators. (#96601) We definitely know that these operations change the value of their operand, so clear out any value associated with it. We don't create a new value, instead leaving it to the analysis to do this if desired. | 1 年前 | |
[clang][dataflow] Add a callback run on the pre-transfer state. (#96140) At the same time, rename PostVisitCFG to the more descriptive PostAnalysisCallbacks (which emphasizes the fact that these callbacks are run after the dataflow analysis itself has converged). Before this patch, it was only possible to run a callback on the state _after_ the transfer function had been applied, but for many analyses, it's more natural to to check the state _before_ the transfer function has been applied, because we are usually checking the preconditions for some operation. Some checks are impossible to perform on the "after" state because we can no longer check the precondition; for example, the ++ / -- operators on raw pointers require the operand to be nonnull, but after the transfer function for the operator has been applied, the original value of the pointer can no longer be accessed. UncheckedOptionalAccessModelTest has been modified to run the diagnosis callback on the "before" state. In this particular case, diagnosis can be run unchanged on either the "before" or "after" state, but we want this test to demonstrate that running diagnosis on the "before" state is usually the preferred approach. This change is backwards-compatible; all existing analyses will continue to run the callback on the "after" state. | 1 年前 | |
[clang][nullability] Remove RecordValue. (#89052) This class no longer serves any purpose; see also the discussion here: https://reviews.llvm.org/D155204#inline-1503204 A lot of existing tests in TransferTest.cpp check for the existence of RecordValues. Some of these checks are now simply redundant and have been removed. In other cases, tests were checking for the existence of a RecordValue as a way of testing whether a record has been initialized. I have typically changed these test to instead check whether a field of the record has a value. | 2 年前 | |
[clang][dataflow] Make CNFFormula externally accessible. (#92401) This component can be useful when creating implementations of Solver, as some SAT solvers require the input to be in 3-CNF. As part of making CNFFormula externally accessible, I have moved some member variables out of it that aren't really part of the representation of a 3-CNF formula and thus live better elsewhere: * WatchedHead and NextWatched have been moved to WatchedLiteralsSolverImpl, as they're part of the specific algorithm used by that SAT solver. * Atomics has become an output parameter of buildCNF() because it has to do with the relationship between a CNFFormula and the set of Formulas it is derived from rather than being an integral part of the representation of a 3-CNF formula. I have also made all member variables private and added appropriate accessors. | 2 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 3 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 2 年前 |