[LLVMdev] proposed change to class BasicTTI

reed kotler
Fri, 22 Mar 2013 16:22:59 -0000

For being able to change subtargets within a compilation unit, among
other things, I need to be able to change the target lowering class that
is used by BasicTTI

For example we have a mips16 and non mips16 version.

On the original call that creates this class, I'd like to pass the
address of the address of the TargetLoweringBase class.

That way I can insert a function pass before this pass which examines
the function attributes and changes the pointer.

So we would get:

ImmutablePass *
llvm::createBasicTargetTransformInfoPass(const TargetLoweringBase **TLI_) {
   return new BasicTTI(TLI);
}

we would add the variable

TargetLoweringBase **TLI_

and at the beginning of each pass

TLI = *TLI_;

Maybe there is a more elegant way to do this but this is essentially
what I need to do.