[llvm-commits] Compile time improvement patches on the way

Gurd, Preston preston.gurd at intel.com
Wed Jan 23 15:18:52 PST 2013


One of our colleagues has spent some time profiling llvm, with the aim of reducing compile time. To that end, he has come up with a set of 11 patches, which collectively reduce the compile time of a set of benchmarks by between 14 and 16 percent, as is shown in the table below my signature.

Although one of the patches has since been rendered obsolete by changes to the llvm trunk, we plan to submit the remainder, on a commit after review basis, in the next several days.

If you happen to have expertise in the areas affected by a given patch, your review would be much appreciated!

--
Preston Gurd <preston.gurd at intel.com>
  Intel Waterloo
  SSG/DPD/ECDL/DMP

Benchmark

Trunk

All.in.One

CSEMap.SDNodes

CSEMap.SCEV

Hash.getVT

Light.IndexMap

Numbering.BB

Numbering.SD

Remove.Dispos

BaseRegs.Size

SmallDM.DAGLeg

SmallVec.MO

SmallVec.SU

401.bzip2

74.21

63.37

71.70

72.69

74.06

73.56

72.05

72.34

73.07

73.37

73.73

72.67

72.48

403.gcc

73.88

63.91

71.63

73.55

73.34

73.35

72.64

72.01

73.28

73.64

73.41

71.90

71.65

429.mcf

72.80

62.64

70.58

71.41

72.58

72.42

71.17

71.22

71.77

72.53

72.59

72.22

71.33

433.milc

78.78

68.51

75.94

77.31

78.45

79.24

78.04

76.75

77.96

78.90

78.94

77.65

78.14

444.namd

94.73

84.48

92.23

93.87

94.65

94.59

94.10

93.37

94.01

94.47

94.34

92.94

93.45

445.gobmk

36.28

31.94

35.16

35.98

36.15

36.21

35.75

35.38

36.09

36.24

36.20

35.52

35.51

450.soplex

71.41

62.49

68.92

72.09

71.14

71.29

70.91

69.66

70.93

71.08

71.26

70.29

69.64

456.hmmer

86.80

75.16

84.19

85.54

86.32

86.51

85.02

84.78

85.86

86.55

86.61

85.07

84.86

458.sjeng

96.38

81.04

93.35

94.73

96.28

95.63

91.96

94.44

95.35

95.71

95.46

94.69

94.27

464.h264ref

87.61

73.93

85.02

85.40

87.03

87.63

85.80

85.93

86.90

85.81

87.38

86.39

86.36

470.lbm

68.95

59.14

67.03

66.36

68.58

68.38

68.82

67.97

66.41

68.90

68.97

67.84

68.09

471.omnetpp

89.07

75.78

86.40

88.41

88.05

88.11

86.79

86.91

88.27

88.75

88.16

85.82

86.57

bitmnp01

84.06

70.23

81.37

82.65

83.50

83.52

79.02

82.61

83.39

83.69

83.23

82.99

81.60

cjpegv2data6

59.70

51.92

57.88

57.83

59.49

60.07

59.50

58.42

59.57

59.25

59.79

59.24

58.84

idctrn01

40.18

34.23

38.12

38.99

40.00

40.24

39.89

39.08

39.17

40.25

39.96

40.02

39.79

libquake2

48.48

42.81

46.42

48.02

48.10

48.55

48.28

47.10

48.15

48.44

48.36

47.94

47.54

libquake_portable

63.54

55.89

61.06

62.94

63.28

63.80

63.68

62.03

63.22

63.53

63.37

62.95

62.38

libxcsoar

47.44

41.92

45.72

47.21

47.01

47.25

47.31

45.92

47.73

47.40

47.29

46.64

46.81

linpack

142.14

119.49

140.01

135.50

143.11

142.66

140.49

140.99

141.92

140.64

141.79

140.88

141.63

matrix01

24.75

20.90

23.81

24.38

24.72

24.77

23.72

24.11

24.57

24.68

24.78

24.51

24.40

nbench

108.04

92.37

105.33

103.82

107.93

108.01

106.86

106.59

