llvm-project/llvm/lib
Max Kazantsev a13e163a27 [RewriteStatepoints] Fix incorrect assertion
`RewriteStatepointsForGC` iterates over function blocks and their predecessors
in order of declaration. One of outcomes of this is that callsites are placed in
arbitrary order which has nothing to do with travelsar order.

On the other hand, function `recomputeLiveInValues` asserts that bases are
added to `Info.PointerToBase` before their deried pointers are updated. But
if call sites are processed in order different from RPOT, this is not necessarily
true. We cannot guarantee that the base was placed there before every
pointer derived from it. All we can guarantee is that this base was marked as
known base by this point.

This patch replaces the fact that we assert from checking that the base was
added to the map with assert that the base was marked as known base.

Differential Revision: https://reviews.llvm.org/D41593

llvm-svn: 321517
2017-12-28 12:03:12 +00:00
..
Analysis Revert "[memcpyopt] Teach memcpyopt to optimize across basic blocks" 2017-12-28 05:10:33 +00:00
AsmParser
BinaryFormat
Bitcode Add hasProfileData() to check if a function has profile data. NFC. 2017-12-22 01:33:52 +00:00
CodeGen [DAGCombine] foldBinOpIntoSelect can fail to constant fold in some cases. 2017-12-27 11:36:18 +00:00
DebugInfo Rewrite the cached map used for locating the most precise DIE among 2017-12-22 06:41:23 +00:00
Demangle Silence a bunch of implicit fallthrough warnings 2017-12-19 22:05:25 +00:00
ExecutionEngine
FuzzMutate [FuzzMutate] Don't crash when mutator is unable to find operation 2017-12-19 08:52:51 +00:00
Fuzzer
IR [SafepointIRVerifier] Allow non-dereferencing uses of unrelocated or poisoned PHI nodes 2017-12-25 09:35:10 +00:00
IRReader
LTO Fix more inconsistent line endings. NFC. 2017-12-18 19:46:56 +00:00
LineEditor
Linker
MC [MC] - Disallow invalid section groups declarations. 2017-12-25 09:41:00 +00:00
Object [WebAssembly] Remove unneeded sub-directory 2017-12-21 03:16:34 +00:00
ObjectYAML [WebAssembly] Remove unneeded sub-directory 2017-12-21 03:16:34 +00:00
Option
Passes (Re-landing) Expose a TargetMachine::getTargetTransformInfo function 2017-12-22 18:21:59 +00:00
ProfileData
Support Improve performance TokenizeWindowsCommandLine 2017-12-27 08:59:52 +00:00
TableGen
Target [X86][SSE] Use PMADDWD for v4i32 multiplies with 17 or more leading zeros 2017-12-28 10:05:49 +00:00
Testing
ToolDrivers
Transforms [RewriteStatepoints] Fix incorrect assertion 2017-12-28 12:03:12 +00:00
WindowsManifest
XRay
CMakeLists.txt
LLVMBuild.txt