- Jan 29, 2020
-
-
Johannes Doerfert authored
There was a TODO in AAValueConstantRangeArgument to reuse AAArgumentFromCallSiteArguments. We now do this by allowing new States to be build from the bestState.
-
Johannes Doerfert authored
If we invalidate an attribute we need to inform all dependent ones even if the fixpoint state is not invalid. Before we only continued invalidation if the fixpoint state was invalid, now we signal a change in case the fixpoint state is valid. The test case was already included in D71620 but the problem was hiding because it only manifested with the old PM (for that input).
-
Johannes Doerfert authored
This patch modularizes the way we check for no-alias call site arguments by putting the existing logic into helper functions. The reasoning was not changed but special cases for readonly/readnone were added.
-
Johannes Doerfert authored
If `null` is not defined we cannot access it, hence the pointer is `noalias`. While this is not helpful on it's own it simplifies later deductions that can skip over already known `noalias` pointers in certain situations.
-
Johannes Doerfert authored
-
Johannes Doerfert authored
-
Johannes Doerfert authored
-
Eli Friedman authored
-
Benjamin Kramer authored
-
Benjamin Kramer authored
-
Alex Lorenz authored
include Clang builtin headers even with -nostdinc Some projects use -nostdinc, but need to access some intrinsics files when building specific files. The new -ibuiltininc flag lets them use this flag when compiling these files to ensure they can find Clang's builtin headers. The use of -nobuiltininc after the -ibuiltininc flag does not add the builtin header search path to the list of header search paths. Differential Revision: https://reviews.llvm.org/D73500
-
Benjamin Kramer authored
-
Benjamin Kramer authored
-
Benjamin Kramer authored
-
Benjamin Kramer authored
-
Nate Voorhies authored
Reviewers: dschuff Reviewed By: dschuff Subscribers: hiraditya, aheejin, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D73591
-
Vedant Kumar authored
During extraction, stale llvm.assume handles may be retained in the original function. The setup is: 1) CodeExtractor unregisters assumptions in the blocks that are to be extracted. 2) Extraction happens. There are now two functions: f1 and f1.extracted. 3) Leftover assumptions in f1 (/not/ removed as they were not in the set of blocks to be extracted) now have affected-value llvm.assume handles in f1.extracted. When assumptions for a value used in f1 are looked up, ValueTracking can assert as some of the handles are in the wrong function. To fix this, simply erase the llvm.assume calls in the extracted function. Alternatives include flushing the assumption cache in the original function, or walking all values used in the original function to prune stale affected-value handles. Both seem more expensive. Testing: check-llvm, LNT run with -mllvm -hot-cold-split enabled rdar://58460728
-
Benjamin Kramer authored
-
Jonas Devlieghere authored
The copy assignment operator is supposed to return the class and not void. Fix the methods and the reproducer instrumentation macros.
-
Benjamin Kramer authored
-
Sam McCall authored
I've hit this stack trace a few times but don't have a good reproducer. The code is unsafe by inspection, though.
-
Derek Schuff authored
2 fixes: Register coloring can re-assign virtual registers. When the frame base register is colored, update the DwarfFrameBase accordingly When the frame base register is stackified, do not attempt to encode DW_AT_frame_base as a local In the future we will presumably want to handle this case better but for now we can emit worse debug info rather than crashing. Differential Revision: https://reviews.llvm.org/D73581
-
Benjamin Kramer authored
-
Nico Weber authored
-
Jonas Devlieghere authored
Currently the constructor is compiler generated which means it doesn't get instrumented for the reproducers.
-
Nico Weber authored
-
Craig Topper authored
-
Craig Topper authored
-
Jonas Devlieghere authored
Currently the constructor is compiler generated which means it doesn't get instrumented for the reproducers.
-
Nico Weber authored
-
Alex Langford authored
In commit 5eaf44f9 I removed the last instance of TypeSystemClang from ValueObject, so the header is no longer needed.
-
Benjamin Kramer authored
-
Benjamin Kramer authored
-
Eli Friedman authored
Previously, the enums didn't account for all the possible cases, which could cause misleading results (particularly for a "switch" on FunctionModRefBehavior). Fixes regression in polly from recent patch to add writeonly to memset. While I'm here, also fix a few dubious uses of the FMRB_* enum values. Differential Revision: https://reviews.llvm.org/D73154
-
Benjamin Kramer authored
-
Benjamin Kramer authored
-
Nate Voorhies authored
Summary: Ninja is no longer an experimental tool, documentation changed to reflect this. Reviewers: nikola Reviewed By: nikola Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D73567
-
Jonas Devlieghere authored
-
Benjamin Kramer authored
-
Francis Visoiu Mistrih authored
-