llvm-project/llvm/test
Vedant Kumar 8359511c62 [CodeExtractor] Remove stale llvm.assume calls from extracted region
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
2020-01-28 17:18:01 -08:00
..
Analysis Support zero size types in StackSafetyAnalysis. 2020-01-27 15:22:59 -08:00
Assembler [IR] masked gather/scatter alignment should be set 2020-01-26 18:51:36 +01:00
Bindings Move the sysroot attribute from DIModule to DICompileUnit 2020-01-17 12:55:40 -08:00
Bitcode [SVE] Pass Scalable argument to VectorType::get in Bitcode Reader 2020-01-22 12:29:25 -08:00
BugPoint
CodeGen [WebAssembly] Preserve debug frame base information through register coloring 2020-01-28 16:58:15 -08:00
DebugInfo [llvm] Fix broken cases of 'CHECK[^:]*$' in tests 2020-01-28 09:52:59 -07:00
Demangle
Examples Re-apply "[Examples] Add IRTransformations directory to examples." 2020-01-04 15:47:23 +00:00
ExecutionEngine [ORC] Add support for emulated TLS to ORCv2. 2020-01-21 19:55:33 -08:00
Feature [IR] Keep a double break between functions when printing a module 2020-01-27 15:31:09 -08:00
FileCheck FileCheck [9/12]: Add support for matching formats 2020-01-24 14:15:28 +00:00
Instrumentation [Instrumentation] Set hidden visibility for the bias variable 2020-01-28 12:07:03 -08:00
Integer
JitListener
LTO Revert "[Support] make report_fatal_error `abort` instead of `exit`" 2020-01-15 17:52:25 -08:00
Linker
MC [PowerPC][Future] Add pld and pstd to future CPU 2020-01-28 08:23:29 -06:00
MachineVerifier Revert "[Support] make report_fatal_error `abort` instead of `exit`" 2020-01-15 17:52:25 -08:00
Object [llvm-readobj][test] - Remove --symbols --dyn-syms part from Object/readobj-shared-object.test. 2020-01-28 12:36:29 +03:00
ObjectYAML [DWARF] Return Error from DWARFDebugArangeSet::extract(). 2020-01-23 12:41:05 +07:00
Other [instrinsics] Add @llvm.memcpy.inline instrinsics 2020-01-28 09:42:01 +01:00
Reduce
SafepointIRVerifier
Support
SymbolRewriter
TableGen TableGen/GlobalISel: Handle non-leaf EXTRACT_SUBREG 2020-01-24 12:15:10 -08:00
ThinLTO/X86 Restore "[LTO/WPD] Enable aggressive WPD under LTO option" 2020-01-27 07:55:05 -08:00
Transforms [CodeExtractor] Remove stale llvm.assume calls from extracted region 2020-01-28 17:18:01 -08:00
Unit
Verifier [instrinsics] Add @llvm.memcpy.inline instrinsics 2020-01-28 09:42:01 +01:00
YAMLParser
tools llvm-symbolizer test: Add a bit of extra detail on how to compile/reproduce this 2020-01-28 11:07:47 -08:00
.clang-format
CMakeLists.txt [ms] [llvm-ml] Add placeholder for llvm-ml, based on llvm-mc 2020-01-20 09:19:10 -05:00
TestRunner.sh
lit.cfg.py [test] On Mac, don't try to use result of sysctl command if calling it failed. 2020-01-20 10:04:06 +00:00
lit.site.cfg.py.in Use llvm_canonicalize_cmake_booleans where intended 2020-01-03 15:42:35 +01:00