forked from OSchip/llvm-project
parent
4869f3700e
commit
49952645c8
|
@ -4,7 +4,7 @@
|
|||
; not be able to eliminate the load itself, without licm's help. This is
|
||||
; because, for GCSE, the load is killed by the dummy basic block.
|
||||
|
||||
; RUN: if as < %s | opt -basicaa -licm -gcse -simplifycfg -instcombine | dis | grep ToRemove
|
||||
; RUN: if as < %s | opt -basicaa -licm -load-vn -gcse -instcombine | dis | grep ToRemove
|
||||
; RUN: then exit 1
|
||||
; RUN: else exit 0
|
||||
; RUN: fi
|
||||
|
@ -14,10 +14,10 @@
|
|||
implementation
|
||||
|
||||
int %test(bool %c) {
|
||||
%ToRemove = load int* %A
|
||||
br label %Loop
|
||||
Loop:
|
||||
%Atmp = load int* %A
|
||||
br bool %c, label %Dummy, label %Loop
|
||||
Loop:
|
||||
%ToRemove = load int* %A
|
||||
store int %Atmp, int* %B ; Store cannot alias %A
|
||||
|
||||
br bool %c, label %Out, label %Loop
|
||||
|
|
Loading…
Reference in New Issue