diff options
author | Rui Ueyama <ruiu@google.com> | 2014-10-07 22:20:21 +0000 |
---|---|---|
committer | Rui Ueyama <ruiu@google.com> | 2014-10-07 22:20:21 +0000 |
commit | 8951520c23bad817730f7ed8cc290bcd308b81a4 (patch) | |
tree | b45fc259ed5636f2173563262010d9b5e2c1470a /lld/lib/ReaderWriter/PECOFF/Pass.cpp | |
parent | 29551955a9227812848656b95451ec6dd824690b (diff) | |
download | bcm5719-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.cpp | 34 |
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"); } } |