[PATCH] Add a SubTargetFeature to enable Post RA Scheduling

Sanjay Patel spatel at rotateright.com
Tue Jun 17 17:42:40 PDT 2014


Hi Hal,

Thanks for looking at this. I agree that PostRA isn't a real subtarget feature, but using a processor model list (and a weirdly defined one at that - Atom, SLM, Other?) as a proxy for a pass seemed even worse. The existing code that asks "isAtom()" or "isSLM()" to decide about unrolling or changing LEAs feels wrong to me; we should be specifying the feature that we're interested in enabling directly rather than by asking what the CPU is. Is there a better way?

Our motivation here is that we'd like to eventually add Post RA scheduling by default when selecting the AMD btver2 target and possibly others. The existing enum and the CPU-based if-check will just grow over time if we leave it as-is. We'd also like to be able to optionally turn postRA scheduling off in llc and up in clang too.

http://reviews.llvm.org/D4183






More information about the llvm-commits mailing list