[PATCH] D70126: [PowerPC] Refactor FinishCall [NFC]
Xiangling Liao via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Dec 3 07:09:13 PST 2019
Xiangling_L added a comment.
I couldn't apply your patch on latest master branch, do you mind updating it?
================
Comment at: llvm/lib/Target/PowerPC/PPCISelLowering.cpp:5029
+ // need to jump to the local entry point (see rL211174).
+ if (!Subtarget.usesFunctionDescriptors() && !Subtarget.isELFv2ABI() &&
+ isBLACompatibleAddress(Callee, DAG))
----------------
sfertile wrote:
> Xiangling_L wrote:
> > It looks like `!Subtarget.usesFunctionDescriptors() && !Subtarget.isELFv2ABI() ` eqauls to `isDarwin() || is32ELFv1ABI()`, but AFAIK Darwin is abondoned, and there is no 32bit ELFv1 ABI(Correct me if I am wrong), can we skip this query?
> There is only a single 32-bit ELF ABI so we don't need to disambiguate it by calling it v1.The current condition is equivalent to `isDarwin() || is32BitELFABI()`. Targeting Darwin is deprecated, but we haven't started ripping out the Darwin code yet so condensing to just `is32BitELFABI()` is a bit premature in my opinion. I used the form above to try to highlight that the specific ABIs have features which are incompatable with a BLA but I think the comment here and the description in rL2111174 convey that accurately so we can switch to your suggested ` isDarwin() || is32BitELFABI()` if you feel strongly.
Thank you for your clarification. I also think `!Subtarget.usesFunctionDescriptors() && !Subtarget.isELFv2ABI()` is better, it's more descriptive.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D70126/new/
https://reviews.llvm.org/D70126
More information about the llvm-commits
mailing list