diff options
author | Chad Rosier <mcrosier@codeaurora.org> | 2015-12-29 18:18:07 +0000 |
---|---|---|
committer | Chad Rosier <mcrosier@codeaurora.org> | 2015-12-29 18:18:07 +0000 |
commit | 6b4326367ad95c39d83236cd30fb3e734f865157 (patch) | |
tree | 373d184f3787b3e31a1d6f89bc5959ec79adc6fd /llvm/lib/CodeGen/MachineBlockPlacement.cpp | |
parent | e7d82283cd59e334aea02140dacd7c3d518b48bf (diff) | |
download | llvm-6b4326367ad95c39d83236cd30fb3e734f865157.zip llvm-6b4326367ad95c39d83236cd30fb3e734f865157.tar.gz llvm-6b4326367ad95c39d83236cd30fb3e734f865157.tar.bz2 |
Add command line options to force function/loop alignments.
These are being added for testing purposes.
http://reviews.llvm.org/D15648
llvm-svn: 256571
Diffstat (limited to 'llvm/lib/CodeGen/MachineBlockPlacement.cpp')
-rw-r--r-- | llvm/lib/CodeGen/MachineBlockPlacement.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/MachineBlockPlacement.cpp b/llvm/lib/CodeGen/MachineBlockPlacement.cpp index fcddf34..f5e3056 100644 --- a/llvm/lib/CodeGen/MachineBlockPlacement.cpp +++ b/llvm/lib/CodeGen/MachineBlockPlacement.cpp @@ -62,6 +62,11 @@ static cl::opt<unsigned> AlignAllBlock("align-all-blocks", "blocks in the function."), cl::init(0), cl::Hidden); +static cl::opt<unsigned> + AlignAllLoops("align-all-loops", + cl::desc("Force the alignment of all loops in the function."), + cl::init(0), cl::Hidden); + // FIXME: Find a good default for this flag and remove the flag. static cl::opt<unsigned> ExitBlockBias( "block-placement-exit-block-bias", @@ -1329,6 +1334,11 @@ void MachineBlockPlacement::buildCFGChains(MachineFunction &F) { if (!L) continue; + if (AlignAllLoops) { + ChainBB->setAlignment(AlignAllLoops); + continue; + } + unsigned Align = TLI->getPrefLoopAlignment(L); if (!Align) continue; // Don't care about loop alignment. |