[llvm-commits] [llvm] r117151 - in /llvm/trunk: include/llvm/CodeGen/MachineInstr.h lib/CodeGen/SimpleRegisterCoalescing.cpp lib/Target/ARM/ARMLoadStoreOptimizer.cpp

Dale Johannesen dalej at apple.com
Fri Oct 22 14:45:47 PDT 2010


Hey Evan, you didn't check in a definition for copyImplicitOps.  The bots don't like it.

On Oct 22, 2010, at 2:29 PMPDT, Evan Cheng wrote:

> Author: evancheng
> Date: Fri Oct 22 16:29:58 2010
> New Revision: 117151
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=117151&view=rev
> Log:
> Transfer implicit ops when forming load multiple and return instructions.
> 
> Modified:
>    llvm/trunk/include/llvm/CodeGen/MachineInstr.h
>    llvm/trunk/lib/CodeGen/SimpleRegisterCoalescing.cpp
>    llvm/trunk/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
> 
> Modified: llvm/trunk/include/llvm/CodeGen/MachineInstr.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/CodeGen/MachineInstr.h?rev=117151&r1=117150&r2=117151&view=diff
> ==============================================================================
> --- llvm/trunk/include/llvm/CodeGen/MachineInstr.h (original)
> +++ llvm/trunk/include/llvm/CodeGen/MachineInstr.h Fri Oct 22 16:29:58 2010
> @@ -416,6 +416,10 @@
>   ///
>   bool allDefsAreDead() const;
> 
> +  /// copyImplicitOps - Copy implicit register operands from specified
> +  /// instruction to this instruction.
> +  void copyImplicitOps(const MachineInstr *MI);
> +
>   //
>   // Debugging support
>   //
> 
> Modified: llvm/trunk/lib/CodeGen/SimpleRegisterCoalescing.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SimpleRegisterCoalescing.cpp?rev=117151&r1=117150&r2=117151&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/SimpleRegisterCoalescing.cpp (original)
> +++ llvm/trunk/lib/CodeGen/SimpleRegisterCoalescing.cpp Fri Oct 22 16:29:58 2010
> @@ -680,7 +680,7 @@
>       RemoveCopyFlag(MO.getReg(), CopyMI);
>   }
> 
> -  TransferImplicitOps(CopyMI, NewMI);
> +  NewMI->copyImplicitOps(CopyMI);
>   li_->ReplaceMachineInstrInMaps(CopyMI, NewMI);
>   CopyMI->eraseFromParent();
>   ReMatCopies.insert(CopyMI);
> 
> Modified: llvm/trunk/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMLoadStoreOptimizer.cpp?rev=117151&r1=117150&r2=117151&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/ARM/ARMLoadStoreOptimizer.cpp (original)
> +++ llvm/trunk/lib/Target/ARM/ARMLoadStoreOptimizer.cpp Fri Oct 22 16:29:58 2010
> @@ -1196,6 +1196,7 @@
>       unsigned NewOpc = isThumb2 ? ARM::t2LDM_RET : ARM::LDM_RET;
>       PrevMI->setDesc(TII->get(NewOpc));
>       MO.setReg(ARM::PC);
> +      PrevMI->copyImplicitOps(&*MBBI);
>       MBB.erase(MBBI);
>       return true;
>     }
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits





More information about the llvm-commits mailing list