Page MenuHomePhabricator

Amir (Amir Ayupov)
BOLT @ Meta

Projects

User does not belong to any projects.

User Details

User Since
Nov 22 2019, 10:17 AM (174 w, 6 d)

Recent Activity

Today

Amir added a comment to D147150: [BOLT] Remove original relocs when moving JTs in relocation mode.

Nice solution. Can @maksfb sign off on this too? I'm not sure if he's aware.

Thu, Mar 30, 7:56 AM · Restricted Project, Restricted Project
Amir updated the summary of D147150: [BOLT] Remove original relocs when moving JTs in relocation mode.
Thu, Mar 30, 7:54 AM · Restricted Project, Restricted Project
Amir updated the diff for D147150: [BOLT] Remove original relocs when moving JTs in relocation mode.

Zero out the original jump table entries

Thu, Mar 30, 7:51 AM · Restricted Project, Restricted Project

Yesterday

Amir planned changes to D147150: [BOLT] Remove original relocs when moving JTs in relocation mode.

The plan is to explicitly zero out the original jump table entries to trigger a crash if we end up using them.

Wed, Mar 29, 2:28 PM · Restricted Project, Restricted Project
Amir added a comment to D146645: [BOLT] Create section symbols for inserted sections.

I'm testing it internally, will get back to it tomorrow

Wed, Mar 29, 12:50 PM · Restricted Project, Restricted Project
Amir updated the summary of D147155: [BOLT][NFC] Simplify instrumentFunction v2.
Wed, Mar 29, 7:08 AM · Restricted Project, Restricted Project
Amir requested review of D147155: [BOLT][NFC] Simplify instrumentFunction v2.
Wed, Mar 29, 6:55 AM · Restricted Project, Restricted Project
Amir requested review of D147150: [BOLT] Remove original relocs when moving JTs in relocation mode.
Wed, Mar 29, 6:31 AM · Restricted Project, Restricted Project

Mon, Mar 27

Amir accepted D144211: [BOLT] computing raw branch count for yaml profiles.

LGTM with small nits

Mon, Mar 27, 12:16 PM · Restricted Project, Restricted Project

Wed, Mar 22

Amir updated the summary of D146652: [BOLT][NFC] Change IsReadOnly -> IsWritable in EFMM::allocateSection.
Wed, Mar 22, 11:34 AM · Restricted Project, Restricted Project
Amir requested review of D146652: [BOLT][NFC] Change IsReadOnly -> IsWritable in EFMM::allocateSection.
Wed, Mar 22, 11:34 AM · Restricted Project, Restricted Project
Amir requested review of D146651: [BOLT][NFC] Change IsReadOnly -> IsWritable in registerOrUpdateNoteSection.
Wed, Mar 22, 11:30 AM · Restricted Project, Restricted Project
Amir requested review of D146650: [BOLT][NFC] Use IsWritable instead of IsReadOnly in BinarySection::getFlags.
Wed, Mar 22, 11:24 AM · Restricted Project, Restricted Project
Amir requested review of D146649: [BOLT][NFC] Simplify instrumentFunction.
Wed, Mar 22, 11:14 AM · Restricted Project, Restricted Project

Wed, Mar 15

Amir updated the diff for D145887: [BOLT][NFC] Use llvm::make_range.

Fix multimap erase

Wed, Mar 15, 4:51 PM · Restricted Project, Restricted Project
Amir committed rGc7af4f383df6: [BOLT][NFC] Simplify preprocessProfile (authored by Amir).
[BOLT][NFC] Simplify preprocessProfile
Wed, Mar 15, 12:56 PM · Restricted Project
Amir closed D146002: [BOLT][NFC] Simplify preprocessProfile.
Wed, Mar 15, 12:56 PM · Restricted Project, Restricted Project

Tue, Mar 14

Amir added inline comments to D146002: [BOLT][NFC] Simplify preprocessProfile.
Tue, Mar 14, 6:03 PM · Restricted Project, Restricted Project
Amir updated the diff for D146002: [BOLT][NFC] Simplify preprocessProfile.

Revert deleteTempFiles change

Tue, Mar 14, 6:02 PM · Restricted Project, Restricted Project
Amir added a comment to D145687: [BOLT] Add minimal RISC-V 64-bit support.

Thank you for working on it! Would you want to add a line to bolt/CODE_OWNERS.TXT?

