mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-01 00:33:09 +00:00
Add experimental -disable-physical-join command line option.
Eventually, we want to disable physreg coalescing completely, and let the register allocator do its job using hints. This option makes it possible to measure the impact of disabling physreg coalescing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112567 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
49998ce46a
commit
e49e6a852b
@ -59,6 +59,11 @@ DisableCrossClassJoin("disable-cross-class-join",
|
||||
cl::desc("Avoid coalescing cross register class copies"),
|
||||
cl::init(false), cl::Hidden);
|
||||
|
||||
static cl::opt<bool>
|
||||
DisablePhysicalJoin("disable-physical-join",
|
||||
cl::desc("Avoid coalescing physical register copies"),
|
||||
cl::init(false), cl::Hidden);
|
||||
|
||||
INITIALIZE_AG_PASS(SimpleRegisterCoalescing, RegisterCoalescer,
|
||||
"simple-register-coalescing", "Simple Register Coalescing",
|
||||
false, false, true);
|
||||
@ -1036,6 +1041,11 @@ bool SimpleRegisterCoalescing::JoinCopy(CopyRec &TheCopy, bool &Again) {
|
||||
return false; // Not coalescable.
|
||||
}
|
||||
|
||||
if (DisablePhysicalJoin && CP.isPhys()) {
|
||||
DEBUG(dbgs() << "\tPhysical joins disabled.\n");
|
||||
return false;
|
||||
}
|
||||
|
||||
DEBUG(dbgs() << "\tConsidering merging %reg" << CP.getSrcReg());
|
||||
|
||||
// Enforce policies.
|
||||
|
Loading…
Reference in New Issue
Block a user