Mercurial > hg > CbC > CbC_llvm
comparison test/CodeGen/X86/extract-extract.ll @ 0:95c75e76d11b LLVM3.4
LLVM 3.4
author | Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 12 Dec 2013 13:56:28 +0900 |
parents | |
children | afa8332a0e37 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:95c75e76d11b |
---|---|
1 ; RUN: llc < %s -march=x86 >/dev/null | |
2 ; PR4699 | |
3 | |
4 ; Handle this extractvalue-of-extractvalue case without getting in | |
5 ; trouble with CSE in DAGCombine. | |
6 | |
7 %cc = type { %crd } | |
8 %cr = type { i32 } | |
9 %crd = type { i64, %cr* } | |
10 %pp = type { %cc } | |
11 | |
12 define fastcc void @foo(%pp* nocapture byval %p_arg) { | |
13 entry: | |
14 %tmp2 = getelementptr %pp* %p_arg, i64 0, i32 0 ; <%cc*> [#uses= | |
15 %tmp3 = load %cc* %tmp2 ; <%cc> [#uses=1] | |
16 %tmp34 = extractvalue %cc %tmp3, 0 ; <%crd> [#uses=1] | |
17 %tmp345 = extractvalue %crd %tmp34, 0 ; <i64> [#uses=1] | |
18 %.ptr.i = load %cr** undef ; <%cr*> [#uses=0] | |
19 %tmp15.i = shl i64 %tmp345, 3 ; <i64> [#uses=0] | |
20 store %cr* undef, %cr** undef | |
21 ret void | |
22 } | |
23 | |
24 |