[LLVMdev] something better than .align for branch targets (original) (raw)

Steve King steve at metrokings.com
Wed Jul 1 13:46:10 PDT 2015


Is there an existing way for a target to express a "near enough" semantic for code alignment?

After more investigation:

The .align directive supports an optional MaxFillBytes parameter, which would nicely prevent the over-padding problem. However, MachineBlockPlacement cannot use this feature when aligning loops since targets support getPrefLoopAlignment(), but not getPrefLoopAlignmentMaxFill().

Does anyone dislike the idea of a new target lowering query getPrefLoopAlignmentMaxFill()? This new query would allow MachineBlockPlacement to specify the align directive's MaxFillBytes parameter when aligning loops. Targets could then control over-padding as they see fit. If there are no objections, I will submit a patch.



More information about the llvm-dev mailing list