1 //===-- AMDGPUUtil.h - AMDGPU Utility function declarations -----*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 // Declarations for utility functions common to all hw codegen targets.
12 //===----------------------------------------------------------------------===//
19 class MachineFunction
;
20 class MachineRegisterInfo
;
21 class TargetInstrInfo
;
27 bool isPlaceHolderOpcode(unsigned opcode
);
29 bool isTransOp(unsigned opcode
);
30 bool isTexOp(unsigned opcode
);
31 bool isReductionOp(unsigned opcode
);
32 bool isCubeOp(unsigned opcode
);
33 bool isFCOp(unsigned opcode
);
35 // XXX: Move these to AMDGPUInstrInfo.h
36 #define MO_FLAG_CLAMP (1 << 0)
37 #define MO_FLAG_NEG (1 << 1)
38 #define MO_FLAG_ABS (1 << 2)
39 #define MO_FLAG_MASK (1 << 3)
41 void utilAddLiveIn(llvm::MachineFunction
* MF
, llvm::MachineRegisterInfo
& MRI
,
42 const struct llvm::TargetInstrInfo
* TII
, unsigned physReg
, unsigned virtReg
);
44 } // End namespace AMDGPU
46 #endif // AMDGPU_UTIL_H