Two bug fixes that were suppressing some "load-constant-into-register" instrs.
authorVikram S. Adve <vadve@cs.uiuc.edu>
Sun, 14 Oct 2001 18:10:33 +0000 (18:10 +0000)
committerVikram S. Adve <vadve@cs.uiuc.edu>
Sun, 14 Oct 2001 18:10:33 +0000 (18:10 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@795 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/SparcV9/SparcV9InstrSelection.cpp

index 891c319c0097d69cb18b8db2b7ae11025af128b7..d303f8eb9054145c353fd487e79947e2890ddb05 100644 (file)
@@ -1146,7 +1146,7 @@ CreateLoadConstInstr(const TargetMachine &target,
 TmpInstruction*
 InsertCodeToLoadConstant(ConstPoolVal* opValue,
                          Instruction* vmInstr,
-                         vector<MachineInstr*> loadConstVec,
+                         vector<MachineInstr*>& loadConstVec,
                          TargetMachine& target)
 {
   // value is constant and must be loaded into a register.
@@ -1244,7 +1244,7 @@ FixConstantOperands(const InstructionNode* vmInstrNode,
       // have no immediate fields, so the constant always needs to be loaded
       // into a register.
       // 
-      for (unsigned i=1, N=minstr->getNumImplicitRefs(); i < N; ++i)
+      for (unsigned i=0, N=minstr->getNumImplicitRefs(); i < N; ++i)
         if (isa<ConstPoolVal>(minstr->getImplicitRef(i)))
           {
             TmpInstruction* tmpReg = InsertCodeToLoadConstant((ConstPoolVal*)