Clone of mesa.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

AMDGPUUtil.h 1.2KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. //===-- AMDGPUUtil.h - TODO: Add brief description -------===//
  2. //
  3. // The LLVM Compiler Infrastructure
  4. //
  5. // This file is distributed under the University of Illinois Open Source
  6. // License. See LICENSE.TXT for details.
  7. //
  8. //===----------------------------------------------------------------------===//
  9. //
  10. // TODO: Add full description
  11. //
  12. //===----------------------------------------------------------------------===//
  13. #ifndef AMDGPU_UTIL_H
  14. #define AMDGPU_UTIL_H
  15. #include "AMDGPURegisterInfo.h"
  16. #include "llvm/Support/DataTypes.h"
  17. namespace llvm {
  18. class AMDILMachineFunctionInfo;
  19. class TargetMachine;
  20. class TargetRegisterInfo;
  21. bool isPlaceHolderOpcode(unsigned opcode);
  22. bool isTransOp(unsigned opcode);
  23. bool isTexOp(unsigned opcode);
  24. bool isReductionOp(unsigned opcode);
  25. bool isFCOp(unsigned opcode);
  26. /* XXX: Move these to AMDGPUInstrInfo.h */
  27. #define MO_FLAG_CLAMP (1 << 0)
  28. #define MO_FLAG_NEG (1 << 1)
  29. #define MO_FLAG_ABS (1 << 2)
  30. #define MO_FLAG_MASK (1 << 3)
  31. } /* End namespace llvm */
  32. namespace AMDGPU {
  33. void utilAddLiveIn(llvm::MachineFunction * MF, llvm::MachineRegisterInfo & MRI,
  34. const struct llvm::TargetInstrInfo * TII, unsigned physReg, unsigned virtReg);
  35. } // End namespace AMDGPU
  36. #endif /* AMDGPU_UTIL_H */