119bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman//===-- MCAsmBackend.cpp - Target MC Assembly Backend ----------------------==//
219bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman//
319bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman//                     The LLVM Compiler Infrastructure
419bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman//
519bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman// This file is distributed under the University of Illinois Open Source
619bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman// License. See LICENSE.TXT for details.
719bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman//
819bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman//===----------------------------------------------------------------------===//
919bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman
1019bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman#include "llvm/MC/MCAsmBackend.h"
1119bac1e08be200c31efd26f0f5fd144c9b3eefd3John Baumanusing namespace llvm;
1219bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman
1319bac1e08be200c31efd26f0f5fd144c9b3eefd3John BaumanMCAsmBackend::MCAsmBackend()
1419bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman  : HasReliableSymbolDifference(false)
1519bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman{
1619bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman}
1719bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman
1819bac1e08be200c31efd26f0f5fd144c9b3eefd3John BaumanMCAsmBackend::~MCAsmBackend() {
1919bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman}
2019bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman
2119bac1e08be200c31efd26f0f5fd144c9b3eefd3John Baumanconst MCFixupKindInfo &
2219bac1e08be200c31efd26f0f5fd144c9b3eefd3John BaumanMCAsmBackend::getFixupKindInfo(MCFixupKind Kind) const {
2319bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman  static const MCFixupKindInfo Builtins[] = {
2419bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman    { "FK_Data_1", 0, 8, 0 },
2519bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman    { "FK_Data_2", 0, 16, 0 },
2619bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman    { "FK_Data_4", 0, 32, 0 },
2719bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman    { "FK_Data_8", 0, 64, 0 },
2819bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman    { "FK_PCRel_1", 0, 8, MCFixupKindInfo::FKF_IsPCRel },
2919bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman    { "FK_PCRel_2", 0, 16, MCFixupKindInfo::FKF_IsPCRel },
3019bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman    { "FK_PCRel_4", 0, 32, MCFixupKindInfo::FKF_IsPCRel },
3119bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman    { "FK_PCRel_8", 0, 64, MCFixupKindInfo::FKF_IsPCRel }
3219bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman  };
3319bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman
3419bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman  assert((size_t)Kind <= sizeof(Builtins) / sizeof(Builtins[0]) &&
3519bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman         "Unknown fixup kind");
3619bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman  return Builtins[Kind];
3719bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman}
38