diff options
| author | Sanjoy Das <sanjoy@playingwithpointers.com> | 2016-04-29 22:23:16 +0000 |
|---|---|---|
| committer | Sanjoy Das <sanjoy@playingwithpointers.com> | 2016-04-29 22:23:16 +0000 |
| commit | 107aefc2fc7c93d76c0c0eb35b1b36ff9fb92333 (patch) | |
| tree | 3999dac796935052415babd52b8cdd3a5fce2c81 /llvm/test/Transforms | |
| parent | aa8dfe9fb311682e52aded7146c6ef16ae6d645e (diff) | |
| download | bcm5719-llvm-107aefc2fc7c93d76c0c0eb35b1b36ff9fb92333.tar.gz bcm5719-llvm-107aefc2fc7c93d76c0c0eb35b1b36ff9fb92333.zip | |
Mark guards on true as "trivially dead"
This moves some logic added to EarlyCSE in rL268120 into
`llvm::isInstructionTriviallyDead`. Adds a test case for DCE to
demonstrate that passes other than EarlyCSE can now pick up on the new
information.
llvm-svn: 268126
Diffstat (limited to 'llvm/test/Transforms')
| -rw-r--r-- | llvm/test/Transforms/DCE/guards.ll | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/llvm/test/Transforms/DCE/guards.ll b/llvm/test/Transforms/DCE/guards.ll new file mode 100644 index 00000000000..d39c44058a7 --- /dev/null +++ b/llvm/test/Transforms/DCE/guards.ll @@ -0,0 +1,11 @@ +; RUN: opt -dce -S < %s | FileCheck %s + +declare void @llvm.experimental.guard(i1,...) + +define void @f(i32 %val) { +; CHECK-LABEL: @f( +; CHECK-NEXT: ret void + %val2 = add i32 %val, 1 + call void(i1, ...) @llvm.experimental.guard(i1 true) [ "deopt"(i32 %val2) ] + ret void +} |

