diff options
| author | Chris Lattner <sabre@nondot.org> | 2003-12-19 09:08:15 +0000 | 
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2003-12-19 09:08:15 +0000 | 
| commit | b141a2aca64b991ed6bc8332d9f5f87b98e76705 (patch) | |
| tree | 7c6e0b743dce2d7e95564fed981b1b6fca75b579 | |
| parent | b8b9163a2f37201d973b576e75f5f24b2d9c878c (diff) | |
| download | bcm5719-llvm-b141a2aca64b991ed6bc8332d9f5f87b98e76705.tar.gz bcm5719-llvm-b141a2aca64b991ed6bc8332d9f5f87b98e76705.zip  | |
New testcase for missed optimization
llvm-svn: 10538
| -rw-r--r-- | llvm/test/Regression/Transforms/ADCE/2003-12-19-MergeReturn.llx | 28 | 
1 files changed, 28 insertions, 0 deletions
diff --git a/llvm/test/Regression/Transforms/ADCE/2003-12-19-MergeReturn.llx b/llvm/test/Regression/Transforms/ADCE/2003-12-19-MergeReturn.llx new file mode 100644 index 00000000000..541f2abe976 --- /dev/null +++ b/llvm/test/Regression/Transforms/ADCE/2003-12-19-MergeReturn.llx @@ -0,0 +1,28 @@ +; 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()  | 

