| 
    LLVM 22.0.0git
    
   | 
 
#include "SIShrinkInstructions.h"#include "AMDGPU.h"#include "GCNSubtarget.h"#include "MCTargetDesc/AMDGPUMCTargetDesc.h"#include "Utils/AMDGPUBaseInfo.h"#include "llvm/ADT/Statistic.h"#include "llvm/CodeGen/MachineFunctionPass.h"Go to the source code of this file.
Macros | |
| #define | DEBUG_TYPE "si-shrink-instructions" | 
| The pass tries to use the 32-bit encoding for instructions when possible.   | |
Functions | |
| STATISTIC (NumInstructionsShrunk, "Number of 64-bit instruction reduced to 32-bit.") | |
| STATISTIC (NumLiteralConstantsFolded, "Number of literal constants folded into 32-bit instructions.") | |
| static unsigned | canModifyToInlineImmOp32 (const SIInstrInfo *TII, const MachineOperand &Src, int32_t &ModifiedImm, bool Scalar) | 
| #define DEBUG_TYPE "si-shrink-instructions" | 
The pass tries to use the 32-bit encoding for instructions when possible.
Definition at line 19 of file SIShrinkInstructions.cpp.
      
  | 
  static | 
Src can be replaced with if the constant is replaced with ModifiedImm. i.e.If the bitreverse of a constant is an inline immediate, reverse the immediate and return the bitreverse opcode.
If the bitwise negation of a constant is an inline immediate, reverse the immediate and return the bitwise not opcode.
Definition at line 205 of file SIShrinkInstructions.cpp.
References llvm::reverseBits(), and TII.
| STATISTIC | ( | NumInstructionsShrunk | , | 
| "Number of 64-bit instruction reduced to 32-bit." | ) |