- Aug 19, 2017
-
-
Johannes Altmanninger authored
Reviewers: arphaman Subscribers: mgorny Differential Revision: https://reviews.llvm.org/D36182 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311241 91177308-0d34-0410-b5e6-96231b3b80d8
-
Johannes Altmanninger authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311240 91177308-0d34-0410-b5e6-96231b3b80d8
-
Johannes Altmanninger authored
Reviewers: arphaman Subscribers: klimek Differential Revision: https://reviews.llvm.org/D36181 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311237 91177308-0d34-0410-b5e6-96231b3b80d8
-
Peter Szecsi authored
This patch introduces a new CFG element CFGLoopExit that indicate when a loop ends. It does not deal with returnStmts yet (left it as a TODO). It hidden behind a new analyzer-config flag called cfg-loopexit (false by default). Test cases added. The main purpose of this patch right know is to make loop unrolling and loop widening easier and more efficient. However, this information can be useful for future improvements in the StaticAnalyzer core too. Differential Revision: https://reviews.llvm.org/D35668 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311235 91177308-0d34-0410-b5e6-96231b3b80d8
-
Peter Szecsi authored
Adding escape check for the counter variable of the loop. It is achieved by jumping back on the ExplodedGraph to its declStmt. Differential Revision: https://reviews.llvm.org/D35657 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311234 91177308-0d34-0410-b5e6-96231b3b80d8
-
Johannes Altmanninger authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311233 91177308-0d34-0410-b5e6-96231b3b80d8
-
Johannes Altmanninger authored
Summary: This is done with -ast-dump; the JSON variant has been renamed to -ast-dump-json. Reviewers: arphaman Differential Revision: https://reviews.llvm.org/D36180 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311232 91177308-0d34-0410-b5e6-96231b3b80d8
-
Faisal Vali authored
This patch, by hamzasood, implements P0409R2, and allows [=, this] pre-C++2a as an extension (with appropriate warnings) for consistency. https://reviews.llvm.org/D36572 Thanks Hamza! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311224 91177308-0d34-0410-b5e6-96231b3b80d8
-
Johannes Altmanninger authored
Fix build by renaming ChangeKind -> Change This reverts commit 0c78c572. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311222 91177308-0d34-0410-b5e6-96231b3b80d8
-
Johannes Altmanninger authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311220 91177308-0d34-0410-b5e6-96231b3b80d8
-
Johannes Altmanninger authored
This reverts commit eac4c13a, the original commit *should* not have caused the build failure. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311216 91177308-0d34-0410-b5e6-96231b3b80d8
-
Vlad Tsyrklevich authored
This reverts commit r311199, it was causing widespread build failures. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311211 91177308-0d34-0410-b5e6-96231b3b80d8
-
Vlad Tsyrklevich authored
This reverts commit r311200, it was causing widespread build failures. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311210 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Aug 18, 2017
-
-
Johannes Altmanninger authored
Summary: This also changes the output order of the changes. Now the matches are printed in pre-order, intertwined with insertions, updates, and moves. Deletions are printed afterwards. Reviewers: arphaman Subscribers: klimek Differential Revision: https://reviews.llvm.org/D36179 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311200 91177308-0d34-0410-b5e6-96231b3b80d8
-
Johannes Altmanninger authored
Reviewers: arphaman Subscribers: klimek Differential Revision: https://reviews.llvm.org/D36178 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311199 91177308-0d34-0410-b5e6-96231b3b80d8
-
Erik Pilkington authored
This made it awkward to switch over an enum where some entries are partial and is unlikley to catch any bugs. Differential revision: https://reviews.llvm.org/D36777 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311191 91177308-0d34-0410-b5e6-96231b3b80d8
-
Matt Morehouse authored
Summary: Augment SanitizerCoverage to insert maximum stack depth tracing for use by libFuzzer. The new instrumentation is enabled by the flag -fsanitize-coverage=stack-depth and is compatible with the existing trace-pc-guard coverage. The user must also declare the following global variable in their code: thread_local uintptr_t __sancov_lowest_stack https://bugs.llvm.org/show_bug.cgi?id=33857 Reviewers: vitalybuka, kcc Reviewed By: vitalybuka Subscribers: kubamracek, hiraditya, cfe-commits, llvm-commits Differential Revision: https://reviews.llvm.org/D36839 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311186 91177308-0d34-0410-b5e6-96231b3b80d8
-
Matt Morehouse authored
Summary: Arguments can be specified after -ignore_remaining_args=1 to modify the compiler invocation. For example, the following command-line will fuzz LLVM with a custom optimization level and target triple: clang-proto-fuzzer CORPUS/ -ignore_remaining_args -O3 \ -triple arm64-apple-ios9 Reviewers: vitalybuka, kcc Reviewed By: vitalybuka Subscribers: aemerson, cfe-commits, kristof.beyls Differential Revision: https://reviews.llvm.org/D36882 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311185 91177308-0d34-0410-b5e6-96231b3b80d8
-
Alexander Shaposhnikov authored
This diff fixes analyzer's crash (triggered assert) on the newly added test case. The assert being discussed is assert(!B.lookup(R, BindingKey::Direct)) in lib/StaticAnalyzer/Core/RegionStore.cpp, however the root cause is different. For classes with empty bases the offsets might be tricky. For example, let's assume we have struct S: NonEmptyBase, EmptyBase { ... }; In this case Clang applies empty base class optimization and the offset of EmptyBase will be 0, it can be verified via clang -cc1 -x c++ -v -fdump-record-layouts main.cpp -emit-llvm -o /dev/null. When the analyzer tries to perform zero initialization of EmptyBase it will hit the assert because that region has already been "written" by the constructor of NonEmptyBase. Test plan: make check-all Differential revision: https://reviews.llvm.org/D36851 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311182 91177308-0d34-0410-b5e6-96231b3b80d8
-
Konstantin Zhuravlyov authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311178 91177308-0d34-0410-b5e6-96231b3b80d8
-
Johannes Altmanninger authored
Summary: Support command line options for build path and extra arguments This emulates the options accepted by clang tools that use CommonOptionsParser. Add a flag for controlling the maximum size parameter for bottom up matching. Reviewers: arphaman Subscribers: klimek Differential Revision: https://reviews.llvm.org/D36177 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311173 91177308-0d34-0410-b5e6-96231b3b80d8
-
Johannes Altmanninger authored
Fix to the computation of the rightmost descendant. Prevents root nodes from being mapped if they are already mapped. This only makes a difference when we compare AST Nodes other than entire translation units, a feature which still has to be tested. Reviewers: arphaman Subscribers: klimek Differential Revision: https://reviews.llvm.org/D36176 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311172 91177308-0d34-0410-b5e6-96231b3b80d8
-
Johannes Altmanninger authored
This is useful for tools such as clang-diff which do not use CommonOptionsParser due to the need for multiple compilation databases. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311170 91177308-0d34-0410-b5e6-96231b3b80d8
-
Konstantin Zhuravlyov authored
- gfx600 - gfx601 - gfx703 - gfx902 - gfx903 Differential Revision: https://reviews.llvm.org/D36771 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311141 91177308-0d34-0410-b5e6-96231b3b80d8
-
Tim Northover authored
It was committed by mistake since it was in the same monorepo as the LLVM change I was working on. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311140 91177308-0d34-0410-b5e6-96231b3b80d8
-
Tim Northover authored
If a struct would end up half in GPRs and half on SP the ABI says it should actually go entirely on the stack. We were getting this wrong in GlobalISel before, causing compatibility issues. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311137 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Aug 17, 2017
-
-
Richard Smith authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311115 91177308-0d34-0410-b5e6-96231b3b80d8
-
Alex Lorenz authored
Base::TraverseStmt when visiting the then/else branches of if statements This ensures that the statement stack is correctly tracked and correct multi-statement fixit is generated inside of an if (@available) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311088 91177308-0d34-0410-b5e6-96231b3b80d8
-
Alex Lorenz authored
if possible when creating "Declaration" nodes in XML comments rdar://14765746 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311085 91177308-0d34-0410-b5e6-96231b3b80d8
-
Daniel Jasper authored
The fix in r310994 is incomplete, as moveFromAndCancel can set the pointer without initializing OldIsSpeculativelyEvaluating. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311070 91177308-0d34-0410-b5e6-96231b3b80d8
-
John McCall authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311065 91177308-0d34-0410-b5e6-96231b3b80d8
-
Devin Coughlin authored
This commit adds the functionality of performing reference counting on the callee side for Integer Set Library (ISL) to Clang Static Analyzer's RetainCountChecker. Reference counting on the callee side can be extensively used to perform debugging within a function (For example: Finding leaks on error paths). Patch by Malhar Thakkar! Differential Revision: https://reviews.llvm.org/D36441 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311063 91177308-0d34-0410-b5e6-96231b3b80d8
-
Ben Langmuir authored
In dependent contexts we end up referencing these, so make sure they have USRs, and have their declarations indexed. For the most part they behave like typedefs, but we also need to worry about having multiple using declarations with the same "name". rdar://problem/33883650 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311053 91177308-0d34-0410-b5e6-96231b3b80d8
-
George Burgess IV authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311051 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Aug 16, 2017
-
-
Hal Finkel authored
-no-integrated-as is not supported on some targets (e.g., x86_64-pc-windows-msvc). Testing using -save-temps is good enough to cover the relevant logic, and that should work everywhere. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311043 91177308-0d34-0410-b5e6-96231b3b80d8
-
Hal Finkel authored
Using Output.getFilename() to construct the file name used for optimization recording in Clang::ConstructJob, when -c is provided, does not work correctly if we're not using the integrated assembler. With -no-integrated-as (or -save-temps) Output.getFilename() gives the name of the temporary assembly file, not the final output file. Instead, use the final output (as provided by -o). If this is not available, then fall back to using a name based on the input file. Fixes PR31532. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311041 91177308-0d34-0410-b5e6-96231b3b80d8
-
Taewook Oh authored
Summary: Even in the case of the input file is a preprocessed source, clang uses the file name of the preprocesses source for debug info (DW_AT_name attribute for DW_TAG_compile_unit). However, gcc uses the file name specified in the first linemarker instead. This makes more sense because the one specified in the linemarker represents the "actual" source file name. Clang already uses the file name specified in the first linemarker for Module name (https://github.com/llvm-mirror/clang/blob/master/lib/Frontend/FrontendAction.cpp#L779) if the input is preprocessed. This patch makes clang to use the same value for debug info as well. Reviewers: compnerd, rnk, dblaikie, rsmith Reviewed By: rnk Subscribers: aprantl, cfe-commits Differential Revision: https://reviews.llvm.org/D36474 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311037 91177308-0d34-0410-b5e6-96231b3b80d8
-
Petr Hosek authored
Patch by Roland McGrath Differential Revision: https://reviews.llvm.org/D36779 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311034 91177308-0d34-0410-b5e6-96231b3b80d8
-
Petr Hosek authored
Differential Revision: https://reviews.llvm.org/D36349 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311033 91177308-0d34-0410-b5e6-96231b3b80d8
-
Alexey Bataev authored
If worksharing construct has at least one linear item, an implicit synchronization point must be emitted to avoid possible conflict with the loading/storing values to the original variables. Added implicit barrier if the linear item is found before actual start of the worksharing construct. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311013 91177308-0d34-0410-b5e6-96231b3b80d8
-