summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC/TargetAsmBackend.cpp
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2010-12-16 03:20:06 +0000
committerDaniel Dunbar <daniel@zuster.org>2010-12-16 03:20:06 +0000
commit0c9d9fdd81a248369c822025dea11ddd0884944c (patch)
tree0732de3a40ff43349299cb306d47e68697b4f635 /llvm/lib/MC/TargetAsmBackend.cpp
parente4ec90e990e0d84282c79cae6e221a36b81d7665 (diff)
downloadbcm5719-llvm-0c9d9fdd81a248369c822025dea11ddd0884944c.tar.gz
bcm5719-llvm-0c9d9fdd81a248369c822025dea11ddd0884944c.zip
MC: Move target specific fixup info descriptors to TargetAsmBackend instead of
the MCCodeEmitter, which seems like a better organization. - Also, cleaned up some magic constants while in the area. llvm-svn: 121953
Diffstat (limited to 'llvm/lib/MC/TargetAsmBackend.cpp')
-rw-r--r--llvm/lib/MC/TargetAsmBackend.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/llvm/lib/MC/TargetAsmBackend.cpp b/llvm/lib/MC/TargetAsmBackend.cpp
index 7ad215b9bf1..156bf19b436 100644
--- a/llvm/lib/MC/TargetAsmBackend.cpp
+++ b/llvm/lib/MC/TargetAsmBackend.cpp
@@ -18,3 +18,20 @@ TargetAsmBackend::TargetAsmBackend()
TargetAsmBackend::~TargetAsmBackend() {
}
+
+const MCFixupKindInfo &
+TargetAsmBackend::getFixupKindInfo(MCFixupKind Kind) const {
+ static const MCFixupKindInfo Builtins[] = {
+ { "FK_Data_1", 0, 8, 0 },
+ { "FK_Data_2", 0, 16, 0 },
+ { "FK_Data_4", 0, 32, 0 },
+ { "FK_Data_8", 0, 64, 0 },
+ { "FK_PCRel_1", 0, 8, MCFixupKindInfo::FKF_IsPCRel },
+ { "FK_PCRel_2", 0, 16, MCFixupKindInfo::FKF_IsPCRel },
+ { "FK_PCRel_4", 0, 32, MCFixupKindInfo::FKF_IsPCRel }
+ };
+
+ assert(Kind <= sizeof(Builtins) / sizeof(Builtins[0]) &&
+ "Unknown fixup kind");
+ return Builtins[Kind];
+}
OpenPOWER on IntegriCloud