[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