[llvm] r181927 - Implement PPC counter loops as a late IR-level pass

Ulrich Weigand Ulrich.Weigand at de.ibm.com
Thu May 16 08:03:45 PDT 2013


Hal Finkel <hfinkel at anl.gov> wrote on 16.05.2013 16:55:10:

> > Does this maybe need anything special to detect libgcc helper
> > function calls?
>
> In PPCCTRLoops.cpp:
>
>       } else if (isa<UIToFPInst>(J) || isa<SIToFPInst>(J) ||
>                  isa<FPToUIInst>(J) || isa<FPToSIInst>(J)) {
>         CastInst *CI = cast<CastInst>(J);
>         if (CI->getSrcTy()->getScalarType()->isPPC_FP128Ty() ||
>             CI->getDestTy()->getScalarType()->isPPC_FP128Ty())
>           return MadeChange;
>
> Is seems like this needs to be expanded to also pick up f64 cases
> when in 32-bit mode. Thanks!

Couldn't there also be cases where whether or not a helper call is
needed depends on the particular ISA level?  It seems fragile to
have to replicate that decision logic exactly ...

Isn't there way to check more generically whether a certain IR
statement is going to get expanded into a helper call?

Bye,
Ulrich




More information about the llvm-commits mailing list