[Hexagon] Run late copy propagation and dead code elimination passes
llvm-svn: 323346
diff --git a/llvm/test/CodeGen/Hexagon/regalloc-block-overlap.ll b/llvm/test/CodeGen/Hexagon/regalloc-block-overlap.ll
index 2dc9a7a..c4f4901 100644
--- a/llvm/test/CodeGen/Hexagon/regalloc-block-overlap.ll
+++ b/llvm/test/CodeGen/Hexagon/regalloc-block-overlap.ll
@@ -16,9 +16,9 @@
declare <64 x i32> @llvm.hexagon.V6.vlutvwh.128B(<32 x i32>, <32 x i32>, i32) #1
declare <64 x i32> @llvm.hexagon.V6.vlutvwh.oracc.128B(<64 x i32>, <32 x i32>, <32 x i32>, i32) #1
-define hidden void @fred() #0 {
+define hidden void @fred(<32 x i32>* %a0, i32 %a1) #0 {
b0:
- %v1 = ashr i32 undef, 7
+ %v1 = ashr i32 %a1, 7
%v2 = shl nsw i32 %v1, 7
switch i32 undef, label %b7 [
i32 1, label %b3
@@ -80,7 +80,8 @@
br label %b19
b19: ; preds = %b18
- br i1 undef, label %b20, label %b21
+ %v21 = icmp sgt i32 %a1, 0
+ br i1 %v21, label %b20, label %b21
b20: ; preds = %b19
br label %b32
@@ -90,7 +91,7 @@
%v23 = lshr i64 %v22, 31
%v24 = shl nuw nsw i64 %v23, 1
%v25 = or i64 %v24, 0
- %v26 = icmp ult i64 undef, 2147483648
+ %v26 = icmp ult i64 %v23, 2147483648
%v27 = mul nuw nsw i64 %v25, 3
%v28 = add nuw nsw i64 %v27, 0
%v29 = and i64 %v28, 133143986176
@@ -134,7 +135,7 @@
%v52 = tail call <64 x i32> @llvm.hexagon.V6.vaddw.dv.128B(<64 x i32> %v51, <64 x i32> undef) #2
%v53 = tail call <32 x i32> @llvm.hexagon.V6.hi.128B(<64 x i32> %v52) #2
%v54 = tail call <32 x i32> @llvm.hexagon.V6.vasrwhsat.128B(<32 x i32> %v53, <32 x i32> undef, i32 15) #2
- store <32 x i32> %v54, <32 x i32>* undef, align 128
+ store <32 x i32> %v54, <32 x i32>* %a0, align 128
br label %b39
}