mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-09-14 20:57:01 +00:00
7fe178681b
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10538 91177308-0d34-0410-b5e6-96231b3b80d8
29 lines
732 B
Plaintext
29 lines
732 B
Plaintext
; This testcase was failing because without merging the return blocks, ADCE
|
|
; didn't know that it could get rid of the then.0 block.
|
|
|
|
; RUN: llvm-as < %s | opt -adce | llvm-dis | not grep load
|
|
|
|
|
|
implementation ; Functions:
|
|
|
|
void %main(uint %argc, sbyte** %argv) {
|
|
entry:
|
|
call void %__main( )
|
|
%tmp.1 = setle uint %argc, 5 ; <bool> [#uses=1]
|
|
br bool %tmp.1, label %then.0, label %return
|
|
|
|
then.0: ; preds = %entry
|
|
%tmp.8 = load sbyte** %argv ; <sbyte*> [#uses=1]
|
|
%tmp.10 = load sbyte* %tmp.8 ; <sbyte> [#uses=1]
|
|
%tmp.11 = seteq sbyte %tmp.10, 98 ; <bool> [#uses=1]
|
|
br bool %tmp.11, label %then.1, label %return
|
|
|
|
then.1: ; preds = %then.0
|
|
ret void
|
|
|
|
return: ; preds = %entry, %then.0
|
|
ret void
|
|
}
|
|
|
|
declare void %__main()
|