mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-12-04 01:11:44 +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. llvm-svn: 225470
This commit is contained in:
parent
f4c5cf1d04
commit
c3810adbad
@ -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