mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 04:30:23 +00:00
[MachineLICM] A command-line option to hoist even cheap instructions
Add a command-line option to enable hoisting even cheap instructions (in low-register-pressure situations). This is turned off by default, but has proved useful for testing purposes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225470 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
089a4ba180
commit
9d1500e68f
@ -49,6 +49,11 @@ AvoidSpeculation("avoid-speculation",
|
||||
cl::desc("MachineLICM should avoid speculation"),
|
||||
cl::init(true), cl::Hidden);
|
||||
|
||||
static cl::opt<bool>
|
||||
HoistCheapInsts("hoist-cheap-insts",
|
||||
cl::desc("MachineLICM should hoist even cheap instructions"),
|
||||
cl::init(false), cl::Hidden);
|
||||
|
||||
STATISTIC(NumHoisted,
|
||||
"Number of machine instructions hoisted out of loops");
|
||||
STATISTIC(NumLowRP,
|
||||
@ -1075,7 +1080,7 @@ bool MachineLICM::CanCauseHighRegPressure(DenseMap<unsigned, int> &Cost,
|
||||
|
||||
// Don't hoist cheap instructions if they would increase register pressure,
|
||||
// even if we're under the limit.
|
||||
if (CheapInstr)
|
||||
if (CheapInstr && !HoistCheapInsts)
|
||||
return true;
|
||||
|
||||
for (unsigned i = BackTrace.size(); i != 0; --i) {
|
||||
|
Loading…
Reference in New Issue
Block a user