1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00
llvm-mirror/test
Nikita Popov 8eac42b1cf [Inline] Fix noalias addition on simplified instructions (PR50589)
When adding noalias/alias.scope metadata, we analyze the instructions
of the original callee, and then place metadata on the corresponding
inlined instructions in the caller as provided by VMap. However, this
assumes that this actually a clone of the instruction, rather than
the result of simplification. If simplification occurred, the
instruction that VMap points to may not have any relationship as far
as ModRef behavior is concerned.

Fix this by tracking simplified instructions during cloning and then
only processing instructions that have not been simplified. This is
done with an additional map form original to cloned instruction,
into which we only insert if no simplification is performed. The
mapping in VMap can then be compared to this map. If they're the
same, the instruction hasn't been simplified. (I originally wanted
to only track a set of simplified instructions, but that wouldn't
work if the instruction only gets simplified afterwards, e.g. based
on rewritten phis.)

Fixes https://bugs.llvm.org/show_bug.cgi?id=50589.

Differential Revision: https://reviews.llvm.org/D106242
2021-07-20 19:52:41 +02:00
..
Analysis [tests] Add a couple of tests for zero stride trip counts w/loop varying exit values 2021-07-19 16:33:10 -07:00
Assembler
Bindings
Bitcode [BPF] Use elementtype attribute for preserve.array/struct.index intrinsics 2021-07-17 11:09:18 +02:00
BugPoint
CodeGen [RISCV] Teach RISCVMatInt about cases where it can use LUI+SLLI to replace LUI+ADDI+SLLI for large constants. 2021-07-20 09:22:06 -07:00
DebugInfo [test] Avoid llvm-symbolizer/llvm-addr2line one-dash long options 2021-07-20 09:34:35 -07:00
Demangle
Examples
ExecutionEngine [ORC] Remove LLVM-side MachO Platform runtime support. 2021-07-17 14:25:31 +10:00
Feature
FileCheck
Instrumentation Revert "[hwasan] Use stack safety analysis." 2021-07-20 10:36:46 +01:00
Integer
JitListener
Linker
LTO
MachineVerifier
MC [RISCV] Teach RISCVMatInt about cases where it can use LUI+SLLI to replace LUI+ADDI+SLLI for large constants. 2021-07-20 09:22:06 -07:00
Object
ObjectYAML
Other [NewPM] Print pre-transformation IR name in --print-after-all 2021-07-20 10:20:10 -07:00
SafepointIRVerifier
Support
SymbolRewriter
TableGen
ThinLTO/X86 ThinLTO: Fix inline assembly references to static functions with CFI 2021-07-20 10:30:02 -07:00
tools [test] Avoid llvm-symbolizer/llvm-addr2line one-dash long options 2021-07-20 09:34:35 -07:00
Transforms [Inline] Fix noalias addition on simplified instructions (PR50589) 2021-07-20 19:52:41 +02:00
Unit
Verifier [BPF] Use elementtype attribute for preserve.array/struct.index intrinsics 2021-07-17 11:09:18 +02:00
YAMLParser
.clang-format
CMakeLists.txt [ifs][elfabi] Merge llvm-ifs/elfabi tools 2021-07-19 11:23:19 -07:00
lit.cfg.py Reland [Orc] Add verylazy example for C-bindings 2021-07-18 21:17:49 +02:00
lit.site.cfg.py.in
TestRunner.sh