This is an archive of the discontinued LLVM Phabricator instance.

[BOLT][AArch64] Ignore functions with constant islands during ICF and VeneerElimination
ClosedPublic

Authored by treapster on Aug 15 2022, 3:35 AM.

Details

Diff Detail

Event Timeline

treapster created this revision.Aug 15 2022, 3:35 AM
Herald added a reviewer: Amir. · View Herald Transcript
Herald added a reviewer: maksfb. · View Herald Transcript
Herald added a project: Restricted Project. · View Herald Transcript
treapster requested review of this revision.Aug 15 2022, 3:35 AM
Herald added a project: Restricted Project. · View Herald TranscriptAug 15 2022, 3:35 AM
yota9 requested changes to this revision.Aug 15 2022, 4:08 AM
yota9 added inline comments.
bolt/include/bolt/Core/BinaryFunction.h
2016

What problem is solved here?

bolt/test/AArch64/prevent-ci-folding.s
3
This revision now requires changes to proceed.Aug 15 2022, 4:08 AM
treapster added inline comments.Aug 15 2022, 4:11 AM
bolt/include/bolt/Core/BinaryFunction.h
2016

The problem was that previous implementation returned true when there was a single $x symbol at the beginning of a function. Now we only consider data or dependencies.

yota9 requested changes to this revision.Aug 15 2022, 4:23 AM
yota9 added inline comments.
bolt/test/AArch64/prevent-ci-folding.s
5

Also build object using llvm-mc first

  1. RUN: llvm-mc -filetype=obj -triple aarch64-unknown-unknown %s -o %t.o
This revision now requires changes to proceed.Aug 15 2022, 4:23 AM
treapster updated this revision to Diff 452628.Aug 15 2022, 4:36 AM

Fix test once more

treapster updated this revision to Diff 452629.Aug 15 2022, 4:44 AM

Use llvm-mc

treapster marked an inline comment as done.Aug 15 2022, 4:45 AM
treapster marked an inline comment as done.
yota9 accepted this revision.Aug 17 2022, 3:08 PM

lgtm

This revision is now accepted and ready to land.Aug 17 2022, 3:08 PM