LazyCodeCore | Core definitions for the LCT oracle |
LazyCodeOracle | LCT Oracle implementation |
BTL_BlockOptimizer | Main interface to communicate with BTL oracles |
BTL_BlockOptimizeraux | Auxiliary function of the BTL prepass scheduler oracle |
InstructionScheduler | |
BTLcommonaux | Common tools for BTL oracles |
BTL_IfLiftingOracle | Prepass oracle extension to lift conditional branches |
BTL_Liveness | BTL additional tools to compute liveness information |
BTL_RegisterRenaming | BTL register renaming oracle, to be used with if-lifting |
BTL_Renumber | BTL CFG renumbering oracle |
BTL_SyntheticNodes | BTL auxiliary functions for successorship calculus and synthetic nodes |
BTLtoRTLaux | Translation from BTL to RTL and CFG factorization |
RTLtoBTLaux | Translation from RTL to BTL and block selection |
BTLtypes | Common type definitions for BTL: oracles' types and shadow fields |
PrepassSchedulingOracleDeps | Common type definitions for prepass scheduling |
PrintBTL | BTL instruction printer |
StoreMotionOracle | Store motion oracle that tries to delay store instructions |
Bitv | This module implements bit vectors, as an abstract datatype |
CSE3analysisaux | CSE3 oracle implementation |
Duplicateaux | Oracle for the Duplicate passes |
LazyCodeBackend | Backend specific functions for the LCT algorithm |
OpWeights | Latencies & resources information for prepass scheduling |
ExpansionOracle | Rewriting oracle to lift up macro-instructions expansion from Asmgen to BTL (RISC-V only) |
IntPromotionOracle | Oracle to promote integers into long (RISC-V only) |
PrepassSchedulingOracle | Prepass scheduler backend specific implementation |