mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-18 12:29:21 +00:00
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32115 91177308-0d34-0410-b5e6-96231b3b80d8
29 lines
747 B
Plaintext
29 lines
747 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-upgrade < %s | llvm-as | 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()
|