Counter Strike : Global Offensive Source Code
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.

43 lines
1.3 KiB

  1. //===-- llvm/MC/MCFixupKindInfo.h - Fixup Descriptors -----------*- C++ -*-===//
  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. #ifndef LLVM_MC_MCFIXUPKINDINFO_H
  10. #define LLVM_MC_MCFIXUPKINDINFO_H
  11. namespace llvm {
  12. /// MCFixupKindInfo - Target independent information on a fixup kind.
  13. struct MCFixupKindInfo {
  14. enum FixupKindFlags {
  15. /// Is this fixup kind PCrelative? This is used by the assembler backend to
  16. /// evaluate fixup values in a target independent manner when possible.
  17. FKF_IsPCRel = (1 << 0),
  18. /// Should this fixup kind force a 4-byte aligned effective PC value?
  19. FKF_IsAlignedDownTo32Bits = (1 << 1)
  20. };
  21. /// A target specific name for the fixup kind. The names will be unique for
  22. /// distinct kinds on any given target.
  23. const char *Name;
  24. /// The bit offset to write the relocation into.
  25. unsigned TargetOffset;
  26. /// The number of bits written by this fixup. The bits are assumed to be
  27. /// contiguous.
  28. unsigned TargetSize;
  29. /// Flags describing additional information on this fixup kind.
  30. unsigned Flags;
  31. };
  32. } // End llvm namespace
  33. #endif