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

Eric Christopher echristo at gmail.com
Mon Sep 22 10:05:07 PDT 2014


>> 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.
>
> Hi Bill,
>
> I believe this is generally what Eric is suggesting, but
> FastISel::getRegForValue() is in the common code, so we have to change
> it in one of the backend-specific calls.  There is a call to
> TLI.isTypeLegal(VT) in FastISel::getRegForValue() that will call into
> PPCFastISel.isTypeLegal().  So you can add a check there for the VSX
> register classes and return false for now, and that will take care of it
> everywhere.
>

Not the register classes, but the types that would lead to those
classes. (f128 probably, etc)

-eric

> Thanks,
> Bill
>>
>> > 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