summaryrefslogtreecommitdiffstats
path: root/lld/lib/ReaderWriter/PECOFF/Pass.cpp
diff options
context:
space:
mode:
authorRui Ueyama <ruiu@google.com>2014-10-07 22:20:21 +0000
committerRui Ueyama <ruiu@google.com>2014-10-07 22:20:21 +0000
commit8951520c23bad817730f7ed8cc290bcd308b81a4 (patch)
treeb45fc259ed5636f2173563262010d9b5e2c1470a /lld/lib/ReaderWriter/PECOFF/Pass.cpp
parent29551955a9227812848656b95451ec6dd824690b (diff)
downloadbcm5719-llvm-8951520c23bad817730f7ed8cc290bcd308b81a4.tar.gz
bcm5719-llvm-8951520c23bad817730f7ed8cc290bcd308b81a4.zip
[PECOFF] Remove yet another use of _is64
No functionality change intended. llvm-svn: 219246
Diffstat (limited to 'lld/lib/ReaderWriter/PECOFF/Pass.cpp')
-rw-r--r--lld/lib/ReaderWriter/PECOFF/Pass.cpp34
1 files changed, 22 insertions, 12 deletions
diff --git a/lld/lib/ReaderWriter/PECOFF/Pass.cpp b/lld/lib/ReaderWriter/PECOFF/Pass.cpp
index 2b2f90624fd..cb31e44f7df 100644
--- a/lld/lib/ReaderWriter/PECOFF/Pass.cpp
+++ b/lld/lib/ReaderWriter/PECOFF/Pass.cpp
@@ -23,25 +23,35 @@ static void addReloc(COFFBaseDefinedAtom *atom, const Atom *target,
atom->addReference(std::unique_ptr<COFFReference>(ref));
}
-void addDir32Reloc(COFFBaseDefinedAtom *atom, const Atom *target, bool is64,
- size_t offsetInAtom) {
- if (is64) {
- addReloc(atom, target, offsetInAtom, Reference::KindArch::x86_64,
- llvm::COFF::IMAGE_REL_AMD64_ADDR32);
- } else {
+void addDir32Reloc(COFFBaseDefinedAtom *atom, const Atom *target,
+ llvm::COFF::MachineTypes machine, size_t offsetInAtom) {
+ switch (machine) {
+ case llvm::COFF::IMAGE_FILE_MACHINE_I386:
addReloc(atom, target, offsetInAtom, Reference::KindArch::x86,
llvm::COFF::IMAGE_REL_I386_DIR32);
+ return;
+ case llvm::COFF::IMAGE_FILE_MACHINE_AMD64:
+ addReloc(atom, target, offsetInAtom, Reference::KindArch::x86_64,
+ llvm::COFF::IMAGE_REL_AMD64_ADDR32);
+ return;
+ default:
+ llvm_unreachable("unsupported machine type");
}
}
-void addDir32NBReloc(COFFBaseDefinedAtom *atom, const Atom *target, bool is64,
- size_t offsetInAtom) {
- if (is64) {
- addReloc(atom, target, offsetInAtom, Reference::KindArch::x86_64,
- llvm::COFF::IMAGE_REL_AMD64_ADDR32NB);
- } else {
+void addDir32NBReloc(COFFBaseDefinedAtom *atom, const Atom *target,
+ llvm::COFF::MachineTypes machine, size_t offsetInAtom) {
+ switch (machine) {
+ case llvm::COFF::IMAGE_FILE_MACHINE_I386:
addReloc(atom, target, offsetInAtom, Reference::KindArch::x86,
llvm::COFF::IMAGE_REL_I386_DIR32NB);
+ return;
+ case llvm::COFF::IMAGE_FILE_MACHINE_AMD64:
+ addReloc(atom, target, offsetInAtom, Reference::KindArch::x86_64,
+ llvm::COFF::IMAGE_REL_AMD64_ADDR32NB);
+ return;
+ default:
+ llvm_unreachable("unsupported machine type");
}
}
OpenPOWER on IntegriCloud