1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py 2; RUN: llc < %s -mtriple=i686-- | FileCheck %s 3; PR4699 4 5; Handle this extractvalue-of-extractvalue case without getting in 6; trouble with CSE in DAGCombine. 7 8 %cc = type { %crd } 9 %cr = type { i32 } 10 %crd = type { i64, %cr* } 11 %pp = type { %cc } 12 13define fastcc void @foo(%pp* nocapture byval(%pp) %p_arg) { 14; CHECK-LABEL: foo: 15; CHECK: # %bb.0: # %entry 16; CHECK-NEXT: retl 17entry: 18 %tmp2 = getelementptr %pp, %pp* %p_arg, i64 0, i32 0 ; <%cc*> [#uses= 19 %tmp3 = load %cc, %cc* %tmp2 ; <%cc> [#uses=1] 20 %tmp34 = extractvalue %cc %tmp3, 0 ; <%crd> [#uses=1] 21 %tmp345 = extractvalue %crd %tmp34, 0 ; <i64> [#uses=1] 22 %.ptr.i = load %cr*, %cr** undef ; <%cr*> [#uses=0] 23 %tmp15.i = shl i64 %tmp345, 3 ; <i64> [#uses=0] 24 store %cr* undef, %cr** undef 25 ret void 26} 27 28 29