#include "AMDGPU.h"
#include "GCNSubtarget.h"
#include "llvm/ADT/SmallSet.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
usingnamespacellvm;
#define DEBUG_TYPE …
namespace {
class SIPostRABundler : public MachineFunctionPass { … };
constexpr uint64_t MemFlags = …;
}
INITIALIZE_PASS(…)
char SIPostRABundler::ID = …;
char &llvm::SIPostRABundlerID = …;
FunctionPass *llvm::createSIPostRABundlerPass() { … }
bool SIPostRABundler::isDependentLoad(const MachineInstr &MI) const { … }
void SIPostRABundler::collectUsedRegUnits(const MachineInstr &MI,
BitVector &UsedRegUnits) const { … }
bool SIPostRABundler::isBundleCandidate(const MachineInstr &MI) const { … }
bool SIPostRABundler::canBundle(const MachineInstr &MI,
const MachineInstr &NextMI) const { … }
bool SIPostRABundler::runOnMachineFunction(MachineFunction &MF) { … }