go/test/fixedbugs
Keith Randall 6fff980cf1 cmd/compile: initialize sparse slice literals dynamically
When a slice composite literal is sparse, initialize it dynamically
instead of statically.

s := []int{5:5, 20:20}

To initialize the backing store for s, use 2 constant writes instead
of copying from a static array with 21 entries.

This CL also fixes pathologies in the compiler when the slice is
*very* sparse.

Fixes #23780

Change-Id: Iae95c6e6f6a0e2994675cbc750d7a4dd6436b13b
Reviewed-on: https://go-review.googlesource.com/c/151319
Run-TryBot: Keith Randall <khr@golang.org>
Reviewed-by: Robert Griesemer <gri@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2018-11-26 22:50:48 +00:00
..
bug083.dir
bug088.dir
bug106.dir
bug133.dir
bug160.dir
bug191.dir
bug222.dir
bug248.dir
bug282.dir
bug302.dir
bug306.dir
bug313.dir
bug322.dir
bug324.dir
bug335.dir
bug345.dir
bug367.dir
bug369.dir
bug377.dir
bug382.dir
bug392.dir
bug396.dir
bug404.dir
bug407.dir
bug414.dir
bug415.dir
bug424.dir
bug437.dir
bug448.dir
bug460.dir
bug465.dir
bug466.dir
bug467.dir
bug468.dir
bug472.dir
bug478.dir
bug479.dir
bug480.dir
bug488.dir
bug492.dir
bug504.dir
bug506.dir
gcc67968.dir
issue3552.dir
issue4252.dir
issue4326.dir
issue4370.dir
issue4510.dir
issue4590.dir
issue4879.dir
issue4932.dir
issue4964.dir
issue5105.dir
issue5125.dir
issue5259.dir
issue5260.dir
issue5291.dir
issue5470.dir
issue5614.dir
issue5755.dir
issue5910.dir
issue5957.dir
issue6295.dir
issue6513.dir
issue6789.dir
issue7023.dir
issue7648.dir
issue7995b.dir
issue8060.dir
issue8280.dir
issue9355.dir
issue9537.dir
issue9608.dir
issue10066.dir
issue10219.dir
issue10700.dir
issue11053.dir
issue12677.dir
issue13777.dir
issue14164.dir
issue14331.dir
issue15071.dir
issue15470.dir
issue15514.dir
issue15548.dir
issue15572.dir
issue15609.dir
issue15646.dir
issue15838.dir
issue15920.dir
issue16133.dir
issue16317.dir
issue16616.dir
issue18419.dir
issue18895.dir
issue18911.dir
issue19028.dir
issue19261.dir
issue19467.dir
issue19507.dir test: fix ABI mismatch in fixedbugs/issue19507 2018-11-13 23:44:52 +00:00
issue19548.dir
issue19699.dir
issue19764.dir
issue20682.dir
issue21120.dir
issue22877.dir
issue22941.dir
issue22962.dir
issue23179.dir
issue23311.dir cmd/compile: allow bodyless function if it is linkname'd 2018-11-26 20:00:59 +00:00
issue24693.dir
issue24761.dir
issue24801.dir
issue25055.dir
issue25984.dir
issue26341.dir
issue27836.dir
bug000.go
bug002.go
bug003.go
bug004.go
bug005.go
bug006.go
bug007.go
bug008.go
bug009.go
bug010.go
bug011.go
bug012.go
bug013.go
bug014.go
bug015.go
bug016.go
bug017.go
bug020.go
bug021.go
bug022.go
bug023.go
bug024.go
bug026.go
bug027.go
bug028.go
bug030.go
bug031.go
bug035.go
bug037.go
bug039.go
bug040.go
bug045.go
bug046.go
bug047.go
bug048.go
bug049.go
bug050.go
bug051.go
bug052.go
bug053.go
bug054.go
bug055.go
bug056.go
bug057.go
bug058.go
bug059.go
bug060.go
bug061.go
bug062.go
bug063.go
bug064.go
bug065.go
bug066.go
bug067.go
bug068.go
bug069.go
bug070.go
bug071.go
bug072.go
bug073.go
bug074.go
bug075.go
bug076.go
bug077.go
bug078.go
bug080.go
bug081.go
bug082.go
bug083.go
bug084.go
bug085.go
bug086.go
bug087.go
bug088.go
bug089.go
bug090.go
bug091.go
bug092.go
bug093.go
bug094.go
bug096.go
bug097.go
bug098.go
bug099.go
bug101.go
bug102.go
bug103.go
bug104.go
bug106.go
bug107.go
bug108.go
bug109.go
bug110.go
bug111.go
bug112.go
bug113.go
bug114.go
bug115.go
bug116.go
bug117.go
bug118.go
bug119.go
bug120.go
bug121.go
bug122.go
bug123.go
bug126.go
bug127.go
bug128.go
bug129.go
bug130.go
bug131.go
bug132.go
bug133.go
bug135.go
bug136.go
bug137.go
bug139.go
bug140.go
bug141.go
bug142.go
bug143.go
bug144.go
bug145.go
bug146.go
bug147.go
bug148.go
bug149.go
bug150.go
bug151.go
bug152.go
bug154.go
bug155.go
bug156.go
bug157.go
bug158.go
bug159.go
bug160.go
bug161.go
bug163.go
bug164.go
bug165.go
bug167.go
bug168.go
bug169.go
bug170.go
bug171.go
bug172.go
bug173.go
bug174.go
bug175.go
bug176.go
bug177.go
bug178.go
bug179.go
bug180.go
bug181.go
bug182.go
bug183.go
bug184.go
bug185.go
bug186.go
bug187.go
bug188.go
bug189.go
bug190.go
bug191.go
bug192.go
bug193.go
bug194.go
bug195.go
bug196.go
bug197.go
bug198.go
bug199.go
bug200.go
bug201.go
bug202.go
bug203.go
bug204.go
bug205.go
bug206.go
bug206.out
bug207.go
bug208.go
bug209.go
bug211.go
bug212.go
bug213.go
bug214.go
bug215.go
bug216.go
bug217.go
bug218.go
bug219.go
bug221.go
bug222.go
bug223.go
bug224.go
bug225.go
bug227.go
bug228.go
bug229.go
bug230.go
bug231.go
bug232.go
bug233.go
bug234.go
bug235.go
bug236.go
bug237.go
bug238.go
bug239.go
bug240.go
bug241.go
bug242.go
bug243.go
bug244.go
bug245.go
bug246.go
bug247.go
bug248.go
bug249.go
bug250.go
bug251.go
bug252.go
bug253.go
bug254.go
bug255.go
bug256.go
bug257.go
bug258.go
bug259.go
bug260.go
bug261.go
bug262.go
bug263.go
bug264.go
bug265.go
bug266.go
bug267.go
bug269.go
bug271.go
bug272.go
bug273.go runtime: handle 64bits addresses for AIX 2018-11-26 14:06:28 +00:00
bug274.go
bug275.go
bug276.go
bug277.go
bug278.go
bug279.go
bug280.go
bug281.go
bug282.go
bug283.go
bug284.go
bug285.go
bug286.go
bug287.go
bug288.go
bug289.go
bug290.go
bug291.go
bug292.go
bug293.go
bug294.go
bug295.go
bug296.go
bug297.go
bug298.go
bug299.go
bug300.go
bug301.go
bug302.go
bug303.go
bug304.go
bug305.go
bug306.go
bug307.go
bug308.go
bug309.go
bug311.go
bug312.go
bug313.go
bug314.go
bug315.go
bug316.go
bug317.go
bug318.go
bug319.go
bug320.go
bug321.go
bug322.go
bug323.go
bug324.go
bug325.go
bug326.go
bug327.go
bug328.go
bug328.out
bug329.go
bug330.go
bug331.go
bug332.go
bug333.go
bug334.go
bug335.go
bug336.go
bug337.go
bug338.go
bug339.go
bug340.go
bug341.go
bug342.go
bug343.go
bug344.go
bug345.go
bug346.go
bug347.go
bug348.go
bug349.go
bug350.go
bug351.go
bug352.go
bug353.go
bug354.go
bug355.go
bug356.go
bug357.go
bug358.go
bug361.go
bug362.go
bug363.go
bug364.go
bug365.go
bug366.go
bug367.go
bug368.go
bug369.go
bug370.go
bug371.go
bug372.go
bug373.go
bug374.go
bug375.go
bug376.go
bug377.go
bug378.go
bug379.go
bug380.go
bug381.go
bug382.go
bug383.go
bug384.go
bug385_32.go
bug385_64.go
bug386.go
bug387.go
bug388.go
bug389.go
bug390.go
bug391.go
bug392.go
bug393.go
bug394.go
bug396.go
bug397.go
bug398.go
bug399.go
bug401.go
bug402.go
bug403.go
bug404.go
bug405.go
bug406.go
bug407.go
bug409.go
bug409.out
bug410.go
bug411.go
bug412.go
bug413.go
bug414.go
bug415.go
bug416.go
bug417.go
bug418.go
bug419.go
bug420.go
bug421.go
bug422.go
bug423.go
bug424.go
bug425.go
bug426.go
bug427.go
bug428.go
bug429.go
bug429_run.go
bug430.go
bug431.go
bug432.go
bug433.go
bug434.go
bug435.go
bug436.go
bug437.go
bug438.go
bug439.go
bug440_32.go
bug440_64.go
bug441.go
bug442.go
bug443.go
bug444.go
bug445.go
bug446.go
bug447.go
bug448.go
bug449.go
bug450.go
bug451.go
bug452.go
bug453.go
bug454.go
bug455.go
bug456.go
bug457.go
bug458.go
bug459.go
bug460.go
bug461.go
bug462.go
bug463.go
bug464.go
bug465.go
bug466.go
bug467.go
bug468.go
bug470.go
bug471.go
bug472.go
bug473.go
bug474.go
bug475.go
bug476.go
bug477.go
bug478.go
bug479.go
bug480.go
bug481.go
bug482.go
bug483.go
bug484.go
bug485.go
bug486.go
bug487.go
bug488.go
bug489.go
bug490.go
bug491.go
bug492.go
bug493.go
bug494.go
bug495.go
bug496.go
bug497.go
bug498.go
bug499.go
bug500.go
bug501.go
bug502.go
bug503.go
bug504.go
bug505.go
bug506.go
bug1515.go
bug13343.go
bug19403.go
gcc61204.go
gcc61244.go
gcc61246.go
gcc61248.go
gcc61253.go
gcc61254.go
gcc61255.go
gcc61258.go
gcc61264.go
gcc61265.go
gcc61273.go
gcc65755.go
gcc67968.go
gcc78763.go
gcc80226.go
issue887.go
issue1304.go
issue2615.go
issue3552.go
issue3705.go
issue3783.go
issue3925.go
issue4066.go
issue4085a.go
issue4085b.go runtime: handle 64bits addresses for AIX 2018-11-26 14:06:28 +00:00
issue4097.go
issue4099.go
issue4162.go
issue4167.go
issue4215.go
issue4232.go
issue4251.go
issue4252.go
issue4264.go
issue4283.go
issue4313.go
issue4316.go
issue4323.go
issue4326.go
issue4348.go
issue4353.go
issue4359.go
issue4365.go
issue4370.go
issue4396a.go
issue4396b.go
issue4399.go
issue4405.go
issue4429.go
issue4448.go
issue4452.go
issue4458.go
issue4463.go
issue4468.go
issue4470.go
issue4495.go
issue4510.go
issue4517a.go
issue4517b.go
issue4517c.go
issue4517d.go
issue4518.go
issue4529.go
issue4545.go
issue4562.go
issue4585.go
issue4590.go
issue4610.go
issue4614.go
issue4618.go
issue4620.go
issue4654.go
issue4663.go
issue4667.go
issue4734.go
issue4748.go
issue4752.go
issue4776.go
issue4785.go
issue4813.go
issue4847.go
issue4879.go
issue4909a.go
issue4909b.go
issue4932.go
issue4964.go
issue5002.go
issue5056.go
issue5089.go
issue5105.go
issue5125.go
issue5162.go
issue5172.go
issue5231.go
issue5244.go
issue5259.go
issue5260.go
issue5291.go
issue5358.go
issue5373.go
issue5470.go
issue5493.go
issue5515.go
issue5581.go
issue5607.go
issue5609.go
issue5614.go
issue5698.go
issue5704.go
issue5753.go
issue5755.go
issue5793.go
issue5809.go
issue5820.go
issue5841.go
issue5856.go
issue5910.go
issue5957.go
issue5963.go
issue6004.go
issue6036.go
issue6055.go
issue6131.go
issue6140.go
issue6247.go
issue6269.go
issue6295.go
issue6298.go
issue6399.go
issue6402.go
issue6403.go
issue6405.go
issue6406.go
issue6500.go
issue6513.go
issue6572.go
issue6671.go
issue6703a.go
issue6703b.go
issue6703c.go
issue6703d.go
issue6703e.go
issue6703f.go
issue6703g.go
issue6703h.go
issue6703i.go
issue6703j.go
issue6703k.go
issue6703l.go
issue6703m.go
issue6703n.go
issue6703o.go
issue6703p.go
issue6703q.go
issue6703r.go
issue6703s.go
issue6703t.go
issue6703u.go
issue6703v.go
issue6703w.go
issue6703x.go
issue6703y.go
issue6703z.go
issue6750.go
issue6772.go
issue6789.go
issue6847.go
issue6866.go
issue6889.go
issue6899.go
issue6899.out
issue6902.go
issue6964.go
issue7023.go
issue7044.go
issue7050.go
issue7083.go
issue7129.go
issue7150.go
issue7153.go
issue7214.go
issue7223.go
issue7272.go
issue7310.go
issue7316.go
issue7346.go
issue7366.go
issue7405.go
issue7419.go
issue7525.go
issue7525b.go
issue7525c.go
issue7525d.go
issue7525e.go
issue7538a.go
issue7538b.go
issue7547.go
issue7550.go
issue7590.go
issue7648.go
issue7675.go
issue7690.go
issue7740.go
issue7742.go
issue7746.go
issue7760.go
issue7794.go
issue7863.go
issue7867.go
issue7884.go
issue7921.go cmd/compile: encourage inlining of functions with single-call bodies 2018-11-08 17:29:23 +00:00
issue7944.go
issue7995.go
issue7995b.go
issue7996.go
issue7997.go
issue7998.go
issue8004.go
issue8011.go
issue8017.go
issue8028.go
issue8036.go
issue8039.go
issue8042.go
issue8047.go
issue8047b.go
issue8048.go
issue8060.go
issue8073.go
issue8074.go
issue8076.go
issue8079.go
issue8132.go
issue8139.go
issue8154.go
issue8155.go
issue8158.go
issue8183.go
issue8280.go
issue8311.go
issue8325.go
issue8336.go
issue8347.go
issue8385.go
issue8438.go
issue8440.go
issue8475.go
issue8501.go
issue8507.go
issue8612.go
issue8613.go
issue8620.go
issue8745.go
issue8761.go
issue8836.go
issue8947.go
issue8961.go
issue9006.go
issue9017.go
issue9036.go
issue9076.go
issue9083.go
issue9110.go
issue9321.go
issue9355.go
issue9370.go
issue9432.go
issue9521.go
issue9537.go
issue9604.go
issue9604b.go
issue9608.go
issue9634.go
issue9691.go
issue9731.go
issue9738.go
issue9862.go
issue9862_run.go
issue10047.go
issue10066.go
issue10135.go
issue10219.go
issue10253.go
issue10284.go
issue10320.go
issue10332.go
issue10353.go
issue10407.go
issue10441.go
issue10486.go
issue10607.go
issue10607a.go
issue10654.go
issue10700.go
issue10925.go
issue10958.go
issue10975.go
issue10977.go
issue11053.go
issue11053.out
issue11256.go
issue11286.go
issue11326.go
issue11326b.go
issue11354.go
issue11359.go
issue11361.go
issue11362.go
issue11369.go
issue11370.go
issue11371.go
issue11590.go
issue11610.go
issue11614.go
issue11656.go
issue11674.go
issue11699.go
issue11737.go
issue11750.go
issue11771.go
issue11790.go
issue11945.go
issue11987.go
issue12006.go
issue12108.go
issue12133.go
issue12226.go
issue12347.go
issue12411.go
issue12413.go
issue12525.go
issue12536.go
issue12577.go
issue12588.go
issue12621.go
issue12677.go
issue12686.go
issue12944.go
issue13160.go
issue13162.go
issue13169.go
issue13171.go
issue13248.go
issue13261.go
issue13262.go
issue13263.go
issue13265.go
issue13266.go
issue13268.go
issue13273.go
issue13274.go
issue13319.go
issue13337.go
issue13365.go
issue13415.go
issue13471.go
issue13480.go
issue13485.go
issue13539.go
issue13559.go
issue13587.go
issue13684.go
issue13777.go
issue13779.go
issue13799.go
issue13821.go
issue13821b.go
issue14006.go
issue14010.go
issue14136.go
issue14164.go
issue14321.go
issue14331.go
issue14405.go
issue14520.go
issue14540.go
issue14553.go
issue14591.go
issue14636.go
issue14646.go
issue14651.go
issue14652.go
issue14725.go
issue14729.go
issue14988.go
issue14999.go
issue15002.go
issue15013.go
issue15039.go
issue15042.go
issue15055.go
issue15084.go
issue15091.go
issue15141.go
issue15175.go
issue15252.go
issue15277.go
issue15281.go
issue15303.go
issue15311.go
issue15329.go
issue15439.go
issue15470.go
issue15514.go
issue15528.go
issue15548.go
issue15550.go
issue15572.go
issue15585.go
issue15602.go
issue15604.go
issue15611.go
issue15646.go
issue15722.go
issue15733.go
issue15747.go
issue15747b.go
issue15838.go
issue15895.go
issue15898.go
issue15902.go
issue15920.go
issue15926.go
issue15961.go
issue15975.go
issue15988.go
issue16008.go
issue16016.go
issue16037_run.go
issue16095.go
issue16130.go
issue16133.go
issue16193.go
issue16249.go
issue16306.go
issue16317.go
issue16331.go
issue16369.go
issue16428.go
issue16439.go
issue16515.go
issue16616.go
issue16733.go
issue16741.go
issue16760.go
issue16804.go
issue16870.go
issue16948.go
issue16949.go
issue16985.go
issue17005.go
issue17038.go cmd/compile: don't constant-fold non-Go constants in the frontend 2018-11-26 22:49:57 +00:00
issue17039.go
issue17111.go
issue17194.go
issue17270.go
issue17318.go
issue17328.go
issue17381.go
issue17449.go
issue17551.go
issue17588.go
issue17596.go
issue17631.go
issue17640.go
issue17645.go
issue17710.go
issue17752.go
issue17918.go
issue18089.go
issue18092.go
issue18149.go
issue18231.go
issue18331.go
issue18392.go
issue18393.go
issue18410.go
issue18419.go
issue18459.go
issue18595.go
issue18636.go
issue18640.go cmd/compile: reintroduce work-around for cyclic alias declarations 2018-11-05 20:30:19 +00:00
issue18655.go
issue18661.go
issue18725.go
issue18747.go
issue18808.go
issue18882.go
issue18895.go
issue18906.go
issue18911.go
issue18915.go
issue18994.go
issue19012.go
issue19028.go
issue19040.go
issue19056.go
issue19078.go
issue19084.go
issue19137.go
issue19168.go
issue19182.go
issue19201.go
issue19217.go
issue19246.go
issue19261.go
issue19275.go
issue19323.go
issue19359.go
issue19467.go
issue19482.go
issue19507.go
issue19515.go
issue19548.go
issue19555.go
issue19610.go
issue19632.go
issue19658.go
issue19667.go
issue19671.go
issue19678.go
issue19679.go
issue19696.go
issue19699.go
issue19699b.go
issue19705.go
issue19710.go
issue19743.go
issue19764.go
issue19783.go
issue19799.go
issue19880.go
issue19911.go
issue19947.go
issue19977.go
issue20029.go
issue20097.go
issue20145.go
issue20162.go
issue20174.go
issue20185.go
issue20227.go
issue20232.go
issue20233.go
issue20245.go
issue20250.go
issue20298.go
issue20333.go
issue20335.go
issue20415.go
issue20529.go
issue20530.go
issue20602.go
issue20682.go
issue20739.go
issue20749.go
issue20780.go cmd/compile: optimize A->B->C Moves that include VarDefs 2018-11-11 14:18:33 +00:00
issue20789.go
issue20811.go
issue20812.go
issue20813.go
issue20923.go
issue21048.go
issue21120.go
issue21221.go
issue21253.go
issue21256.go
issue21273.go
issue21317.go
issue21655.go
issue21687.go
issue21709.go
issue21770.go
issue21808.go
issue21808.out
issue21879.go
issue21879.out
issue21882.go
issue21887.go
issue21887.out
issue21963.go
issue21988.go
issue22063.go
issue22076.go
issue22083.go
issue22164.go
issue22198.go
issue22200.go
issue22200b.go
issue22305.go
issue22327.go
issue22351.go
issue22389.go
issue22429.go
issue22458.go
issue22581.go
issue22605.go
issue22660.go
issue22662.go
issue22662b.go
issue22683.go
issue22683.out
issue22781.go
issue22794.go
issue22822.go
issue22877.go
issue22881.go
issue22904.go
issue22941.go
issue22962.go
issue23093.go
issue23094.go
issue23116.go
issue23179.go
issue23188.go
issue23298.go
issue23305.go
issue23311.go cmd/compile: allow bodyless function if it is linkname'd 2018-11-26 20:00:59 +00:00
issue23414.go
issue23489.go
issue23504.go
issue23521.go
issue23522.go
issue23545.go
issue23546.go
issue23586.go
issue23587.go
issue23609.go
issue23664.go
issue23719.go
issue23732.go
issue23780.go cmd/compile: initialize sparse slice literals dynamically 2018-11-26 22:50:48 +00:00
issue23812.go
issue23823.go cmd/compile: reintroduce work-around for cyclic alias declarations 2018-11-05 20:30:19 +00:00
issue23837.go cmd/compile: when comparing 0-size types, make sure expr side-effects survive 2018-10-30 17:45:19 +00:00
issue23912.go
issue24120.go
issue24159.go
issue24173.go
issue24187.go
issue24339.go
issue24419.go
issue24449.go
issue24470.go
issue24503.go
issue24547.go
issue24651a.go
issue24651b.go
issue24693.go
issue24693.out
issue24760.go cmd/compile: don't constant-fold non-Go constants in the frontend 2018-11-26 22:49:57 +00:00
issue24761.go
issue24763.go
issue24799.go
issue24801.go
issue24817.go
issue24937.go
issue24939.go cmd/compile: reintroduce work-around for cyclic alias declarations 2018-11-05 20:30:19 +00:00
issue25006.go
issue25055.go
issue25101.go
issue25322.go
issue25322.out
issue25507.go
issue25516.go
issue25727.go
issue25741.go
issue25776.go
issue25958.go
issue25966.go
issue25984.go
issue25993.go
issue26024.go
issue26043.go
issue26094.go
issue26097.go
issue26105.go
issue26116.go
issue26120.go
issue26153.go
issue26163.go
issue26248.go
issue26335.go
issue26340.go
issue26341.go
issue26407.go
issue26411.go
issue26416.go
issue26426.go
issue26438.go
issue26495.go
issue26616.go
issue26855.go
issue27143.go
issue27232.go cmd/compile: reintroduce work-around for cyclic alias declarations 2018-11-05 20:30:19 +00:00
issue27267.go cmd/compile: reintroduce work-around for cyclic alias declarations 2018-11-05 20:30:19 +00:00
issue27278.go
issue27289.go
issue27356.go
issue27518a.go
issue27518b.go
issue27595.go
issue27695.go
issue27695b.go
issue27695c.go runtime: when using explicit argmap, also use arglen 2018-11-13 22:52:09 +00:00
issue27718.go
issue27829.go
issue27836.go
issue27938.go
issue27961.go
issue28055.go
issue28058.go
issue28268.go
issue28390.go cmd/compile: convert arguments as needed 2018-10-28 18:22:36 +00:00
issue28390.out cmd/compile: convert arguments as needed 2018-10-28 18:22:36 +00:00
issue28430.go cmd/compile: convert arguments as needed 2018-10-28 18:22:36 +00:00
issue28601.go test: add test that gccgo failed to compile 2018-11-05 20:54:58 +00:00
issue28616.go cmd/compile: don't deadcode eliminate labels 2018-11-06 18:50:16 +00:00
issue28688.go cmd/compile/internal/gc: OMUL should be evaluated when using soft-float 2018-11-14 18:52:15 +00:00