1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 19:12:56 +02:00
llvm-mirror/test/Transforms/EarlyCSE
Juneyoung Lee 274ef2efad Let EarlyCSE fold equivalent freeze instructions
Summary:
This patch makes EarlyCSE fold equivalent freeze instructions.

Another optimization that I think will be useful is to remove freeze if its operand is used as a branch condition or at llvm.assume:

```
  %c = ...
  br i1 %c, label %A, ..
A:
  %d = freeze %c ; %d can be optimized to %c because %c cannot be poison or undef (or 'br %c' would be UB otherwise)
```

If it make sense for EarlyCSE to support this as well, I will make a patch for this.

Reviewers: spatel, reames, lebedev.ri

Reviewed By: lebedev.ri

Subscribers: lebedev.ri, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D75334
2020-02-28 20:35:20 +09:00
..
AArch64
AMDGPU Move target tests to target subdirectories 2020-01-31 15:27:18 -08:00
PowerPC Move target tests to target subdirectories 2020-01-31 15:27:18 -08:00
X86 Move target tests to target subdirectories 2020-01-31 15:27:18 -08:00
and_or.ll
atomics.ll
basic.ll Let EarlyCSE fold equivalent freeze instructions 2020-02-28 20:35:20 +09:00
commute.ll [EarlyCSE] avoid crashing when detecting min/max/abs patterns (PR41083) 2020-02-10 17:25:34 -05:00
conditional.ll
const-speculation.ll
debug-info-undef.ll Reapply: [DebugInfo] Correctly handle salvaged casts and split fragments at ISel 2019-12-18 16:26:42 +00:00
debuginfo-dce.ll
edge.ll
fence.ll
flags.ll
floatingpoint.ll
globalsaa-memoryssa.ll
guards.ll
instsimplify-dom.ll
int_sideeffect.ll
invariant-loads.ll
invariant.start.ll
memoryssa.ll
pr33406.ll
readnone-mayunwind.ll
writeonly.ll