Tue, Mar 14, 5:39 PM · Restricted Project, Restricted Project
Amir committed rGedda85771a5c: [BOLT][NFC] Move addRelocation{X86,AArch64} into MCPlusBuilder (authored by Amir).
[BOLT][NFC] Move addRelocation{X86,AArch64} into MCPlusBuilder
Tue, Mar 14, 5:34 PM · Restricted Project
Amir closed D131813: [BOLT][NFC] Move addRelocation{X86,AArch64} into MCPlusBuilder.
Tue, Mar 14, 5:34 PM · Restricted Project, Restricted Project
Amir committed rGce1061074dac: [BOLT][NFC] Simplify MCPlusBuilder::getRegSize (authored by Amir).
[BOLT][NFC] Simplify MCPlusBuilder::getRegSize
Tue, Mar 14, 5:27 PM · Restricted Project
Amir closed D145828: [BOLT][NFC] Simplify MCPlusBuilder::getRegSize.
Tue, Mar 14, 5:26 PM · Restricted Project, Restricted Project
Amir committed rG4e99891e7085: [BOLT][NFC] Provide default impl for MIB methods that are only overridden on X86 (authored by Amir).
[BOLT][NFC] Provide default impl for MIB methods that are only overridden on X86
Tue, Mar 14, 5:19 PM · Restricted Project
Amir closed D145972: [BOLT][NFC] Provide default impl for MIB methods that are only overridden on X86.
Tue, Mar 14, 5:19 PM · Restricted Project, Restricted Project
Amir added a comment to D146061: [ADT] Make llvm::is_contained call member `contains` or `find` when available.

I’m fully supportive of this change. BOLT uses this interface which helps maintaibilty as it clearly states the intent and is robust wrt container type change. It’s a clear win to also have the same runtime characteristics as find.

Tue, Mar 14, 5:01 PM · Restricted Project, Restricted Project
Amir added a comment to D145464: [BOLT][NFC] Use llvm::is_contained.

FYI, by a quick scan through the patch, it seems like a likely pessimization. Currently, llvm::is_contained performs a linear scan to find the element, while .find(x) is typically O(1) or O(log n). Related discussion on this topic: https://reviews.llvm.org/D146061

Tue, Mar 14, 3:51 PM · Restricted Project, Restricted Project
Amir updated the diff for D145972: [BOLT][NFC] Provide default impl for MIB methods that are only overridden on X86.

clang-format

Tue, Mar 14, 3:43 PM · Restricted Project, Restricted Project
Amir committed rG2eae9d8eb2f6: [BOLT][NFC] Use llvm::is_contained (authored by Amir).
[BOLT][NFC] Use llvm::is_contained
Tue, Mar 14, 3:37 PM · Restricted Project
Amir closed D145464: [BOLT][NFC] Use llvm::is_contained.
Tue, Mar 14, 3:37 PM · Restricted Project, Restricted Project
Amir committed rG16e67e6932ef: [BOLT][NFC] Remove BB::getBranchInfo accepting MCSymbol ptr (authored by Amir).
[BOLT][NFC] Remove BB::getBranchInfo accepting MCSymbol ptr
Tue, Mar 14, 3:35 PM · Restricted Project
Amir closed D144924: [BOLT][NFC] Remove BB::getBranchInfo accepting MCSymbol ptr.
Tue, Mar 14, 3:35 PM · Restricted Project, Restricted Project

Mon, Mar 13

Amir requested review of D146002: [BOLT][NFC] Simplify preprocessProfile.
Mon, Mar 13, 5:02 PM · Restricted Project, Restricted Project
Amir updated the diff for D131813: [BOLT][NFC] Move addRelocation{X86,AArch64} into MCPlusBuilder.

Rename isSupportedRelocation to shouldRecordCodeRelocation, add comment.

Mon, Mar 13, 2:55 PM · Restricted Project, Restricted Project
Amir committed rG223ec28da44f: [BOLT][NFC] Return instruction list from createInstrIncMemory (authored by Amir).
[BOLT][NFC] Return instruction list from createInstrIncMemory
Mon, Mar 13, 12:57 PM · Restricted Project
Amir closed D145465: [BOLT][NFC] Return instruction list from createInstrIncMemory.
Mon, Mar 13, 12:57 PM · Restricted Project, Restricted Project
Amir committed rG4875e0670926: [BOLT][NFC] Improve performance of MCPlusBuilder::initAliases (authored by jobnoorman).
[BOLT][NFC] Improve performance of MCPlusBuilder::initAliases
Mon, Mar 13, 11:51 AM · Restricted Project
Amir closed D145779: [BOLT][NFC] Improve performance of MCPlusBuilder::initAliases.
Mon, Mar 13, 11:51 AM · Restricted Project, Restricted Project
Amir added a comment to D145779: [BOLT][NFC] Improve performance of MCPlusBuilder::initAliases.