106.59

107.22

108.17

107.48

107.04

tblook01

44.03

37.89

42.89

42.37

44.27

44.14

44.07

43.30

43.58

43.37

44.01

43.75

43.71

ttsprk01

39.23

32.98

37.33

38.30

38.91

38.89

37.70

38.23

38.64

38.91

38.82

38.76

38.54

Geomean

65.85

56.68

63.69

64.60

65.60

65.71

64.71

64.41

65.19

65.52

65.63

64.90

64.72


401.bzip2

100.00

117.11

103.50

102.09

100.20

100.88

103.00

102.59

101.56

101.14

100.65

102.12

102.39

403.gcc

100.00

115.60

103.14

100.45

100.74

100.72

101.71

102.60

100.82

100.33

100.64

102.75

103.11

429.mcf

100.00

116.22

103.15

101.95

100.30

100.52

102.29

102.22

101.44

100.37

100.29

100.80

102.06

433.milc

100.00

114.99

103.74

101.90

100.42

99.42

100.95

102.64

101.05

99.85

99.80

101.46

100.82

444.namd

100.00

112.13

102.71

100.92

100.08

100.15

100.67

101.46

100.77

100.28

100.41

101.93

101.37

445.gobmk

100.00

113.59

103.19

100.83

100.36

100.19

101.48

102.54

100.53

100.11

100.22

102.14

102.17

450.soplex

100.00

114.27

103.61

99.06

100.38

100.17

100.71

102.51

100.68

100.46

100.21

101.59

102.54

456.hmmer

100.00

115.49

103.10

101.47

100.56

100.34

102.09

102.38

101.09

100.29

100.22

102.03

102.29

458.sjeng

100.00

118.93

103.25

101.74

100.10

100.78

104.81

102.05

101.08

100.70

100.96

101.78

102.24

464.h264ref

100.00

118.50

103.05

102.59

100.67

99.98

102.11

101.96

100.82

102.10

100.26

101.41

101.45

470.lbm

100.00

116.59

102.86

103.90

100.54

100.83

100.19

101.44

103.82

100.07

99.97

101.64

101.26

471.omnetpp

100.00

117.54

103.09

100.75

101.16

101.09

102.63

102.49

100.91

100.36

101.03

103.79

102.89

bitmnp01

100.00

119.69

103.31

101.71

100.67

100.65

106.38

101.76

100.80

100.44

101.00

101.29

103.01

cjpegv2data6

100.00

114.98

103.14

103.23

100.35

99.38

100.34

102.19

100.22

100.76

99.85

100.78

101.46

idctrn01

100.00

117.38

105.40

103.05

100.45

99.85

100.73

102.81

102.58

99.83

100.55

100.40

100.98

libquake2

100.00

113.24

104.44

100.96

100.79

99.86

100.41

102.93

100.69

100.08

100.25

101.13

101.98

libquake_portable

100.00

113.69

104.06

100.95

100.41

99.59

99.78

102.43

100.51

100.02

100.27

100.94

101.86

libxcsoar

100.00

113.17

103.76

100.49

100.91

100.40

100.27

103.31

99.39

100.08

100.32

101.72

101.35

linpack

100.00

118.96

101.52

104.90

99.32

99.64

101.17

100.82

100.16

101.07

100.25

100.89

100.36

matrix01

100.00

118.42

103.95

101.52

100.12

99.92

104.34

102.65

100.73

100.28

99.88

100.98

101.43

nbench

100.00

116.96

102.57

104.06

100.10

100.03

101.10

101.36

101.36

100.76

99.88

100.52

100.93

tblook01

100.00

116.20

102.66

103.92

99.46

99.75

99.91

101.69

101.03

101.52

100.05

100.64

100.73

ttsprk01

100.00

118.95

105.09

102.43

100.82

100.87

104.06

102.62

101.53

100.82

101.06

101.21

101.79

Geomean

100.00

116.18

103.40

101.94

100.39

100.22

101.77

102.24

101.02

100.51

100.35

101.47

101.76


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130123/18c4a4f4/attachment.html>


More information about the llvm-commits mailing list