[PATCH] D23516: [ARM] Generate consistent frame records for Thumb2
Tim Northover via llvm-commits
llvm-commits at lists.llvm.org
Mon Aug 15 11:21:21 PDT 2016
t.p.northover added a comment.
> I've found these different conditions:
>
> - isTargetIOS() || isTargetWatchOS() // In ARMFrameLowering::hasFP
> - isTargetMachO() // In ARMSubtarget::splitFramePushPop
> - isTargetDarwin() // In ARMBaseRegisterInfo::getCalleeSavedRegs
Oh dear, that is a bit of a mess! I think we might be trying too hard to support the current situation.
The iOS special snowflake code seems to be basically a hack to ignore -fomit-frame-pointer (I spoke to Jim about this, and the best we could work out was that it might have been a workaround for an llvm-gcc limitation, never revisited since Clang came along).
With that removed, we seem to be left with something that's basically a duplicate of `noFramePointerElim` (just above your `hasABIFP`). If you simplify this, I'll put together a Clang patch to ignore and warn about -fomit-frame-pointer on iOS & watchOS.
Repository:
rL LLVM
https://reviews.llvm.org/D23516
More information about the llvm-commits
mailing list