[PATCH] D115230: [X86] Use bundle for CALL_RVMARKER expansion.

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 13 09:09:13 PST 2021


fhahn updated this revision to Diff 393916.
fhahn added a comment.



In D115230#3186380 <https://reviews.llvm.org/D115230#3186380>, @ahatanak wrote:

> In D115230#3180259 <https://reviews.llvm.org/D115230#3180259>, @fhahn wrote:
>
>> Updated to only use bundles during expansion for Darwin platforms. This keeps it in sync with TargetMachine (for now the bundle expansion pass is only scheduled on Darwin platforms).
>
> Is it possible to pass a predicate functor to `createUnpackMachineBundle`? The functor would just check the presence of ObjC module flags or declarations of the ObjC ARC runtime functions in the module and `UnpackMachineBundles::runOnMachineFunction` would return early if they don't exist in the module.
>
> I'm assuming the pass is enabled only on Darwin to avoid the overhead of running the pass when it's not needed.

I updated the code to check for 2 runtime functions, but this requires including hard-coded runtime strings. Do you have any better ideas/suggestions?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D115230/new/

https://reviews.llvm.org/D115230

Files:
  llvm/lib/Target/X86/X86ExpandPseudo.cpp
  llvm/lib/Target/X86/X86TargetMachine.cpp
  llvm/test/CodeGen/X86/call-rv-marker.ll
  llvm/test/CodeGen/X86/expand-call-rvmarker.mir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D115230.393916.patch
Type: text/x-patch
Size: 7743 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20211213/6f3b6316/attachment.bin>


More information about the llvm-commits mailing list