[llvm-commits] [llvm] r112567 - /llvm/trunk/lib/CodeGen/SimpleRegisterCoalescing.cpp

Evan Cheng evan.cheng at apple.com
Thu Sep 9 23:56:59 PDT 2010


On Aug 30, 2010, at 6:27 PM, Jakob Stoklund Olesen wrote:

> Author: stoklund
> Date: Mon Aug 30 20:27:49 2010
> New Revision: 112567
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=112567&view=rev
> Log:
> 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.

But that will make the coalescer simpler! It will no longer be appropriately named.

Evan

> 
> Modified:
>    llvm/trunk/lib/CodeGen/SimpleRegisterCoalescing.cpp
> 
> Modified: llvm/trunk/lib/CodeGen/SimpleRegisterCoalescing.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SimpleRegisterCoalescing.cpp?rev=112567&r1=112566&r2=112567&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/SimpleRegisterCoalescing.cpp (original)
> +++ llvm/trunk/lib/CodeGen/SimpleRegisterCoalescing.cpp Mon Aug 30 20:27:49 2010
> @@ -59,6 +59,11 @@
>                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 @@
>     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.
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits





More information about the llvm-commits mailing list