[llvm] 36ec97a - [CostModel] Convert some tests to opaque pointers (NFC)
Nikita Popov via llvm-commits
llvm-commits at lists.llvm.org
Thu Dec 15 00:58:48 PST 2022
Author: Nikita Popov
Date: 2022-12-15T09:57:59+01:00
New Revision: 36ec97a5754349b0269348b249cf22dfcfbd9d7f
URL: https://github.com/llvm/llvm-project/commit/36ec97a5754349b0269348b249cf22dfcfbd9d7f
DIFF: https://github.com/llvm/llvm-project/commit/36ec97a5754349b0269348b249cf22dfcfbd9d7f.diff
LOG: [CostModel] Convert some tests to opaque pointers (NFC)
These required some manual fixup.
Added:
Modified:
llvm/test/Analysis/CostModel/SystemZ/intrinsic-cost-crash.ll
llvm/test/Analysis/CostModel/X86/loop_v2-inseltpoison.ll
llvm/test/Analysis/CostModel/X86/loop_v2.ll
llvm/test/Analysis/CostModel/X86/vectorized-loop.ll
Removed:
################################################################################
diff --git a/llvm/test/Analysis/CostModel/SystemZ/intrinsic-cost-crash.ll b/llvm/test/Analysis/CostModel/SystemZ/intrinsic-cost-crash.ll
index 866bd9e4bcb1..d8a864a85ed5 100644
--- a/llvm/test/Analysis/CostModel/SystemZ/intrinsic-cost-crash.ll
+++ b/llvm/test/Analysis/CostModel/SystemZ/intrinsic-cost-crash.ll
@@ -3,34 +3,34 @@
; Regression test for a crash in getIntrinsicInstrCost().
; Don't call getScalarizationOverhead(RetTy, true, false) if RetTy is void type.
-%"class.llvm::SDNode.310.1762.9990.10474.10958.11442.11926.12410.12894.13378.13862.15314.15798.16282.17734.19186.21122.25962.26930.29350.29834.30318.30802.31286.31770.32254.32738.33706.36610.38062.41642" = type <{ %"class.llvm::FoldingSetImpl::Node.298.1750.9978.10462.10946.11430.11914.12398.12882.13366.13850.15302.15786.16270.17722.19174.21110.25950.26918.29338.29822.30306.30790.31274.31758.32242.32726.33694.36598.38050.41625", %"class.llvm::ilist_node.228.300.1752.9980.10464.10948.11432.11916.12400.12884.13368.13852.15304.15788.16272.17724.19176.21112.25952.26920.29340.29824.30308.30792.31276.31760.32244.32728.33696.36600.38052.41628", i16, %union.anon.230.302.1754.9982.10466.10950.11434.11918.12402.12886.13370.13854.15306.15790.16274.17726.19178.21114.25954.26922.29342.29826.30310.30794.31278.31762.32246.32730.33698.36602.38054.41630, i32, %"class.llvm::SDUse.304.1756.9984.10468.10952.11436.11920.12404.12888.13372.13856.15308.15792.16276.17728.19180.21116.25956.26924.29344.29828.30312.30796.31280.31764.32248.32732.33700.36604.38056.41632"*, %"struct.llvm::EVT.305.1757.9985.10469.10953.11437.11921.12405.12889.13373.13857.15309.15793.16277.17729.19181.21117.25957.26925.29345.29829.30313.30797.31281.31765.32249.32733.33701.36605.38057.41637"*, %"class.llvm::SDUse.304.1756.9984.10468.10952.11436.11920.12404.12888.13372.13856.15308.15792.16276.17728.19180.21116.25956.26924.29344.29828.30312.30796.31280.31764.32248.32732.33700.36604.38056.41632"*, i16, i16, i32, %"class.llvm::DebugLoc.309.1761.9989.10473.10957.11441.11925.12409.12893.13377.13861.15313.15797.16281.17733.19185.21121.25961.26929.29349.29833.30317.30801.31285.31769.32253.32737.33705.36609.38061.41641", i16, [6 x i8] }>
-%"class.llvm::FoldingSetImpl::Node.298.1750.9978.10462.10946.11430.11914.12398.12882.13366.13850.15302.15786.16270.17722.19174.21110.25950.26918.29338.29822.30306.30790.31274.31758.32242.32726.33694.36598.38050.41625" = type { i8* }
+%"class.llvm::SDNode.310.1762.9990.10474.10958.11442.11926.12410.12894.13378.13862.15314.15798.16282.17734.19186.21122.25962.26930.29350.29834.30318.30802.31286.31770.32254.32738.33706.36610.38062.41642" = type <{ %"class.llvm::FoldingSetImpl::Node.298.1750.9978.10462.10946.11430.11914.12398.12882.13366.13850.15302.15786.16270.17722.19174.21110.25950.26918.29338.29822.30306.30790.31274.31758.32242.32726.33694.36598.38050.41625", %"class.llvm::ilist_node.228.300.1752.9980.10464.10948.11432.11916.12400.12884.13368.13852.15304.15788.16272.17724.19176.21112.25952.26920.29340.29824.30308.30792.31276.31760.32244.32728.33696.36600.38052.41628", i16, %union.anon.230.302.1754.9982.10466.10950.11434.11918.12402.12886.13370.13854.15306.15790.16274.17726.19178.21114.25954.26922.29342.29826.30310.30794.31278.31762.32246.32730.33698.36602.38054.41630, i32, ptr, ptr, ptr, i16, i16, i32, %"class.llvm::DebugLoc.309.1761.9989.10473.10957.11441.11925.12409.12893.13377.13861.15313.15797.16281.17733.19185.21121.25961.26929.29349.29833.30317.30801.31285.31769.32253.32737.33705.36609.38061.41641", i16, [6 x i8] }>
+%"class.llvm::FoldingSetImpl::Node.298.1750.9978.10462.10946.11430.11914.12398.12882.13366.13850.15302.15786.16270.17722.19174.21110.25950.26918.29338.29822.30306.30790.31274.31758.32242.32726.33694.36598.38050.41625" = type { ptr }
%"class.llvm::ilist_node.228.300.1752.9980.10464.10948.11432.11916.12400.12884.13368.13852.15304.15788.16272.17724.19176.21112.25952.26920.29340.29824.30308.30792.31276.31760.32244.32728.33696.36600.38052.41628" = type { %"class.llvm::ilist_node_impl.229.299.1751.9979.10463.10947.11431.11915.12399.12883.13367.13851.15303.15787.16271.17723.19175.21111.25951.26919.29339.29823.30307.30791.31275.31759.32243.32727.33695.36599.38051.41627" }
%"class.llvm::ilist_node_impl.229.299.1751.9979.10463.10947.11431.11915.12399.12883.13367.13851.15303.15787.16271.17723.19175.21111.25951.26919.29339.29823.30307.30791.31275.31759.32243.32727.33695.36599.38051.41627" = type { %"class.llvm::ilist_node_base.83.1535.9763.10247.10731.11215.11699.12183.12667.13151.13635.15087.15571.16055.17507.18959.20895.25735.26703.29123.29607.30091.30575.31059.31543.32027.32511.33479.36383.37835.41626" }
-%"class.llvm::ilist_node_base.83.1535.9763.10247.10731.11215.11699.12183.12667.13151.13635.15087.15571.16055.17507.18959.20895.25735.26703.29123.29607.30091.30575.31059.31543.32027.32511.33479.36383.37835.41626" = type { %"class.llvm::ilist_node_base.83.1535.9763.10247.10731.11215.11699.12183.12667.13151.13635.15087.15571.16055.17507.18959.20895.25735.26703.29123.29607.30091.30575.31059.31543.32027.32511.33479.36383.37835.41626"*, %"class.llvm::ilist_node_base.83.1535.9763.10247.10731.11215.11699.12183.12667.13151.13635.15087.15571.16055.17507.18959.20895.25735.26703.29123.29607.30091.30575.31059.31543.32027.32511.33479.36383.37835.41626"* }
+%"class.llvm::ilist_node_base.83.1535.9763.10247.10731.11215.11699.12183.12667.13151.13635.15087.15571.16055.17507.18959.20895.25735.26703.29123.29607.30091.30575.31059.31543.32027.32511.33479.36383.37835.41626" = type { ptr, ptr }
%union.anon.230.302.1754.9982.10466.10950.11434.11918.12402.12886.13370.13854.15306.15790.16274.17726.19178.21114.25954.26922.29342.29826.30310.30794.31278.31762.32246.32730.33698.36602.38054.41630 = type { %"class.llvm::SDNode::LSBaseSDNodeBitfields.301.1753.9981.10465.10949.11433.11917.12401.12885.13369.13853.15305.15789.16273.17725.19177.21113.25953.26921.29341.29825.30309.30793.31277.31761.32245.32729.33697.36601.38053.41629" }
%"class.llvm::SDNode::LSBaseSDNodeBitfields.301.1753.9981.10465.10949.11433.11917.12401.12885.13369.13853.15305.15789.16273.17725.19177.21113.25953.26921.29341.29825.30309.30793.31277.31761.32245.32729.33697.36601.38053.41629" = type { i16 }
-%"struct.llvm::EVT.305.1757.9985.10469.10953.11437.11921.12405.12889.13373.13857.15309.15793.16277.17729.19181.21117.25957.26925.29345.29829.30313.30797.31281.31765.32249.32733.33701.36605.38057.41637" = type { %"class.llvm::MVT.62.1514.9742.10226.10710.11194.11678.12162.12646.13130.13614.15066.15550.16034.17486.18938.20874.25714.26682.29102.29586.30070.30554.31038.31522.32006.32490.33458.36362.37814.41633", %"class.llvm::Type.77.1529.9757.10241.10725.11209.11693.12177.12661.13145.13629.15081.15565.16049.17501.18953.20889.25729.26697.29117.29601.30085.30569.31053.31537.32021.32505.33473.36377.37829.41636"* }
+%"struct.llvm::EVT.305.1757.9985.10469.10953.11437.11921.12405.12889.13373.13857.15309.15793.16277.17729.19181.21117.25957.26925.29345.29829.30313.30797.31281.31765.32249.32733.33701.36605.38057.41637" = type { %"class.llvm::MVT.62.1514.9742.10226.10710.11194.11678.12162.12646.13130.13614.15066.15550.16034.17486.18938.20874.25714.26682.29102.29586.30070.30554.31038.31522.32006.32490.33458.36362.37814.41633", ptr }
%"class.llvm::MVT.62.1514.9742.10226.10710.11194.11678.12162.12646.13130.13614.15066.15550.16034.17486.18938.20874.25714.26682.29102.29586.30070.30554.31038.31522.32006.32490.33458.36362.37814.41633" = type { i8 }
-%"class.llvm::Type.77.1529.9757.10241.10725.11209.11693.12177.12661.13145.13629.15081.15565.16049.17501.18953.20889.25729.26697.29117.29601.30085.30569.31053.31537.32021.32505.33473.36377.37829.41636" = type { %"class.llvm::LLVMContext.76.1528.9756.10240.10724.11208.11692.12176.12660.13144.13628.15080.15564.16048.17500.18952.20888.25728.26696.29116.29600.30084.30568.31052.31536.32020.32504.33472.36376.37828.41635"*, i32, i32, %"class.llvm::Type.77.1529.9757.10241.10725.11209.11693.12177.12661.13145.13629.15081.15565.16049.17501.18953.20889.25729.26697.29117.29601.30085.30569.31053.31537.32021.32505.33473.36377.37829.41636"** }
-%"class.llvm::LLVMContext.76.1528.9756.10240.10724.11208.11692.12176.12660.13144.13628.15080.15564.16048.17500.18952.20888.25728.26696.29116.29600.30084.30568.31052.31536.32020.32504.33472.36376.37828.41635" = type { %"class.llvm::LLVMContextImpl.75.1527.9755.10239.10723.11207.11691.12175.12659.13143.13627.15079.15563.16047.17499.18951.20887.25727.26695.29115.29599.30083.30567.31051.31535.32019.32503.33471.36375.37827.41634"* }
+%"class.llvm::Type.77.1529.9757.10241.10725.11209.11693.12177.12661.13145.13629.15081.15565.16049.17501.18953.20889.25729.26697.29117.29601.30085.30569.31053.31537.32021.32505.33473.36377.37829.41636" = type { ptr, i32, i32, ptr }
+%"class.llvm::LLVMContext.76.1528.9756.10240.10724.11208.11692.12176.12660.13144.13628.15080.15564.16048.17500.18952.20888.25728.26696.29116.29600.30084.30568.31052.31536.32020.32504.33472.36376.37828.41635" = type { ptr }
%"class.llvm::LLVMContextImpl.75.1527.9755.10239.10723.11207.11691.12175.12659.13143.13627.15079.15563.16047.17499.18951.20887.25727.26695.29115.29599.30083.30567.31051.31535.32019.32503.33471.36375.37827.41634" = type opaque
-%"class.llvm::SDUse.304.1756.9984.10468.10952.11436.11920.12404.12888.13372.13856.15308.15792.16276.17728.19180.21116.25956.26924.29344.29828.30312.30796.31280.31764.32248.32732.33700.36604.38056.41632" = type { %"class.llvm::SDValue.303.1755.9983.10467.10951.11435.11919.12403.12887.13371.13855.15307.15791.16275.17727.19179.21115.25955.26923.29343.29827.30311.30795.31279.31763.32247.32731.33699.36603.38055.41631", %"class.llvm::SDNode.310.1762.9990.10474.10958.11442.11926.12410.12894.13378.13862.15314.15798.16282.17734.19186.21122.25962.26930.29350.29834.30318.30802.31286.31770.32254.32738.33706.36610.38062.41642"*, %"class.llvm::SDUse.304.1756.9984.10468.10952.11436.11920.12404.12888.13372.13856.15308.15792.16276.17728.19180.21116.25956.26924.29344.29828.30312.30796.31280.31764.32248.32732.33700.36604.38056.41632"**, %"class.llvm::SDUse.304.1756.9984.10468.10952.11436.11920.12404.12888.13372.13856.15308.15792.16276.17728.19180.21116.25956.26924.29344.29828.30312.30796.31280.31764.32248.32732.33700.36604.38056.41632"* }
-%"class.llvm::SDValue.303.1755.9983.10467.10951.11435.11919.12403.12887.13371.13855.15307.15791.16275.17727.19179.21115.25955.26923.29343.29827.30311.30795.31279.31763.32247.32731.33699.36603.38055.41631" = type <{ %"class.llvm::SDNode.310.1762.9990.10474.10958.11442.11926.12410.12894.13378.13862.15314.15798.16282.17734.19186.21122.25962.26930.29350.29834.30318.30802.31286.31770.32254.32738.33706.36610.38062.41642"*, i32, [4 x i8] }>
+%"class.llvm::SDUse.304.1756.9984.10468.10952.11436.11920.12404.12888.13372.13856.15308.15792.16276.17728.19180.21116.25956.26924.29344.29828.30312.30796.31280.31764.32248.32732.33700.36604.38056.41632" = type { %"class.llvm::SDValue.303.1755.9983.10467.10951.11435.11919.12403.12887.13371.13855.15307.15791.16275.17727.19179.21115.25955.26923.29343.29827.30311.30795.31279.31763.32247.32731.33699.36603.38055.41631", ptr, ptr, ptr }
+%"class.llvm::SDValue.303.1755.9983.10467.10951.11435.11919.12403.12887.13371.13855.15307.15791.16275.17727.19179.21115.25955.26923.29343.29827.30311.30795.31279.31763.32247.32731.33699.36603.38055.41631" = type <{ ptr, i32, [4 x i8] }>
%"class.llvm::DebugLoc.309.1761.9989.10473.10957.11441.11925.12409.12893.13377.13861.15313.15797.16281.17733.19185.21121.25961.26929.29349.29833.30317.30801.31285.31769.32253.32737.33705.36609.38061.41641" = type { %"class.llvm::TypedTrackingMDRef.308.1760.9988.10472.10956.11440.11924.12408.12892.13376.13860.15312.15796.16280.17732.19184.21120.25960.26928.29348.29832.30316.30800.31284.31768.32252.32736.33704.36608.38060.41640" }
%"class.llvm::TypedTrackingMDRef.308.1760.9988.10472.10956.11440.11924.12408.12892.13376.13860.15312.15796.16280.17732.19184.21120.25960.26928.29348.29832.30316.30800.31284.31768.32252.32736.33704.36608.38060.41640" = type { %"class.llvm::TrackingMDRef.307.1759.9987.10471.10955.11439.11923.12407.12891.13375.13859.15311.15795.16279.17731.19183.21119.25959.26927.29347.29831.30315.30799.31283.31767.32251.32735.33703.36607.38059.41639" }
-%"class.llvm::TrackingMDRef.307.1759.9987.10471.10955.11439.11923.12407.12891.13375.13859.15311.15795.16279.17731.19183.21119.25959.26927.29347.29831.30315.30799.31283.31767.32251.32735.33703.36607.38059.41639" = type { %"class.llvm::Metadata.306.1758.9986.10470.10954.11438.11922.12406.12890.13374.13858.15310.15794.16278.17730.19182.21118.25958.26926.29346.29830.30314.30798.31282.31766.32250.32734.33702.36606.38058.41638"* }
+%"class.llvm::TrackingMDRef.307.1759.9987.10471.10955.11439.11923.12407.12891.13375.13859.15311.15795.16279.17731.19183.21119.25959.26927.29347.29831.30315.30799.31283.31767.32251.32735.33703.36607.38059.41639" = type { ptr }
%"class.llvm::Metadata.306.1758.9986.10470.10954.11438.11922.12406.12890.13374.13858.15310.15794.16278.17730.19182.21118.25958.26926.29346.29830.30314.30798.31282.31766.32250.32734.33702.36606.38058.41638" = type { i8, i8, i16, i32 }
; Function Attrs: argmemonly nounwind
-declare void @llvm.lifetime.end(i64, i8* nocapture) #0
+declare void @llvm.lifetime.end(i64, ptr nocapture) #0
; Function Attrs: nounwind ssp uwtable
-define hidden void @fun(%"class.llvm::SDNode.310.1762.9990.10474.10958.11442.11926.12410.12894.13378.13862.15314.15798.16282.17734.19186.21122.25962.26930.29350.29834.30318.30802.31286.31770.32254.32738.33706.36610.38062.41642"* %N) #1 align 2 {
-; CHECK: *
+define hidden void @fun(ptr %N) #1 align 2 {
+; CHECK: define
entry:
- %NumOperands.i = getelementptr inbounds %"class.llvm::SDNode.310.1762.9990.10474.10958.11442.11926.12410.12894.13378.13862.15314.15798.16282.17734.19186.21122.25962.26930.29350.29834.30318.30802.31286.31770.32254.32738.33706.36610.38062.41642", %"class.llvm::SDNode.310.1762.9990.10474.10958.11442.11926.12410.12894.13378.13862.15314.15798.16282.17734.19186.21122.25962.26930.29350.29834.30318.30802.31286.31770.32254.32738.33706.36610.38062.41642"* %N, i64 0, i32 8
- %0 = load i16, i16* %NumOperands.i, align 8, !tbaa !1
+ %NumOperands.i = getelementptr inbounds %"class.llvm::SDNode.310.1762.9990.10474.10958.11442.11926.12410.12894.13378.13862.15314.15798.16282.17734.19186.21122.25962.26930.29350.29834.30318.30802.31286.31770.32254.32738.33706.36610.38062.41642", ptr %N, i64 0, i32 8
+ %0 = load i16, ptr %NumOperands.i, align 8, !tbaa !1
br i1 undef, label %for.cond.cleanup, label %for.body.lr.ph
for.body.lr.ph: ; preds = %entry
@@ -42,7 +42,7 @@ for.cond.cleanup: ; preds = %for.body, %entry
for.body: ; preds = %for.body, %for.body.lr.ph
%indvars.iv190 = phi i64 [ 0, %for.body.lr.ph ], [ %indvars.iv.next191, %for.body ]
- call void @llvm.lifetime.end(i64 16, i8* nonnull null)
+ call void @llvm.lifetime.end(i64 16, ptr nonnull null)
%indvars.iv.next191 = add nuw nsw i64 %indvars.iv190, 1
%exitcond193 = icmp eq i64 %indvars.iv.next191, %wide.trip.count192
br i1 %exitcond193, label %for.cond.cleanup, label %for.body
diff --git a/llvm/test/Analysis/CostModel/X86/loop_v2-inseltpoison.ll b/llvm/test/Analysis/CostModel/X86/loop_v2-inseltpoison.ll
index 7fc27505c4e0..3e0f4c11aadf 100644
--- a/llvm/test/Analysis/CostModel/X86/loop_v2-inseltpoison.ll
+++ b/llvm/test/Analysis/CostModel/X86/loop_v2-inseltpoison.ll
@@ -3,37 +3,36 @@
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
target triple = "x86_64-apple-macosx10.9.0"
-define i32 @foo(i32* nocapture %A) nounwind uwtable readonly ssp {
+define i32 @foo(ptr nocapture %A) nounwind uwtable readonly ssp {
vector.ph:
br label %vector.body
vector.body: ; preds = %vector.body, %vector.ph
%index = phi i64 [ 0, %vector.ph ], [ %index.next, %vector.body ]
- %vec.phi = phi <2 x i32> [ zeroinitializer, %vector.ph ], [ %12, %vector.body ]
- %0 = getelementptr inbounds i32, i32* %A, i64 %index
- %1 = bitcast i32* %0 to <2 x i32>*
- %2 = load <2 x i32>, <2 x i32>* %1, align 4
- %3 = sext <2 x i32> %2 to <2 x i64>
+ %vec.phi = phi <2 x i32> [ zeroinitializer, %vector.ph ], [ %11, %vector.body ]
+ %0 = getelementptr inbounds i32, ptr %A, i64 %index
+ %1 = load <2 x i32>, ptr %0, align 4
+ %2 = sext <2 x i32> %1 to <2 x i64>
;CHECK: cost of 1 {{.*}} extract
- %4 = extractelement <2 x i64> %3, i32 0
- %5 = getelementptr inbounds i32, i32* %A, i64 %4
+ %3 = extractelement <2 x i64> %2, i32 0
+ %4 = getelementptr inbounds i32, ptr %A, i64 %3
;CHECK: cost of 1 {{.*}} extract
- %6 = extractelement <2 x i64> %3, i32 1
- %7 = getelementptr inbounds i32, i32* %A, i64 %6
- %8 = load i32, i32* %5, align 4
+ %5 = extractelement <2 x i64> %2, i32 1
+ %6 = getelementptr inbounds i32, ptr %A, i64 %5
+ %7 = load i32, ptr %4, align 4
;CHECK: cost of 1 {{.*}} insert
- %9 = insertelement <2 x i32> poison, i32 %8, i32 0
- %10 = load i32, i32* %7, align 4
+ %8 = insertelement <2 x i32> poison, i32 %7, i32 0
+ %9 = load i32, ptr %6, align 4
;CHECK: cost of 1 {{.*}} insert
- %11 = insertelement <2 x i32> %9, i32 %10, i32 1
- %12 = add nsw <2 x i32> %11, %vec.phi
+ %10 = insertelement <2 x i32> %8, i32 %9, i32 1
+ %11 = add nsw <2 x i32> %10, %vec.phi
%index.next = add i64 %index, 2
- %13 = icmp eq i64 %index.next, 192
- br i1 %13, label %for.end, label %vector.body
+ %12 = icmp eq i64 %index.next, 192
+ br i1 %12, label %for.end, label %vector.body
for.end: ; preds = %vector.body
- %14 = extractelement <2 x i32> %12, i32 0
- %15 = extractelement <2 x i32> %12, i32 1
- %16 = add i32 %14, %15
- ret i32 %16
+ %13 = extractelement <2 x i32> %11, i32 0
+ %14 = extractelement <2 x i32> %11, i32 1
+ %15 = add i32 %13, %14
+ ret i32 %15
}
diff --git a/llvm/test/Analysis/CostModel/X86/loop_v2.ll b/llvm/test/Analysis/CostModel/X86/loop_v2.ll
index 7caac060ce5e..a9cbaaf2fd63 100644
--- a/llvm/test/Analysis/CostModel/X86/loop_v2.ll
+++ b/llvm/test/Analysis/CostModel/X86/loop_v2.ll
@@ -3,37 +3,36 @@
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
target triple = "x86_64-apple-macosx10.9.0"
-define i32 @foo(i32* nocapture %A) nounwind uwtable readonly ssp {
+define i32 @foo(ptr nocapture %A) nounwind uwtable readonly ssp {
vector.ph:
br label %vector.body
vector.body: ; preds = %vector.body, %vector.ph
%index = phi i64 [ 0, %vector.ph ], [ %index.next, %vector.body ]
- %vec.phi = phi <2 x i32> [ zeroinitializer, %vector.ph ], [ %12, %vector.body ]
- %0 = getelementptr inbounds i32, i32* %A, i64 %index
- %1 = bitcast i32* %0 to <2 x i32>*
- %2 = load <2 x i32>, <2 x i32>* %1, align 4
- %3 = sext <2 x i32> %2 to <2 x i64>
+ %vec.phi = phi <2 x i32> [ zeroinitializer, %vector.ph ], [ %11, %vector.body ]
+ %0 = getelementptr inbounds i32, ptr %A, i64 %index
+ %1 = load <2 x i32>, ptr %0, align 4
+ %2 = sext <2 x i32> %1 to <2 x i64>
;CHECK: cost of 1 {{.*}} extract
- %4 = extractelement <2 x i64> %3, i32 0
- %5 = getelementptr inbounds i32, i32* %A, i64 %4
+ %3 = extractelement <2 x i64> %2, i32 0
+ %4 = getelementptr inbounds i32, ptr %A, i64 %3
;CHECK: cost of 1 {{.*}} extract
- %6 = extractelement <2 x i64> %3, i32 1
- %7 = getelementptr inbounds i32, i32* %A, i64 %6
- %8 = load i32, i32* %5, align 4
+ %5 = extractelement <2 x i64> %2, i32 1
+ %6 = getelementptr inbounds i32, ptr %A, i64 %5
+ %7 = load i32, ptr %4, align 4
;CHECK: cost of 1 {{.*}} insert
- %9 = insertelement <2 x i32> undef, i32 %8, i32 0
- %10 = load i32, i32* %7, align 4
+ %8 = insertelement <2 x i32> undef, i32 %7, i32 0
+ %9 = load i32, ptr %6, align 4
;CHECK: cost of 1 {{.*}} insert
- %11 = insertelement <2 x i32> %9, i32 %10, i32 1
- %12 = add nsw <2 x i32> %11, %vec.phi
+ %10 = insertelement <2 x i32> %8, i32 %9, i32 1
+ %11 = add nsw <2 x i32> %10, %vec.phi
%index.next = add i64 %index, 2
- %13 = icmp eq i64 %index.next, 192
- br i1 %13, label %for.end, label %vector.body
+ %12 = icmp eq i64 %index.next, 192
+ br i1 %12, label %for.end, label %vector.body
for.end: ; preds = %vector.body
- %14 = extractelement <2 x i32> %12, i32 0
- %15 = extractelement <2 x i32> %12, i32 1
- %16 = add i32 %14, %15
- ret i32 %16
+ %13 = extractelement <2 x i32> %11, i32 0
+ %14 = extractelement <2 x i32> %11, i32 1
+ %15 = add i32 %13, %14
+ ret i32 %15
}
diff --git a/llvm/test/Analysis/CostModel/X86/vectorized-loop.ll b/llvm/test/Analysis/CostModel/X86/vectorized-loop.ll
index 356e6a815bd3..594838728b92 100644
--- a/llvm/test/Analysis/CostModel/X86/vectorized-loop.ll
+++ b/llvm/test/Analysis/CostModel/X86/vectorized-loop.ll
@@ -3,7 +3,7 @@
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
target triple = "x86_64-apple-macosx10.8.0"
-define i32 @foo(i32* noalias nocapture %A, i32* noalias nocapture %B, i32 %start, i32 %end) nounwind uwtable ssp {
+define i32 @foo(ptr noalias nocapture %A, ptr noalias nocapture %B, i32 %start, i32 %end) nounwind uwtable ssp {
entry:
;CHECK: cost of 1 {{.*}} icmp
%cmp7 = icmp slt i32 %start, %end
@@ -25,25 +25,22 @@ for.body.lr.ph: ; preds = %entry
vector.body: ; preds = %for.body.lr.ph, %vector.body
%index = phi i64 [ %index.next, %vector.body ], [ %0, %for.body.lr.ph ]
%3 = add i64 %index, 2
- %4 = getelementptr inbounds i32, i32* %B, i64 %3
- ;CHECK: cost of 0 {{.*}} bitcast
- %5 = bitcast i32* %4 to <8 x i32>*
+ %4 = getelementptr inbounds i32, ptr %B, i64 %3
;CHECK: cost of 2 {{.*}} load
- %6 = load <8 x i32>, <8 x i32>* %5, align 4
+ %5 = load <8 x i32>, ptr %4, align 4
;CHECK: cost of 5 {{.*}} mul
- %7 = mul nsw <8 x i32> %6, <i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5>
- %8 = getelementptr inbounds i32, i32* %A, i64 %index
- %9 = bitcast i32* %8 to <8 x i32>*
+ %6 = mul nsw <8 x i32> %5, <i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5>
+ %7 = getelementptr inbounds i32, ptr %A, i64 %index
;CHECK: cost of 2 {{.*}} load
- %10 = load <8 x i32>, <8 x i32>* %9, align 4
+ %8 = load <8 x i32>, ptr %7, align 4
;CHECK: cost of 4 {{.*}} add
- %11 = add nsw <8 x i32> %10, %7
+ %9 = add nsw <8 x i32> %8, %6
;CHECK: cost of 2 {{.*}} store
- store <8 x i32> %11, <8 x i32>* %9, align 4
+ store <8 x i32> %9, ptr %7, align 4
%index.next = add i64 %index, 8
- %12 = icmp eq i64 %index.next, %end.idx.rnd.down
+ %10 = icmp eq i64 %index.next, %end.idx.rnd.down
;CHECK: cost of 0 {{.*}} br
- br i1 %12, label %middle.block, label %vector.body
+ br i1 %10, label %middle.block, label %vector.body
middle.block: ; preds = %vector.body, %for.body.lr.ph
%cmp.n = icmp eq i64 %end.idx, %end.idx.rnd.down
@@ -51,21 +48,21 @@ middle.block: ; preds = %vector.body, %for.b
for.body: ; preds = %middle.block, %for.body
%indvars.iv = phi i64 [ %indvars.iv.next, %for.body ], [ %end.idx.rnd.down, %middle.block ]
- %13 = add nsw i64 %indvars.iv, 2
- %arrayidx = getelementptr inbounds i32, i32* %B, i64 %13
+ %11 = add nsw i64 %indvars.iv, 2
+ %arrayidx = getelementptr inbounds i32, ptr %B, i64 %11
;CHECK: cost of 1 {{.*}} load
- %14 = load i32, i32* %arrayidx, align 4
+ %12 = load i32, ptr %arrayidx, align 4
;CHECK: cost of 1 {{.*}} mul
- %mul = mul nsw i32 %14, 5
- %arrayidx2 = getelementptr inbounds i32, i32* %A, i64 %indvars.iv
+ %mul = mul nsw i32 %12, 5
+ %arrayidx2 = getelementptr inbounds i32, ptr %A, i64 %indvars.iv
;CHECK: cost of 1 {{.*}} load
- %15 = load i32, i32* %arrayidx2, align 4
- %add3 = add nsw i32 %15, %mul
- store i32 %add3, i32* %arrayidx2, align 4
+ %13 = load i32, ptr %arrayidx2, align 4
+ %add3 = add nsw i32 %13, %mul
+ store i32 %add3, ptr %arrayidx2, align 4
%indvars.iv.next = add i64 %indvars.iv, 1
;CHECK: cost of 0 {{.*}} trunc
- %16 = trunc i64 %indvars.iv.next to i32
- %cmp = icmp slt i32 %16, %end
+ %14 = trunc i64 %indvars.iv.next to i32
+ %cmp = icmp slt i32 %14, %end
;CHECK: cost of 0 {{.*}} br
br i1 %cmp, label %for.body, label %for.end
More information about the llvm-commits
mailing list