[llvm] r190309 - [ARMv8] Prevent generation of deprecated IT blocks on ARMv8 in Thumb mode.

Artyom Skrobov Artyom.Skrobov at arm.com
Fri Nov 22 07:00:07 PST 2013


Hello Hal & Tim,

> Okay, so the issue is that, for PPC, we can't 'skip' the conditional
> branches; they need to be checked to see if they can be predicated
> during the instruction scan. Unfortunately, I can't think of a better
> solution than to create a new TTI function what toggles between the
> two behaviors. What if we added
> TTI->willVanishIfPredicated(MachineInstr *MI)?

I'm attaching a new patch which reverts IfConverter::ScanInstructions to its original logic (checking the predicated status of the conditional branches) and implements Thumb2InstrInfo::isPredicated to reflect the somewhat unorthodox "conditional but not predicated" convention for the ARMv8/Thumb conditional branches.

Hal, can you confirm that this patch restores the correct functioning on PPC?

Tim, can you review my changes to Thumb2InstrInfo? In part, should the change depend on hasV8Ops?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: v8_IT_fix.patch
Type: application/octet-stream
Size: 3488 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20131122/fdc5010a/attachment.obj>


More information about the llvm-commits mailing list