summaryrefslogtreecommitdiff
path: root/bolt/lib/Passes/DataflowAnalysis.cpp
AgeCommit message (Collapse)Author
2022-12-06[BOLT][NFC] Use std::optional in MCPlusBuilderAmir Ayupov
Reviewed By: maksfb, #bolt Differential Revision: https://reviews.llvm.org/D139260
2022-05-11[BOLT][NFC] Use BitVector::set_bitsAmir Ayupov
Refactor and use `set_bits` BitVector interface. Reviewed By: rafauler Differential Revision: https://reviews.llvm.org/D125374
2022-02-09Add missing MC includes in bolt/serge-sans-paille
Changes needed after ef736a1c39f27ef4 that removes some implicit dependencies from MrCV headers.
2021-12-28[BOLT][NFC] Fix braces usage in PassesAmir Ayupov
Summary: Refactor bolt/*/Passes to follow the braces rule for if/else/loop from [LLVM Coding Standards](https://llvm.org/docs/CodingStandards.html). (cherry picked from FBD33344642)
2021-12-21[BOLT][NFC] Fix file-description commentsMaksim Panchenko
Summary: Fix comments at the start of source files. (cherry picked from FBD33274597)
2021-10-26[BOLT][NFC] Do not pass BinaryContext alongside BinaryFunctionMaksim Panchenko
Summary: BinaryContext is available via BinaryFunction::getBinaryContext(), hence there's no reason to pass both as arguments to a function. In a similar fashion, BinaryBasicBlock has an access to BinaryFunction via getFunction(). Eliminate unneeded arguments. (cherry picked from FBD31921680)
2021-10-08Rebase: [NFC] Refactor sources to be buildable in shared modeRafael Auler
Summary: Moves source files into separate components, and make explicit component dependency on each other, so LLVM build system knows how to build BOLT in BUILD_SHARED_LIBS=ON. Please use the -c merge.renamelimit=230 git option when rebasing your work on top of this change. To achieve this, we create a new library to hold core IR files (most classes beginning with Binary in their names), a new library to hold Utils, some command line options shared across both RewriteInstance and core IR files, a new library called Rewrite to hold most classes concerned with running top-level functions coordinating the binary rewriting process, and a new library called Profile to hold classes dealing with profile reading and writing. To remove the dependency from BinaryContext into X86-specific classes, we do some refactoring on the BinaryContext constructor to receive a reference to the specific backend directly from RewriteInstance. Then, the dependency on X86 or AArch64-specific classes is transfered to the Rewrite library. We can't have the Core library depend on targets because targets depend on Core (which would create a cycle). Files implementing the entry point of a tool are transferred to the tools/ folder. All header files are transferred to the include/ folder. The src/ folder was renamed to lib/. (cherry picked from FBD32746834)