Updates for LLVM merge to r171906 on 20130108.
Change-Id: I368d0dc4be75cd03b4829e9ca76edc51782a1b0d
diff --git a/include/mcld/Target/TargetMachine.h b/include/mcld/Target/TargetMachine.h
index 1c2ad99..669e860 100644
--- a/include/mcld/Target/TargetMachine.h
+++ b/include/mcld/Target/TargetMachine.h
@@ -75,8 +75,8 @@
mcld::LinkerConfig& pConfig,
bool DisableVerify = true);
- /// getTargetData
- const TargetData *getTargetData() const { return m_TM.getTargetData(); }
+ /// getDataLayout
+ const DataLayout *getDataLayout() const { return m_TM.getDataLayout(); }
/// setAsmVerbosityDefault
static void setAsmVerbosityDefault(bool pAsmVerbose) {
diff --git a/lib/CodeGen/MCLDTargetMachine.cpp b/lib/CodeGen/MCLDTargetMachine.cpp
index 1a2cfff..785ef1f 100644
--- a/lib/CodeGen/MCLDTargetMachine.cpp
+++ b/lib/CodeGen/MCLDTargetMachine.cpp
@@ -26,6 +26,7 @@
#include <llvm/CodeGen/MachineModuleInfo.h>
#include <llvm/CodeGen/GCStrategy.h>
#include <llvm/CodeGen/Passes.h>
+#include <llvm/IR/DataLayout.h>
#include <llvm/MC/MCAsmInfo.h>
#include <llvm/MC/MCStreamer.h>
#include <llvm/MC/MCInstrInfo.h>
@@ -39,7 +40,6 @@
#include <llvm/Support/Debug.h>
#include <llvm/Support/TargetRegistry.h>
#include <llvm/Support/FormattedStream.h>
-#include <llvm/Target/TargetData.h>
#include <llvm/Target/TargetInstrInfo.h>
#include <llvm/Target/TargetLowering.h>
#include <llvm/Target/TargetOptions.h>
@@ -293,7 +293,8 @@
MCAsmBackend *MAB = 0;
if (ArgShowMCEncoding) {
MCE = getTarget().get()->createMCCodeEmitter(MII, MRI, STI, *Context);
- MAB = getTarget().get()->createMCAsmBackend(m_Triple);
+ MAB = getTarget().get()->createMCAsmBackend(m_Triple,
+ getTM().getTargetCPU());
}
@@ -331,7 +332,8 @@
getTarget().get()->createMCCodeEmitter(MII, MRI, STI, *Context);
// MCAsmBackend
- MCAsmBackend* MAB = getTarget().get()->createMCAsmBackend(m_Triple);
+ MCAsmBackend* MAB =
+ getTarget().get()->createMCAsmBackend(m_Triple,getTM().getTargetCPU());
if (MCE == 0 || MAB == 0)
return true;
diff --git a/lib/CodeGen/MCLinker.cpp b/lib/CodeGen/MCLinker.cpp
index bce4689..6b7196b 100644
--- a/lib/CodeGen/MCLinker.cpp
+++ b/lib/CodeGen/MCLinker.cpp
@@ -28,7 +28,7 @@
#include <mcld/Support/raw_ostream.h>
#include <mcld/Support/MemoryArea.h>
-#include <llvm/Module.h>
+#include <llvm/IR/Module.h>
#include <llvm/Support/CommandLine.h>
#include <algorithm>
diff --git a/lib/Target/ARM/ARMLDBackend.cpp b/lib/Target/ARM/ARMLDBackend.cpp
index 2fd7e64..844c8ba 100644
--- a/lib/Target/ARM/ARMLDBackend.cpp
+++ b/lib/Target/ARM/ARMLDBackend.cpp
@@ -1061,11 +1061,7 @@
{
if (NULL != m_pEXIDX && 0x0 != m_pEXIDX->size()) {
// make PT_ARM_EXIDX
- // FIXME: once we have a patch for llvm/Support/ELF.h, we can refine this
- enum {
- PT_ARM_EXIDX = 0x70000001
- };
- ELFSegment* exidx_seg = elfSegmentTable().produce(PT_ARM_EXIDX,
+ ELFSegment* exidx_seg = elfSegmentTable().produce(llvm::ELF::PT_ARM_EXIDX,
llvm::ELF::PF_R);
exidx_seg->addSection(m_pEXIDX);
}
diff --git a/tools/llvm-mcld/llvm-mcld.cpp b/tools/llvm-mcld/llvm-mcld.cpp
index e7a48d0..fc0b99f 100644
--- a/tools/llvm-mcld/llvm-mcld.cpp
+++ b/tools/llvm-mcld/llvm-mcld.cpp
@@ -22,11 +22,12 @@
#include <mcld/LD/DiagnosticLineInfo.h>
#include <mcld/LD/TextDiagnosticPrinter.h>
-#include <llvm/Module.h>
#include <llvm/PassManager.h>
#include <llvm/Pass.h>
+#include <llvm/IR/Module.h>
+#include <llvm/IR/DataLayout.h>
+#include <llvm/IR/LLVMContext.h>
#include <llvm/ADT/Triple.h>
-#include <llvm/LLVMContext.h>
#include <llvm/MC/SubtargetFeature.h>
#include <llvm/Support/CommandLine.h>
#include <llvm/Support/Debug.h>
@@ -38,7 +39,6 @@
#include <llvm/Support/TargetRegistry.h>
#include <llvm/Support/TargetSelect.h>
#include <llvm/Support/Process.h>
-#include <llvm/Target/TargetData.h>
#include <llvm/Target/TargetMachine.h>
#if defined(HAVE_UNISTD_H)
@@ -1291,11 +1291,11 @@
// Build up all of the passes that we want to do to the module.
PassManager PM;
- // Add the target data from the target machine, if it exists, or the module.
- if (const TargetData *TD = TheTargetMachine.getTM().getTargetData())
- PM.add(new TargetData(*TD));
- else
- PM.add(new TargetData(&mod));
+ // Add the data layout from the target machine, if it exists, or the module.
+ if (const DataLayout *DL = TheTargetMachine.getTM().getDataLayout())
+ PM.add(new DataLayout(*DL));
+ else
+ PM.add(new DataLayout(&mod));
// Override default to generate verbose assembly.
TheTargetMachine.getTM().setAsmVerbosityDefault(true);