[llvm-commits] [llvm] r128155 - /llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp

Devang Patel dpatel at apple.com
Wed Mar 23 15:34:19 PDT 2011


On Mar 23, 2011, at 11:37 AM, Jakob Stoklund Olesen wrote:

> Author: stoklund
> Date: Wed Mar 23 13:37:30 2011
> New Revision: 128155
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=128155&view=rev
> Log:
> Don't coalesce identical DBG_VALUE instructions prematurely.
> 
> Each of these instructions may have a RegsClobberInsn entry that can't be
> ignored. Consecutive ranges are coalesced later when DwarfDebug::emitDebugLoc
> merges entries.

How about coalescing these instructions before calculating RegsClobberInsns ?
-
Devang
> 
> Modified:
>    llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
> 
> Modified: llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp?rev=128155&r1=128154&r2=128155&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp (original)
> +++ llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp Wed Mar 23 13:37:30 2011
> @@ -2419,14 +2419,12 @@
>     if (Processed.count(DV) != 0)
>       continue;
> 
> -    const MachineInstr *PrevMI = MInsn;
>     for (SmallVector<const MachineInstr *, 8>::iterator MI = I+1,
>            ME = DbgValues.end(); MI != ME; ++MI) {
>       const MDNode *Var =
>         (*MI)->getOperand((*MI)->getNumOperands()-1).getMetadata();
> -      if (Var == DV && !PrevMI->isIdenticalTo(*MI))
> +      if (Var == DV)
>         MultipleValues.push_back(*MI);
> -      PrevMI = *MI;
>     }
> 
>     DbgScope *Scope = NULL;
> 
> 
> _______________________________________________
> 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