Added support for PIC code with "explicit relocations" *only*.
Removed all macro code for PIC (goodbye "la").
Support tested with shootout bench.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43697 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/Mips/MipsTargetMachine.cpp b/lib/Target/Mips/MipsTargetMachine.cpp
index 6451659..187dcee 100644
--- a/lib/Target/Mips/MipsTargetMachine.cpp
+++ b/lib/Target/Mips/MipsTargetMachine.cpp
@@ -35,6 +35,9 @@
 // On function prologue, the stack is created by decrementing
 // its pointer. Once decremented, all references are done with positive
 // offset from the stack/frame pointer, so StackGrowsUp is used.
+// When using CodeModel::Large the behaviour 
+//
+// 
 MipsTargetMachine::
 MipsTargetMachine(const Module &M, const std::string &FS): 
   Subtarget(*this, M, FS), DataLayout("E-p:32:32:32"), 
@@ -43,6 +46,8 @@
 {
   if (getRelocationModel() != Reloc::Static)
     setRelocationModel(Reloc::PIC_);  
+  if (getCodeModel() == CodeModel::Default)
+    setCodeModel(CodeModel::Small);
 }
 
 // return 0 and must specify -march to gen MIPS code.