[PATCH] [PATCH] Test case and FastISel fixes with FeatureVSX enabled

Bill Seurer seurer at linux.vnet.ibm.com
Mon Sep 22 08:11:02 PDT 2014


>>! In D5362#12, @hfinkel wrote:
> Thanks for working on this!
> 
> Regarding approach, instead of disabling parts of FastISel when VSX is enabled, why don't we disable VSX when FastISel would be used? For example, what if in PPCSubtarget::initSubtargetFeatures we added something like this after the call to ParseSubtargetFeatures:
> 
>   if (OptLevel == CodeGenOpt::None) or even better if possible (TM.Options.EnableFastISel)
>     HasVSX = false;
> 
> (we already do something similar for little-Endian mode currently). Then we just need to add an assert in the FastISel implementation that VSX is not enabled.

How about changing getRegForValue to return 0 if it ends up with a VSX register.  All the uses of getRegForValue already check for a 0 return value.  That moves the code to just one spot and there are already multiple checks there for things that FastISel can't handle.

> As a general note, please upload full-context diffs in the future (see http://llvm.org/docs/Phabricator.html for instructions).

Will do.

http://reviews.llvm.org/D5362






More information about the llvm-commits mailing list