LLVM 3.0 release notes ARM Target

I’ve done a first pass over the past 6 months of changes and some notable things stood out:

  • The ARM backend has reworked Set Jump Long Jump EH Lowering.
  • The ARM backend includes improved support for Cortex-M
  • The ARM backend adds parsing and encoding ARM/Thumb/Thumb2 assembly

There are also many many code generation improvements which select more optimal instructions.

Those seemed to be the big items, maybe you know of more and could help Chris with knowing what else is noteworthy for http://llvm.org/docs/ReleaseNotes.html#whatsnew

Cheers,

Joe Abbey
Software Architect
Arxan Technologies, Inc.
1305 Cumberland Ave, Ste 215
West Lafayette, IN 47906
jabbey@arxan.com
www.arxan.com

what do you mean by “more optimal instructions” ?

-omer

what do you mean by “more optimal instructions” ?

Could be bad wording… basically, the code generation for the ARM backend keeps getting better and better.

Here’s a sample of what I’m talking about:

r144488 | mcrosier | 2011-11-12 21:23:59 -0500 (Sat, 12 Nov 2011) | 10 lines

Add support for emitting both signed- and zero-extend loads. Fix
SimplifyAddress to handle either a 12-bit unsigned offset or the ARM +/-imm8
offsets (addressing mode 3). This enables a load followed by an integer
extend to be folded into a single load.

For example:
ldrb r1, [r0] ldrb r1, [r0]
uxtb r2, r1 =>
mov r3, r2 mov r3, r1

Great, thanks a lot Joe! Jim, can you add these to the releasenotes?

-Chris

I’ve done a first pass over the past 6 months of changes and some notable things stood out:

  • The ARM backend has reworked Set Jump Long Jump EH Lowering.
  • The ARM backend includes improved support for Cortex-M
  • The ARM backend adds parsing and encoding ARM/Thumb/Thumb2 assembly

There are also many many code generation improvements which select more optimal instructions.

Those seemed to be the big items, maybe you know of more and could help Chris with knowing what else is noteworthy for http://llvm.org/docs/ReleaseNotes.html#whatsnew

Great, thanks a lot Joe! Jim, can you add these to the releasenotes?

Sure thing. I owe you verbiage for the mcjit too. I’ll add that while I’m in there.

J