This is an archive of the discontinued LLVM Phabricator instance.

Remove -mrelax-all from Clang -O0
AbandonedPublic

Authored by dberris on Jun 29 2016, 12:37 AM.

Details

Summary

Remove the -mrelax-all options passed onto the integrated assembler in -O0.

The -mrelax-all option causes short jumps emitted when lowering to be widened unconditionally. For cases where we need control of the length of the jump instruction (i.e. to make the jump instructions short) when lowering, -mrelax-all causes them all to be lengthened instead of relying on the instruction layout algorithms to make the decision appropriately.

Diff Detail

Event Timeline

dberris updated this revision to Diff 62183.Jun 29 2016, 12:37 AM
dberris retitled this revision from to Remove -mrelax-all from Clang -O0.
dberris updated this object.
dberris added reviewers: echristo, rafael, grosbach.
dberris added a subscriber: cfe-commits.

We need to benchmark this to see if it still makes a difference.

My canonical test is the .s of a lto of clang.

Cheers,
Rafael

Why are you making this change? I cannot see a justification in the description.

dberris updated this object.Jun 29 2016, 5:33 PM

Changed the description to provide a justification.

dberris abandoned this revision.Aug 20 2017, 5:56 PM