mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-21 23:17:16 +00:00
Move enabling the local stack allocation pass into the target where it belongs.
For now it's still a command line option, but the interface to the generic code doesn't need to know that. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111942 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -74,16 +74,6 @@ static cl::opt<bool> EnableMCLogging("enable-mc-api-logging", cl::Hidden,
|
||||
static cl::opt<bool> VerifyMachineCode("verify-machineinstrs", cl::Hidden,
|
||||
cl::desc("Verify generated machine code"),
|
||||
cl::init(getenv("LLVM_VERIFY_MACHINEINSTRS")!=NULL));
|
||||
// Enabled or disable local stack object block allocation. This is an
|
||||
// experimental pass that allocates locals relative to one another before
|
||||
// register allocation and then assigns them to actual stack slots as a block
|
||||
// later in PEI. This will eventually allow targets with limited index offset
|
||||
// range to allocate additional base registers (not just FP and SP) to
|
||||
// more efficiently reference locals, as well as handle situations where
|
||||
// locals cannot be referenced via SP or FP at all (dynamic stack realignment
|
||||
// together with variable sized objects, for example).
|
||||
cl::opt<bool> EnableLocalStackAlloc("enable-local-stack-alloc", cl::init(false),
|
||||
cl::Hidden, cl::desc("Enable pre-regalloc stack frame index allocation"));
|
||||
|
||||
static cl::opt<cl::boolOrDefault>
|
||||
AsmVerbose("asm-verbose", cl::desc("Add comments to directives."),
|
||||
@@ -354,11 +344,9 @@ bool LLVMTargetMachine::addCommonCodeGenPasses(PassManagerBase &PM,
|
||||
if (OptLevel != CodeGenOpt::None)
|
||||
PM.add(createOptimizePHIsPass());
|
||||
|
||||
// Assign local variables to stack slots relative to one another and simplify
|
||||
// frame index references where possible. Final stack slot locations will be
|
||||
// assigned in PEI.
|
||||
if (EnableLocalStackAlloc)
|
||||
PM.add(createLocalStackSlotAllocationPass());
|
||||
// If the target requests it, assign local variables to stack slots relative
|
||||
// to one another and simplify frame index references where possible.
|
||||
PM.add(createLocalStackSlotAllocationPass());
|
||||
|
||||
if (OptLevel != CodeGenOpt::None) {
|
||||
// With optimization, dead code should already be eliminated. However
|
||||
|
||||
Reference in New Issue
Block a user