This is an archive of the discontinued LLVM Phabricator instance.

[clang] Add clang support for Machine Function Splitting on AArch64
ClosedPublic

Authored by dhoekwater on Aug 4 2023, 4:24 PM.

Details

Summary

On x86 targets, -fsplit-machine-functions enables splitting of machine
functions using profile information. This patch rolls out the flag for
AArch64 targets.

Depends on D158647

Diff Detail

Event Timeline

dhoekwater created this revision.Aug 4 2023, 4:24 PM
Herald added a project: Restricted Project. · View Herald TranscriptAug 4 2023, 4:24 PM
dhoekwater requested review of this revision.Aug 4 2023, 4:24 PM
Herald added a project: Restricted Project. · View Herald TranscriptAug 4 2023, 4:24 PM
mingmingl accepted this revision.Aug 18 2023, 1:06 PM
mingmingl added inline comments.
clang/test/Driver/fsplit-machine-functions.c
4

nit: would -target aarch64 be sufficient here? if yes it's more general.

This revision is now accepted and ready to land.Aug 18 2023, 1:06 PM
MaskRay added inline comments.Aug 18 2023, 1:08 PM
clang/lib/Driver/ToolChains/Clang.cpp
5852

AArch64.

Arm can mean AArch32 (often written as "ARM").

clang/test/Driver/fsplit-machine-functions.c
4

Use --target= for new tests. --target=aarch64 is sufficient and preferred for generic ELF features.

9

Just reuse CHECK-OPT

dhoekwater marked 4 inline comments as done.
dhoekwater edited the summary of this revision. (Show Details)

Make a comment more accurate and simplify test command functions

dhoekwater added inline comments.Aug 28 2023, 3:45 PM
clang/lib/Driver/ToolChains/Clang.cpp
5852

Nice catch, fixed.

clang/test/Driver/fsplit-machine-functions.c
4

Thanks for the feedback! Fixed.

9

Fixed.

Rebase onto main

Hopefully get rid of a dead dependency

dhoekwater edited the summary of this revision. (Show Details)

Remove a dependency to see if that fixes things.

dhoekwater edited the summary of this revision. (Show Details)

Add the old dependency to hopefully get the change to propagate when I remove it

dhoekwater edited the summary of this revision. (Show Details)

Remove the dependency again

Harbormaster completed remote builds in B255345: Diff 554100.