mirror of
https://github.com/RPCS3/llvm.git
synced 2025-01-19 08:24:12 +00:00
New files, testing for a crash in ADCE compiling QT and a missed optimization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20226 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
2352fec205
commit
ae02b723bf
49
test/Transforms/ADCE/2005-02-17-PHI-Invoke-Crash.ll
Normal file
49
test/Transforms/ADCE/2005-02-17-PHI-Invoke-Crash.ll
Normal file
@ -0,0 +1,49 @@
|
||||
; RUN: llvm-as < %s | opt -adce -disable-output
|
||||
|
||||
implementation ; Functions:
|
||||
|
||||
declare { }* %llvm.dbg.region.end({ }*)
|
||||
|
||||
declare void %strlen()
|
||||
|
||||
declare void %_ZN10QByteArray6resizeEi()
|
||||
|
||||
declare void %q_atomic_decrement()
|
||||
|
||||
void %_ZNK10QByteArray13leftJustifiedEicb() {
|
||||
entry:
|
||||
invoke void %strlen( )
|
||||
to label %tmp.3.i.noexc unwind label %invoke_catch.0
|
||||
|
||||
tmp.3.i.noexc: ; preds = %entry
|
||||
br bool false, label %then.0, label %else.0
|
||||
|
||||
invoke_catch.0: ; preds = %entry
|
||||
invoke void %q_atomic_decrement( )
|
||||
to label %tmp.1.i.i183.noexc unwind label %terminate
|
||||
|
||||
tmp.1.i.i183.noexc: ; preds = %invoke_catch.0
|
||||
unwind
|
||||
|
||||
then.0: ; preds = %tmp.3.i.noexc
|
||||
invoke void %_ZN10QByteArray6resizeEi( )
|
||||
to label %invoke_cont.1 unwind label %invoke_catch.1
|
||||
|
||||
invoke_catch.1: ; preds = %then.0
|
||||
invoke void %q_atomic_decrement( )
|
||||
to label %tmp.1.i.i162.noexc unwind label %terminate
|
||||
|
||||
tmp.1.i.i162.noexc: ; preds = %invoke_catch.1
|
||||
ret void
|
||||
|
||||
invoke_cont.1: ; preds = %then.0
|
||||
ret void
|
||||
|
||||
else.0: ; preds = %tmp.3.i.noexc
|
||||
ret void
|
||||
|
||||
terminate: ; preds = %invoke_catch.1, %invoke_catch.0
|
||||
%dbg.0.1 = phi { }* [ null, %invoke_catch.1 ], [ null, %invoke_catch.0 ] ; <{ }*> [#uses=1]
|
||||
%dbg.tmp.43 = call { }* %llvm.dbg.region.end( { }* %dbg.0.1 ) ; <{ }*> [#uses=0]
|
||||
unreachable
|
||||
}
|
15
test/Transforms/ADCE/dead-phi-edge.ll
Normal file
15
test/Transforms/ADCE/dead-phi-edge.ll
Normal file
@ -0,0 +1,15 @@
|
||||
; RUN: llvm-as < %s | opt -adce | llvm-dis | not grep call
|
||||
|
||||
; The call is not live just because the PHI uses the call retval!
|
||||
|
||||
int %test(int %X) {
|
||||
br label %Done
|
||||
|
||||
DeadBlock:
|
||||
%Y = call int %test(int 0)
|
||||
br label %Done
|
||||
|
||||
Done:
|
||||
%Z = phi int [%X, %0], [%Y, %DeadBlock]
|
||||
ret int %Z
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user