Yes, one accept is enough. Please provide a commit author and email and I'll push it for you.

Mon, Mar 13, 11:40 AM · Restricted Project, Restricted Project
Amir requested review of D145972: [BOLT][NFC] Provide default impl for MIB methods that are only overridden on X86.
Mon, Mar 13, 11:36 AM · Restricted Project, Restricted Project

Sun, Mar 12

Amir requested review of D145887: [BOLT][NFC] Use llvm::make_range.
Sun, Mar 12, 3:10 PM · Restricted Project, Restricted Project

Sat, Mar 11

Amir updated the diff for D143617: [Clang][CMake] Support perf, LBR, and Instrument CLANG_BOLT options.

Rebase

Sat, Mar 11, 1:36 PM · Restricted Project, Restricted Project
Amir added a reverting change for rZORG58f12fafc988: [BOLT] Set jobs=2 for bolt-worker-aarch64: rZORGbdf3b8b57c2c: Revert "[BOLT] Set jobs=2 for bolt-worker-aarch64".
Sat, Mar 11, 8:31 AM · Restricted Project
Amir committed rZORGbdf3b8b57c2c: Revert "[BOLT] Set jobs=2 for bolt-worker-aarch64" (authored by Amir).
Revert "[BOLT] Set jobs=2 for bolt-worker-aarch64"
Sat, Mar 11, 8:31 AM · Restricted Project

Fri, Mar 10

Amir accepted D145791: [MC] Always encode instruction into SmallVector.

BOLT changes LGTM

Fri, Mar 10, 5:36 PM · Restricted Project, Restricted Project
Amir accepted D145779: [BOLT][NFC] Improve performance of MCPlusBuilder::initAliases.

Thanks!

Fri, Mar 10, 3:04 PM · Restricted Project, Restricted Project
Amir requested changes to D145792: [X86][MC] Emit instructions into SmallVector.

Please also take care of BOLT call sites.

Fri, Mar 10, 2:59 PM · Restricted Project, Restricted Project
Amir updated the diff for D145828: [BOLT][NFC] Simplify MCPlusBuilder::getRegSize.

clang-format

Fri, Mar 10, 2:27 PM · Restricted Project, Restricted Project
Amir requested review of D145828: [BOLT][NFC] Simplify MCPlusBuilder::getRegSize.
Fri, Mar 10, 1:41 PM · Restricted Project, Restricted Project

Tue, Mar 7

Amir retitled D145465: [BOLT][NFC] Return instruction list from createInstrIncMemory from [BOLT][NFC] Return instruction list from createInstrumentationSnippet to [BOLT][NFC] Return instruction list from createInstrIncMemory.
Tue, Mar 7, 11:48 AM · Restricted Project, Restricted Project

Mon, Mar 6

Amir updated the summary of D145465: [BOLT][NFC] Return instruction list from createInstrIncMemory.
Mon, Mar 6, 9:07 PM · Restricted Project, Restricted Project
Amir requested review of D145465: [BOLT][NFC] Return instruction list from createInstrIncMemory.
Mon, Mar 6, 9:04 PM · Restricted Project, Restricted Project
Amir requested review of D145464: [BOLT][NFC] Use llvm::is_contained.
Mon, Mar 6, 9:00 PM · Restricted Project, Restricted Project

Fri, Mar 3

Amir committed rG1e1dfbb94a20: [BOLT][Instrumentation] Preserve red zone for functions with tail calls only (authored by Amir).
[BOLT][Instrumentation] Preserve red zone for functions with tail calls only
Fri, Mar 3, 12:02 PM · Restricted Project
Amir closed D145202: [BOLT][Instrumentation] Preserve red zone for functions with tail calls only.
Fri, Mar 3, 12:02 PM · Restricted Project, Restricted Project
Amir added a comment to D145202: [BOLT][Instrumentation] Preserve red zone for functions with tail calls only.

Thanks for a review!

Fri, Mar 3, 10:26 AM · Restricted Project, Restricted Project
Amir accepted D145194: [BOLT] Remove dependency on StringMap iteration order.

What's the reason behind Counts/JumpTableCounts being a MapVector<StringRef, uint64_t in ReorderData::assignMemData but NamesToBranchesMapTy being an std::map<StringRef, FuncBranchData>?

Fri, Mar 3, 9:15 AM · Restricted Project, Restricted Project

Thu, Mar 2

