/// MCFixupKindInfo - Target independent information on a fixup kind.
struct MCFixupKindInfo {
+ enum FixupKindFlags {
+ /// Is this fixup kind PCrelative. This is used by the assembler backend to
+ /// evaluate fixup values in a target independent manner when possible.
+ FKF_IsPCRel = (1 << 0)
+ };
+
/// A target specific name for the fixup kind. The names will be unique for
/// distinct kinds on any given target.
const char *Name;
/// The number of bits written by this fixup. The bits are assumed to be
/// contiguous.
unsigned TargetSize;
+
+ /// Flags describing additional information on this fixup kind.
+ unsigned Flags;
};
/// MCCodeEmitter - Generic instruction encoding interface.
virtual unsigned getNumFixupKinds() const = 0;
/// getFixupKindInfo - Get information on a fixup kind.
- virtual MCFixupKindInfo &getFixupKindInfo(MCFixupKind Kind) const = 0;
+ virtual const MCFixupKindInfo &getFixupKindInfo(MCFixupKind Kind) const;
/// @}