Skip to content

Commit eb9d22b

Browse files
committed
VE: Merge MCExpr into MCAsmInfo
1 parent afe6af1 commit eb9d22b

File tree

11 files changed

+69
-119
lines changed

11 files changed

+69
-119
lines changed

llvm/lib/Target/VE/AsmParser/VEAsmParser.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
//
77
//===----------------------------------------------------------------------===//
88

9-
#include "MCTargetDesc/VEMCExpr.h"
9+
#include "MCTargetDesc/VEMCAsmInfo.h"
1010
#include "MCTargetDesc/VEMCTargetDesc.h"
1111
#include "TargetInfo/VETargetInfo.h"
1212
#include "VE.h"

llvm/lib/Target/VE/MCTargetDesc/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ add_llvm_component_library(LLVMVEDesc
44
VEInstPrinter.cpp
55
VEMCAsmInfo.cpp
66
VEMCCodeEmitter.cpp
7-
VEMCExpr.cpp
87
VEMCTargetDesc.cpp
98
VETargetStreamer.cpp
109

llvm/lib/Target/VE/MCTargetDesc/VEELFObjectWriter.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
//
77
//===----------------------------------------------------------------------===//
88

9-
#include "MCTargetDesc/VEMCExpr.h"
9+
#include "MCTargetDesc/VEMCAsmInfo.h"
1010
#include "VEFixupKinds.h"
11-
#include "VEMCExpr.h"
11+
#include "VEMCAsmInfo.h"
1212
#include "VEMCTargetDesc.h"
1313
#include "llvm/MC/MCContext.h"
1414
#include "llvm/MC/MCELFObjectWriter.h"

llvm/lib/Target/VE/MCTargetDesc/VEMCAsmInfo.cpp

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
//===----------------------------------------------------------------------===//
1212

1313
#include "VEMCAsmInfo.h"
14-
#include "VEMCExpr.h"
1514
#include "llvm/MC/MCExpr.h"
1615
#include "llvm/MC/MCStreamer.h"
1716
#include "llvm/MC/MCValue.h"
@@ -36,6 +35,43 @@ const MCAsmInfo::AtSpecifier atSpecifiers[] = {
3635
{VE::S_TPOFF_LO32, "tpoff_lo"},
3736
};
3837

38+
VE::Fixups VE::getFixupKind(uint8_t S) {
39+
switch (S) {
40+
default:
41+
llvm_unreachable("Unhandled VEMCExpr::Specifier");
42+
case VE::S_REFLONG:
43+
return VE::fixup_ve_reflong;
44+
case VE::S_HI32:
45+
return VE::fixup_ve_hi32;
46+
case VE::S_LO32:
47+
return VE::fixup_ve_lo32;
48+
case VE::S_PC_HI32:
49+
return VE::fixup_ve_pc_hi32;
50+
case VE::S_PC_LO32:
51+
return VE::fixup_ve_pc_lo32;
52+
case VE::S_GOT_HI32:
53+
return VE::fixup_ve_got_hi32;
54+
case VE::S_GOT_LO32:
55+
return VE::fixup_ve_got_lo32;
56+
case VE::S_GOTOFF_HI32:
57+
return VE::fixup_ve_gotoff_hi32;
58+
case VE::S_GOTOFF_LO32:
59+
return VE::fixup_ve_gotoff_lo32;
60+
case VE::S_PLT_HI32:
61+
return VE::fixup_ve_plt_hi32;
62+
case VE::S_PLT_LO32:
63+
return VE::fixup_ve_plt_lo32;
64+
case VE::S_TLS_GD_HI32:
65+
return VE::fixup_ve_tls_gd_hi32;
66+
case VE::S_TLS_GD_LO32:
67+
return VE::fixup_ve_tls_gd_lo32;
68+
case VE::S_TPOFF_HI32:
69+
return VE::fixup_ve_tpoff_hi32;
70+
case VE::S_TPOFF_LO32:
71+
return VE::fixup_ve_tpoff_lo32;
72+
}
73+
}
74+
3975
void VEELFMCAsmInfo::anchor() {}
4076

4177
VEELFMCAsmInfo::VEELFMCAsmInfo(const Triple &TheTriple) {

llvm/lib/Target/VE/MCTargetDesc/VEMCAsmInfo.h

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,9 @@
1313
#ifndef LLVM_LIB_TARGET_VE_MCTARGETDESC_VEMCASMINFO_H
1414
#define LLVM_LIB_TARGET_VE_MCTARGETDESC_VEMCASMINFO_H
1515

16+
#include "VEFixupKinds.h"
1617
#include "llvm/MC/MCAsmInfoELF.h"
18+
#include "llvm/MC/MCExpr.h"
1719

1820
namespace llvm {
1921

@@ -30,6 +32,29 @@ class VEELFMCAsmInfo : public MCAsmInfoELF {
3032
const MCAssembler *Asm) const override;
3133
};
3234

35+
namespace VE {
36+
enum Specifier {
37+
S_None,
38+
39+
S_REFLONG = MCSymbolRefExpr::FirstTargetSpecifier,
40+
S_HI32, // @hi
41+
S_LO32, // @lo
42+
S_PC_HI32, // @pc_hi
43+
S_PC_LO32, // @pc_lo
44+
S_GOT_HI32, // @got_hi
45+
S_GOT_LO32, // @got_lo
46+
S_GOTOFF_HI32, // @gotoff_hi
47+
S_GOTOFF_LO32, // @gotoff_lo
48+
S_PLT_HI32, // @plt_hi
49+
S_PLT_LO32, // @plt_lo
50+
S_TLS_GD_HI32, // @tls_gd_hi
51+
S_TLS_GD_LO32, // @tls_gd_lo
52+
S_TPOFF_HI32, // @tpoff_hi
53+
S_TPOFF_LO32, // @tpoff_lo
54+
};
55+
56+
VE::Fixups getFixupKind(uint8_t S);
57+
} // namespace VE
3358
} // namespace llvm
3459

3560
#endif // LLVM_LIB_TARGET_VE_MCTARGETDESC_VEMCASMINFO_H

llvm/lib/Target/VE/MCTargetDesc/VEMCCodeEmitter.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
#include "MCTargetDesc/VEFixupKinds.h"
1414
#include "VE.h"
15-
#include "VEMCExpr.h"
15+
#include "VEMCAsmInfo.h"
1616
#include "llvm/ADT/SmallVector.h"
1717
#include "llvm/ADT/Statistic.h"
1818
#include "llvm/MC/MCCodeEmitter.h"

llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.cpp

Lines changed: 0 additions & 60 deletions
This file was deleted.

llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.h

Lines changed: 0 additions & 50 deletions
This file was deleted.

llvm/lib/Target/VE/VEAsmPrinter.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
//===----------------------------------------------------------------------===//
1313

1414
#include "MCTargetDesc/VEInstPrinter.h"
15-
#include "MCTargetDesc/VEMCExpr.h"
15+
#include "MCTargetDesc/VEMCAsmInfo.h"
1616
#include "MCTargetDesc/VETargetStreamer.h"
1717
#include "TargetInfo/VETargetInfo.h"
1818
#include "VE.h"

llvm/lib/Target/VE/VEISelLowering.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
//===----------------------------------------------------------------------===//
1313

1414
#include "VEISelLowering.h"
15-
#include "MCTargetDesc/VEMCExpr.h"
15+
#include "MCTargetDesc/VEMCAsmInfo.h"
1616
#include "VECustomDAG.h"
1717
#include "VEInstrBuilder.h"
1818
#include "VEMachineFunctionInfo.h"

0 commit comments

Comments
 (0)