Amir updated the summary of D145202: [BOLT][Instrumentation] Preserve red zone for functions with tail calls only.
Thu, Mar 2, 4:03 PM · Restricted Project, Restricted Project
Amir requested review of D145202: [BOLT][Instrumentation] Preserve red zone for functions with tail calls only.
Thu, Mar 2, 3:44 PM · Restricted Project, Restricted Project

Feb 27 2023

Amir added a comment to D144211: [BOLT] computing raw branch count for yaml profiles.

Is that primarily needed for "X out of Y samples in the binary (Z%) belong to functions with invalid (possibly stale) profile" log message? Can you add a test using yaml profile, e.g. based on bolt/test/X86/pre-aggregated-perf.test?

Feb 27 2023, 4:52 PM · Restricted Project, Restricted Project
Amir added a comment to D143553: [Clang][CMake] Use perf-training for Clang-BOLT.

Ping @phosek

Feb 27 2023, 4:07 PM · Restricted Project, Restricted Project
Amir updated the diff for D143553: [Clang][CMake] Use perf-training for Clang-BOLT.

Rebase, reduce changes

Feb 27 2023, 4:01 PM · Restricted Project, Restricted Project
Amir committed rGd77f96a9e0c8: [BOLT][NFC] Simplify BinaryFunction::setTrapOnEntry (authored by Amir).
[BOLT][NFC] Simplify BinaryFunction::setTrapOnEntry
Feb 27 2023, 3:42 PM · Restricted Project
Amir closed D144758: [BOLT][NFC] Simplify BinaryFunction::setTrapOnEntry.
Feb 27 2023, 3:41 PM · Restricted Project, Restricted Project
Amir committed rGc30ab9dcff3f: [BOLT][NFC] Log reversing splitting decision (authored by Amir).
[BOLT][NFC] Log reversing splitting decision
Feb 27 2023, 3:28 PM · Restricted Project
Amir closed D144674: [BOLT][NFC] Log reversing splitting decision.
Feb 27 2023, 3:28 PM · Restricted Project, Restricted Project
Amir committed rG1c286acfb818: [BOLT] Prevent unsetting unknown control flow for split jump table (authored by Amir).
[BOLT] Prevent unsetting unknown control flow for split jump table
Feb 27 2023, 3:23 PM · Restricted Project
Amir committed rG08ab4faf1aa3: [BOLT][NFC] Const-ify analyzeJumpTable (authored by Amir).
[BOLT][NFC] Const-ify analyzeJumpTable
Feb 27 2023, 3:23 PM · Restricted Project
Amir closed D144602: [BOLT] Prevent unsetting unknown control flow for split jump table.
Feb 27 2023, 3:22 PM · Restricted Project, Restricted Project
Amir closed D144598: [BOLT][NFC] Const-ify analyzeJumpTable.
Feb 27 2023, 3:22 PM · Restricted Project, Restricted Project
Amir requested review of D144924: [BOLT][NFC] Remove BB::getBranchInfo accepting MCSymbol ptr.
Feb 27 2023, 3:17 PM · Restricted Project, Restricted Project
Amir accepted D144865: [BOLT] Pass instrumentation-file arg for X86 xmm test.
Feb 27 2023, 12:12 PM · Restricted Project, Restricted Project

Feb 24 2023

Amir requested review of D144758: [BOLT][NFC] Simplify BinaryFunction::setTrapOnEntry.
Feb 24 2023, 1:25 PM · Restricted Project, Restricted Project

Feb 23 2023

Amir requested review of D144674: [BOLT][NFC] Log reversing splitting decision.
Feb 23 2023, 2:35 PM · Restricted Project, Restricted Project
Amir accepted D144593: fix check-bolt tests on arm64.

Nevermind, bolt/test/X86/lit.local.cfg actually has the required check.

Feb 23 2023, 10:54 AM · Restricted Project, Restricted Project
Amir requested changes to D144593: fix check-bolt tests on arm64.

Did you build without LLVM_ENABLE_TARGETS=X86? The test passes on aarch64 buildbot running here: https://lab.llvm.org/buildbot/#/builders/221/builds/10483
Let's keep these tests in common folder and add a proper requires statement.

Feb 23 2023, 10:50 AM · Restricted Project, Restricted Project

Feb 22 2023

Amir added a comment to D144551: [BOLT][X86][NFC] Simplify the code of X86MCPlusBuilder::getAliasSized.

BTW, I'd like to ask if there any OS requirement for the bolt build @Amir ? I followed the instructions in https://code.ornl.gov/llvm-doe/llvm-project/-/tree/doe/bolt, but could not build bolt on RHEL9. Lots of "can not find header files errors".

