This is an archive of the discontinued LLVM Phabricator instance.

[X86] Fix PR23155 by turning on X86FixupBWInsts by default
ClosedPublic

Authored by kbsmith1 on Apr 7 2016, 1:52 PM.

Details

Summary

This fixes PR23155 by turning on the X86FixupBWInst optimization by default,
and modifies the few tests that are affected by this. The X86FixupBWInst optimization
already has its unit tests, which were checked in with its initial commit.

Diff Detail

Repository
rL LLVM

Event Timeline

kbsmith1 updated this revision to Diff 52952.Apr 7 2016, 1:52 PM
kbsmith1 retitled this revision from to [X86] Fix PR23155 by turning on X86FixupBWInsts by default.
kbsmith1 updated this object.
kbsmith1 added reviewers: spatel, qcolombet.
kbsmith1 added a subscriber: llvm-commits.
spatel accepted this revision.Apr 8 2016, 9:22 AM
spatel edited edge metadata.

LGTM.
Have you measured any other perf diffs using this pass besides the case in PR23155?

This revision is now accepted and ready to land.Apr 8 2016, 9:22 AM

Yes, I have run perf results locally on a number of different kinds of boxes. As stated this does generate exactly the code desired
for PR23155 (modulo the alignment differences noted as having some performance effect in that PR).

Some highlights
+8% on EEMBC/viterb (this was what motivated PR23155)
+3% on spec2000 parser
+2% on spec2000 twolf
+3% on EEMBC/ip_reassemblyIT,tcpbulk,tcpmixed
+2% on EEMBC/qos,natIT

a couple of minor degrades as well
-3 on EEMBC/puwmod01
-2 on coremark/zip-test
-2 on spec2006/libquantum -O2,but +1% -O2 +Haswell specific cpu tuning flags.

So, generally this doesn't make a big difference on benchmarks, but is more positive than negative.

This revision was automatically updated to reflect the committed changes.