[llvm-commits] Patch: new backend for Hexagon processor

Eli Friedman eli.friedman at gmail.com
Wed Nov 16 16:48:12 PST 2011


On Tue, Nov 15, 2011 at 3:19 PM, Tony Linthicum <tlinth at codeaurora.org> wrote:
> On 11/14/2011 2:54 PM, Eli Friedman wrote:
>
>>
>> --- a/include/llvm/InitializePasses.h
>> +++ b/include/llvm/InitializePasses.h
>> @@ -233,6 +233,7 @@ void initializeVerifierPass(PassRegistry&);
>>  void initializeVirtRegMapPass(PassRegistry&);
>>  void initializeInstSimplifierPass(PassRegistry&);
>>
>> +void initializeHexagonHardwareLoopsPass(PassRegistry&);
>>  }
>>
>>  #endif
>>
>> This change shouldn't be necessary; only target-independent passes
>> need to be listed here, IIRC.
>>
>
> We are in the process of fixing this and will update with a new patch in a
> day or two.
>
>> Your changes to add Data128bitsDirective etc. seem a bit confused...
>> ".uleb128" is not a 128-bit integer in the sense you're using it.
>
> Sorry about that.  It's a hack to fix an exception handling issue and we
> didn't intend to send it out.  I've removed it in the attached patches.  We
> will submit a proper fix at a later date.
>
>> Also, please separate out the MC changes into a separate patch;
>> they're interesting changes mixed into a bunch of mechanical changes,
>> and it would be nice to have more eyes on them.
>
> Done.  Please let me know if you'd like any further breakdown of the
> patches.

The split should be fine as-is now.

It would be nice to see some more documentation in
docs/CodeGenerator.html for Hexagon-specific target information; it
looks like there are some interesting target-specific passes, and
other information might be useful.

I don't see any issues with the rest of the patch; I haven't looked at
the lib/Target/Hexagon/* bits in much detail, though.

-Eli




More information about the llvm-commits mailing list