Feb 22 2023, 6:51 PM · Restricted Project, Restricted Project
Amir updated the diff for D144602: [BOLT] Prevent unsetting unknown control flow for split jump table.

Simplify debug message

Feb 22 2023, 5:25 PM · Restricted Project, Restricted Project
Amir updated the diff for D144602: [BOLT] Prevent unsetting unknown control flow for split jump table.

Update test

Feb 22 2023, 5:02 PM · Restricted Project, Restricted Project
Amir requested review of D144602: [BOLT] Prevent unsetting unknown control flow for split jump table.
Feb 22 2023, 4:51 PM · Restricted Project, Restricted Project
Amir requested review of D144598: [BOLT][NFC] Const-ify analyzeJumpTable.
Feb 22 2023, 3:28 PM · Restricted Project, Restricted Project
Amir committed rG48a215ae6c51: [BOLT][NFC] Return struct from evaluateX86MemoryOperand (authored by Amir).
[BOLT][NFC] Return struct from evaluateX86MemoryOperand
Feb 22 2023, 12:07 PM · Restricted Project
Amir closed D144310: [BOLT][NFC] Return struct from evaluateX86MemoryOperand.
Feb 22 2023, 12:06 PM · Restricted Project, Restricted Project
Amir committed rZORG521d9a026988: [BOLT] Only notify about warnings from NFC builder (authored by Amir).
[BOLT] Only notify about warnings from NFC builder
Feb 22 2023, 12:06 PM · Restricted Project
Amir accepted D144551: [BOLT][X86][NFC] Simplify the code of X86MCPlusBuilder::getAliasSized.

Nice, thank you for reducing it!

Feb 22 2023, 10:59 AM · Restricted Project, Restricted Project

Feb 17 2023

Amir requested review of D144310: [BOLT][NFC] Return struct from evaluateX86MemoryOperand.
Feb 17 2023, 5:26 PM · Restricted Project, Restricted Project

Feb 16 2023

Amir added inline comments to D142668: [BOLT] Add isParentOf and isSiblingOf BinaryFunction methods.
Feb 16 2023, 4:04 PM · Restricted Project, Restricted Project
Amir abandoned D130071: [BOLT] Adapted policy checks for stripped binaries.
Feb 16 2023, 2:27 PM · Restricted Project, Restricted Project
Amir commandeered D130071: [BOLT] Adapted policy checks for stripped binaries.

Reject stripped binaries as a policy (D142686).

Feb 16 2023, 2:27 PM · Restricted Project, Restricted Project

Feb 13 2023

Amir committed rGb673135bb833: [Release] Produce bolt tarball (authored by Peter Jung <admin@ptr1337.dev>).
[Release] Produce bolt tarball
Feb 13 2023, 2:02 PM · Restricted Project, Restricted Project
Amir closed D143809: [Release] Produce bolt tarball.
Feb 13 2023, 2:02 PM · Restricted Project, Restricted Project
Amir added a comment to D143809: [Release] Produce bolt tarball.

@ptr1337 what name and email should I use in a commit?

Feb 13 2023, 11:30 AM · Restricted Project, Restricted Project
Amir committed rZORGf517c4662ef4: [BOLT] Use CMAKE_*_COMPILER_LAUNCHER (authored by Amir).
[BOLT] Use CMAKE_*_COMPILER_LAUNCHER
Feb 13 2023, 11:26 AM · Restricted Project
Amir closed D143926: [BOLT] Use CMAKE_*_COMPILER_LAUNCHER.
Feb 13 2023, 11:26 AM · Restricted Project
Amir requested review of D143926: [BOLT] Use CMAKE_*_COMPILER_LAUNCHER.
Feb 13 2023, 8:58 AM · Restricted Project

Feb 12 2023

Amir requested review of D143876: [BOLT] Add support for reading YAML profile v2 (WIP).
Feb 12 2023, 9:13 PM · Restricted Project, Restricted Project
Amir requested review of D143875: [BOLT] Add general support for multiple binary profiles (WIP).
Feb 12 2023, 9:12 PM · Restricted Project, Restricted Project

Feb 11 2023

Amir committed rG6a75aec09098: [Clang][perf-training] Remove trailing whitespace in perf-helper (authored by Amir).
[Clang][perf-training] Remove trailing whitespace in perf-helper
Feb 11 2023, 9:11 PM · Restricted Project, Restricted Project
Amir accepted D143809: [Release] Produce bolt tarball.

Thanks, looks good to me. Will need to backport to release/16.x branch

Feb 11 2023, 4:39 PM · Restricted Project, Restricted Project