diff options
Diffstat (limited to 'clang-r353983/include/llvm/MC/MCFixupKindInfo.h')
| -rw-r--r-- | clang-r353983/include/llvm/MC/MCFixupKindInfo.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/clang-r353983/include/llvm/MC/MCFixupKindInfo.h b/clang-r353983/include/llvm/MC/MCFixupKindInfo.h new file mode 100644 index 00000000..0ea34866 --- /dev/null +++ b/clang-r353983/include/llvm/MC/MCFixupKindInfo.h @@ -0,0 +1,42 @@ +//===-- llvm/MC/MCFixupKindInfo.h - Fixup Descriptors -----------*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_MC_MCFIXUPKINDINFO_H +#define LLVM_MC_MCFIXUPKINDINFO_H + +namespace llvm { + +/// 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), + + /// Should this fixup kind force a 4-byte aligned effective PC value? + FKF_IsAlignedDownTo32Bits = (1 << 1) + }; + + /// A target specific name for the fixup kind. The names will be unique for + /// distinct kinds on any given target. + const char *Name; + + /// The bit offset to write the relocation into. + unsigned TargetOffset; + + /// 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; +}; + +} // End llvm namespace + +#endif |
