AArch64PBQPRegAlloc.h [plain text]
#ifndef LLVM_LIB_TARGET_AARCH64_AARCH64PBQPREGALOC_H
#define LLVM_LIB_TARGET_AARCH64_AARCH64PBQPREGALOC_H
#include "llvm/ADT/SetVector.h"
#include "llvm/CodeGen/PBQPRAConstraint.h"
namespace llvm {
class A57ChainingConstraint : public PBQPRAConstraint {
public:
void apply(PBQPRAGraph &G) override;
private:
SmallSetVector<unsigned, 32> Chains;
const TargetRegisterInfo *TRI;
bool addIntraChainConstraint(PBQPRAGraph &G, unsigned Rd, unsigned Ra);
void addInterChainConstraint(PBQPRAGraph &G, unsigned Rd, unsigned Ra);
};
}
#endif // LLVM_LIB_TARGET_AARCH64_AARCH64PBQPREGALOC_H