[llvm-commits] [llvm] r42908 - in /llvm/trunk: include/llvm/CodeGen/ lib/CodeGen/ lib/Target/ARM/ lib/Target/Alpha/ lib/Target/IA64/ lib/Target/Mips/ lib/Target/PowerPC/ lib/Target/Sparc/ lib/Target/X86/ test/CodeGen/X86/

Bill Wendling isanbard at gmail.com
Sun Oct 14 03:43:20 PDT 2007


And in PPC.

-bw

On Oct 13, 2007, at 10:51 PM, Evan Cheng wrote:

> FYI. It's related to .set expression on x86-64.
>
> Defined as
>          .set L0_set_302__yyparse,LBB302__yyparse-LJTI0__yyparse
> used as
>          .long    L0__set_302__yyparse
>
> Evan
>
> On Oct 13, 2007, at 10:48 PM, Evan Cheng wrote:
>
>> Hi Dan,
>>
>> I have to back out this patch for now. It's causing a lot of
>> x86-64 / Darwin (also possibly ARM / Darwin) compilation errors.
>> Please investigate. Thanks!
>>
>> Evan
>>
>> On Oct 12, 2007, at 7:53 AM, Dan Gohman wrote:
>>
>>> Author: djg
>>> Date: Fri Oct 12 09:53:36 2007
>>> New Revision: 42908
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=42908&view=rev
>>> Log:
>>> Change the names used for internal labels to use the current
>>> function symbol name instead of a codegen-assigned function
>>> number.
>>>
>>> Thanks Evan! :-)
>>>
>>> Modified:
>>>     llvm/trunk/include/llvm/CodeGen/AsmPrinter.h
>>>     llvm/trunk/lib/CodeGen/AsmPrinter.cpp
>>>     llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp
>>>     llvm/trunk/lib/Target/Alpha/AlphaAsmPrinter.cpp
>>>     llvm/trunk/lib/Target/IA64/IA64AsmPrinter.cpp
>>>     llvm/trunk/lib/Target/Mips/MipsAsmPrinter.cpp
>>>     llvm/trunk/lib/Target/PowerPC/PPCAsmPrinter.cpp
>>>     llvm/trunk/lib/Target/Sparc/SparcAsmPrinter.cpp
>>>     llvm/trunk/lib/Target/X86/X86ATTAsmPrinter.cpp
>>>     llvm/trunk/lib/Target/X86/X86IntelAsmPrinter.cpp
>>>     llvm/trunk/test/CodeGen/X86/2006-10-19-
>>> SwitchUnnecessaryBranching.ll
>>>     llvm/trunk/test/CodeGen/X86/2007-01-08-InstrSched.ll
>>>     llvm/trunk/test/CodeGen/X86/fp_constant_op.llx
>>>
>>> Modified: llvm/trunk/include/llvm/CodeGen/AsmPrinter.h
>>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/
>>> CodeGen/AsmPrinter.h?rev=42908&r1=42907&r2=42908&view=diff
>>>
>>> ==================================================================== 
>>> =
>>> =
>>> ========
>>> --- llvm/trunk/include/llvm/CodeGen/AsmPrinter.h (original)
>>> +++ llvm/trunk/include/llvm/CodeGen/AsmPrinter.h Fri Oct 12
>>> 09:53:36 2007
>>> @@ -36,13 +36,6 @@
>>>    class AsmPrinter : public MachineFunctionPass {
>>>      static char ID;
>>>
>>> -    /// FunctionNumber - This provides a unique ID for each
>>> function emitted in
>>> -    /// this translation unit.  It is autoincremented by
>>> SetupMachineFunction,
>>> -    /// and can be accessed with getFunctionNumber() and
>>> -    /// IncrementFunctionNumber().
>>> -    ///
>>> -    unsigned FunctionNumber;
>>> -
>>>    protected:
>>>      // Necessary for external weak linkage support
>>>      std::set<const GlobalValue*> ExtWeakSymbols;
>>> @@ -160,15 +153,6 @@
>>>      /// is being processed from runOnMachineFunction.
>>>      void SetupMachineFunction(MachineFunction &MF);
>>>
>>> -    /// getFunctionNumber - Return a unique ID for the current
>>> function.
>>> -    ///
>>> -    unsigned getFunctionNumber() const { return FunctionNumber; }
>>> -
>>> -    /// IncrementFunctionNumber - Increase Function Number.
>>> AsmPrinters should
>>> -    /// not normally call this, as the counter is automatically
>>> bumped by
>>> -    /// SetupMachineFunction.
>>> -    void IncrementFunctionNumber() { FunctionNumber++; }
>>> -
>>>      /// EmitConstantPool - Print to the current output stream
>>> assembly
>>>      /// representations of the constants in the constant pool MCP.
>>> This is
>>>      /// used to print out constants which have been "spilled to
>>> memory" by
>>>
>>> Modified: llvm/trunk/lib/CodeGen/AsmPrinter.cpp
>>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/
>>> AsmPrinter.cpp?rev=42908&r1=42907&r2=42908&view=diff
>>>
>>> ==================================================================== 
>>> =
>>> =
>>> ========
>>> --- llvm/trunk/lib/CodeGen/AsmPrinter.cpp (original)
>>> +++ llvm/trunk/lib/CodeGen/AsmPrinter.cpp Fri Oct 12 09:53:36 2007
>>> @@ -35,7 +35,7 @@
>>>  char AsmPrinter::ID = 0;
>>>  AsmPrinter::AsmPrinter(std::ostream &o, TargetMachine &tm,
>>>                         const TargetAsmInfo *T)
>>> -  : MachineFunctionPass((intptr_t)&ID), FunctionNumber(0), O(o), TM
>>> (tm), TAI(T)
>>> +  : MachineFunctionPass((intptr_t)&ID), O(o), TM(tm), TAI(T)
>>>  {}
>>>
>>>  std::string AsmPrinter::getSectionForFunction(const Function &F)
>>> const {
>>> @@ -169,7 +169,6 @@
>>>  void AsmPrinter::SetupMachineFunction(MachineFunction &MF) {
>>>    // What's my mangled name?
>>>    CurrentFnName = Mang->getValueName(MF.getFunction());
>>> -  IncrementFunctionNumber();
>>>  }
>>>
>>>  /// EmitConstantPool - Print to the current output stream assembly
>>> @@ -219,8 +218,9 @@
>>>    SwitchToDataSection(Section);
>>>    EmitAlignment(Alignment);
>>>    for (unsigned i = 0, e = CP.size(); i != e; ++i) {
>>> -    O << TAI->getPrivateGlobalPrefix() << "CPI" <<
>>> getFunctionNumber() << '_'
>>> -      << CP[i].second << ":\t\t\t\t\t" << TAI->getCommentString()
>>> << " ";
>>> +    O << TAI->getPrivateGlobalPrefix() << "CPI" << CP[i].second
>>> +      << '_' << CurrentFnName
>>> +      << ":\t\t\t\t\t" << TAI->getCommentString() << ' ';
>>>      WriteTypeSymbolic(O, CP[i].first.getType(), 0) << '\n';
>>>      if (CP[i].first.isMachineConstantPoolEntry())
>>>        EmitMachineConstantPoolValue(CP[i].first.Val.MachineCPVal);
>>> @@ -293,10 +293,10 @@
>>>      // the assembler and linker the extents of the jump table
>>> object.  The
>>>      // second label is actually referenced by the code.
>>>      if (const char *JTLabelPrefix = TAI-
>>>> getJumpTableSpecialLabelPrefix())
>>> -      O << JTLabelPrefix << "JTI" << getFunctionNumber() << '_' <<
>>> i << ":\n";
>>> +      O << JTLabelPrefix << "JTI" << i << '_' << CurrentFnName <<
>>> ":\n";
>>>
>>> -    O << TAI->getPrivateGlobalPrefix() << "JTI" <<
>>> getFunctionNumber()
>>> -      << '_' << i << ":\n";
>>> +    O << TAI->getPrivateGlobalPrefix() << "JTI" << i
>>> +      << '_' << CurrentFnName << ":\n";
>>>
>>>      for (unsigned ii = 0, ee = JTBBs.size(); ii != ee; ++ii) {
>>>        O << JTEntryDirective << ' ';
>>> @@ -306,15 +306,15 @@
>>>        // If we're emitting non-PIC code, then emit the entries as
>>> direct
>>>        // references to the target basic blocks.
>>>        if (!EmittedSets.empty()) {
>>> -        O << TAI->getPrivateGlobalPrefix() << getFunctionNumber()
>>> -          << '_' << i << "_set_" << JTBBs[ii]->getNumber();
>>> +        O << TAI->getPrivateGlobalPrefix() << i
>>> +          << '_' << "_set_" << JTBBs[ii]->getNumber() << '_' <<
>>> CurrentFnName;
>>>        } else if (IsPic) {
>>>          printBasicBlockLabel(JTBBs[ii], false, false);
>>>          // If the arch uses custom Jump Table directives, don't
>>> calc relative to
>>>          // JT
>>>          if (!HadJTEntryDirective)
>>>            O << '-' << TAI->getPrivateGlobalPrefix() << "JTI"
>>> -            << getFunctionNumber() << '_' << i;
>>> +            << i << '_' << CurrentFnName;
>>>        } else {
>>>          printBasicBlockLabel(JTBBs[ii], false, false);
>>>        }
>>> @@ -1242,8 +1242,8 @@
>>>  void AsmPrinter::printBasicBlockLabel(const MachineBasicBlock *MBB,
>>>                                        bool printColon,
>>>                                        bool printComment) const {
>>> -  O << TAI->getPrivateGlobalPrefix() << "BB" << getFunctionNumber
>>> () << "_"
>>> -    << MBB->getNumber();
>>> +  O << TAI->getPrivateGlobalPrefix() << "BB" << MBB->getNumber()
>>> << '_'
>>> +    << CurrentFnName;
>>>    if (printColon)
>>>      O << ':';
>>>    if (printComment && MBB->getBasicBlock())
>>> @@ -1259,10 +1259,10 @@
>>>      return;
>>>
>>>    O << TAI->getSetDirective() << ' ' << TAI-
>>>> getPrivateGlobalPrefix()
>>> -    << getFunctionNumber() << '_' << uid << "_set_" << MBB-
>>>> getNumber() << ',';
>>> +    << uid << "_set_" << MBB->getNumber() << '_' << CurrentFnName
>>> << ',';
>>>    printBasicBlockLabel(MBB, false, false);
>>> -  O << '-' << TAI->getPrivateGlobalPrefix() << "JTI" <<
>>> getFunctionNumber()
>>> -    << '_' << uid << '\n';
>>> +  O << '-' << TAI->getPrivateGlobalPrefix() << "JTI" << uid
>>> +    << '_' << CurrentFnName << '\n';
>>>  }
>>>
>>>  void AsmPrinter::printSetLabel(unsigned uid, unsigned uid2,
>>> @@ -1271,11 +1271,11 @@
>>>      return;
>>>
>>>    O << TAI->getSetDirective() << ' ' << TAI-
>>>> getPrivateGlobalPrefix()
>>> -    << getFunctionNumber() << '_' << uid << '_' << uid2
>>> -    << "_set_" << MBB->getNumber() << ',';
>>> +    << uid << '_' << uid2
>>> +    << "_set_" << MBB->getNumber() << '_' << CurrentFnName << ',';
>>>    printBasicBlockLabel(MBB, false, false);
>>> -  O << '-' << TAI->getPrivateGlobalPrefix() << "JTI" <<
>>> getFunctionNumber()
>>> -    << '_' << uid << '_' << uid2 << '\n';
>>> +  O << '-' << TAI->getPrivateGlobalPrefix() << "JTI" << uid
>>> +    << '_' << uid2 << '_' << CurrentFnName << '\n';
>>>  }
>>>
>>>  /// printDataDirective - This method prints the asm directive for
>>> the
>>>
>>> Modified: llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp
>>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/
>>> ARMAsmPrinter.cpp?rev=42908&r1=42907&r2=42908&view=diff
>>>
>>> ==================================================================== 
>>> =
>>> =
>>> ========
>>> --- llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp (original)
>>> +++ llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp Fri Oct 12 09:53:36
>>> 2007
>>> @@ -319,12 +319,12 @@
>>>      break;
>>>    }
>>>    case MachineOperand::MO_ConstantPoolIndex:
>>> -    O << TAI->getPrivateGlobalPrefix() << "CPI" <<
>>> getFunctionNumber()
>>> -      << '_' << MO.getConstantPoolIndex();
>>> +    O << TAI->getPrivateGlobalPrefix() << "CPI" <<
>>> MO.getConstantPoolIndex()
>>> +      << '_' << CurrentFnName;
>>>      break;
>>>    case MachineOperand::MO_JumpTableIndex:
>>> -    O << TAI->getPrivateGlobalPrefix() << "JTI" <<
>>> getFunctionNumber()
>>> -      << '_' << MO.getJumpTableIndex();
>>> +    O << TAI->getPrivateGlobalPrefix() << "JTI" <<
>>> MO.getJumpTableIndex()
>>> +      << '_' << CurrentFnName;
>>>      break;
>>>    default:
>>>      O << "<unknown operand type>"; abort (); break;
>>> @@ -652,8 +652,8 @@
>>>    // data itself.
>>>    if (!strcmp(Modifier, "label")) {
>>>      unsigned ID = MI->getOperand(OpNo).getImm();
>>> -    O << TAI->getPrivateGlobalPrefix() << "CPI" <<
>>> getFunctionNumber()
>>> -      << '_' << ID << ":\n";
>>> +    O << TAI->getPrivateGlobalPrefix() << "CPI" << ID
>>> +      << '_' << CurrentFnName << ":\n";
>>>    } else {
>>>      assert(!strcmp(Modifier, "cpentry") && "Unknown modifier for
>>> CPE");
>>>      unsigned CPI = MI->getOperand(OpNo).getConstantPoolIndex();
>>> @@ -677,8 +677,8 @@
>>>    const MachineOperand &MO1 = MI->getOperand(OpNo);
>>>    const MachineOperand &MO2 = MI->getOperand(OpNo+1); // Unique Id
>>>    unsigned JTI = MO1.getJumpTableIndex();
>>> -  O << TAI->getPrivateGlobalPrefix() << "JTI" <<  
>>> getFunctionNumber()
>>> -    << '_' << JTI << '_' << MO2.getImmedValue() << ":\n";
>>> +  O << TAI->getPrivateGlobalPrefix() << "JTI" << JTI
>>> +    << '_' << MO2.getImmedValue() << '_' << CurrentFnName << ":\n";
>>>
>>>    const char *JTEntryDirective = TAI->getJumpTableDirective();
>>>    if (!JTEntryDirective)
>>> @@ -697,15 +697,16 @@
>>>
>>>      O << JTEntryDirective << ' ';
>>>      if (UseSet)
>>> -      O << TAI->getPrivateGlobalPrefix() << getFunctionNumber()
>>> -        << '_' << JTI << '_' << MO2.getImmedValue()
>>> -        << "_set_" << MBB->getNumber();
>>> +      O << TAI->getPrivateGlobalPrefix() << JTI
>>> +        << '_' << MO2.getImmedValue()
>>> +        << "_set_" << MBB->getNumber()
>>> +        << CurrentFnName;
>>>      else if (TM.getRelocationModel() == Reloc::PIC_) {
>>>        printBasicBlockLabel(MBB, false, false);
>>>        // If the arch uses custom Jump Table directives, don't calc
>>> relative to JT
>>>        if (!TAI->getJumpTableDirective())
>>>          O << '-' << TAI->getPrivateGlobalPrefix() << "JTI"
>>> -          << getFunctionNumber() << '_' << JTI << '_' <<
>>> MO2.getImmedValue();
>>> +          << JTI << '_' << MO2.getImmedValue() << '_' <<
>>> CurrentFnName;
>>>      } else
>>>        printBasicBlockLabel(MBB, false, false);
>>>      if (i != e-1)
>>>
>>> Modified: llvm/trunk/lib/Target/Alpha/AlphaAsmPrinter.cpp
>>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/
>>> Alpha/AlphaAsmPrinter.cpp?rev=42908&r1=42907&r2=42908&view=diff
>>>
>>> ==================================================================== 
>>> =
>>> =
>>> ========
>>> --- llvm/trunk/lib/Target/Alpha/AlphaAsmPrinter.cpp (original)
>>> +++ llvm/trunk/lib/Target/Alpha/AlphaAsmPrinter.cpp Fri Oct 12
>>> 09:53:36 2007
>>> @@ -104,8 +104,8 @@
>>>      return;
>>>
>>>    case MachineOperand::MO_ConstantPoolIndex:
>>> -    O << TAI->getPrivateGlobalPrefix() << "CPI" <<
>>> getFunctionNumber() << "_"
>>> -      << MO.getConstantPoolIndex();
>>> +    O << TAI->getPrivateGlobalPrefix() << "CPI" <<
>>> MO.getConstantPoolIndex()
>>> +      << '_' << CurrentFnName;
>>>      return;
>>>
>>>    case MachineOperand::MO_ExternalSymbol:
>>> @@ -121,8 +121,8 @@
>>>    }
>>>
>>>    case MachineOperand::MO_JumpTableIndex:
>>> -    O << TAI->getPrivateGlobalPrefix() << "JTI" <<
>>> getFunctionNumber()
>>> -      << '_' << MO.getJumpTableIndex();
>>> +    O << TAI->getPrivateGlobalPrefix() << "JTI" <<
>>> MO.getJumpTableIndex()
>>> +      << '_' << CurrentFnName;
>>>      return;
>>>
>>>    default:
>>>
>>> Modified: llvm/trunk/lib/Target/IA64/IA64AsmPrinter.cpp
>>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/IA64/
>>> IA64AsmPrinter.cpp?rev=42908&r1=42907&r2=42908&view=diff
>>>
>>> ==================================================================== 
>>> =
>>> =
>>> ========
>>> --- llvm/trunk/lib/Target/IA64/IA64AsmPrinter.cpp (original)
>>> +++ llvm/trunk/lib/Target/IA64/IA64AsmPrinter.cpp Fri Oct 12
>>> 09:53:36 2007
>>> @@ -179,8 +179,8 @@
>>>      return;
>>>    case MachineOperand::MO_ConstantPoolIndex: {
>>>      O << "@gprel(" << TAI->getPrivateGlobalPrefix()
>>> -      << "CPI" << getFunctionNumber() << "_"
>>> -      << MO.getConstantPoolIndex() << ")";
>>> +      << "CPI" << MO.getConstantPoolIndex() << '_'
>>> +      << CurrentFnName << ")";
>>>      return;
>>>    }
>>>
>>>
>>> Modified: llvm/trunk/lib/Target/Mips/MipsAsmPrinter.cpp
>>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/
>>> MipsAsmPrinter.cpp?rev=42908&r1=42907&r2=42908&view=diff
>>>
>>> ==================================================================== 
>>> =
>>> =
>>> ========
>>> --- llvm/trunk/lib/Target/Mips/MipsAsmPrinter.cpp (original)
>>> +++ llvm/trunk/lib/Target/Mips/MipsAsmPrinter.cpp Fri Oct 12
>>> 09:53:36 2007
>>> @@ -363,7 +363,7 @@
>>>
>>>      case MachineOperand::MO_ConstantPoolIndex:
>>>        O << TAI->getPrivateGlobalPrefix() << "CPI"
>>> -        << getFunctionNumber() << "_" << MO.getConstantPoolIndex();
>>> +        << MO.getConstantPoolIndex() << '_' << CurrentFnName;
>>>        break;
>>>
>>>      default:
>>>
>>> Modified: llvm/trunk/lib/Target/PowerPC/PPCAsmPrinter.cpp
>>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/
>>> PowerPC/PPCAsmPrinter.cpp?rev=42908&r1=42907&r2=42908&view=diff
>>>
>>> ==================================================================== 
>>> =
>>> =
>>> ========
>>> --- llvm/trunk/lib/Target/PowerPC/PPCAsmPrinter.cpp (original)
>>> +++ llvm/trunk/lib/Target/PowerPC/PPCAsmPrinter.cpp Fri Oct 12
>>> 09:53:36 2007
>>> @@ -164,7 +164,7 @@
>>>          O << "lo16(";
>>>          printOp(MI->getOperand(OpNo));
>>>          if (TM.getRelocationModel() == Reloc::PIC_)
>>> -          O << "-\"L" << getFunctionNumber() << "$pb\")";
>>> +          O << "-\"L" "pb$" << CurrentFnName << "\")";
>>>          else
>>>            O << ')';
>>>        }
>>> @@ -208,8 +208,8 @@
>>>       O << (int)MI->getOperand(OpNo).getImmedValue()*4;
>>>      }
>>>      void printPICLabel(const MachineInstr *MI, unsigned OpNo) {
>>> -      O << "\"L" << getFunctionNumber() << "$pb\"\n";
>>> -      O << "\"L" << getFunctionNumber() << "$pb\":";
>>> +      O << "\"L" "pb$" << CurrentFnName << "\"\n";
>>> +      O << "\"L" "pb$" << CurrentFnName << "\":";
>>>      }
>>>      void printSymbolHi(const MachineInstr *MI, unsigned OpNo) {
>>>        if (MI->getOperand(OpNo).isImmediate()) {
>>> @@ -218,7 +218,7 @@
>>>          if (Subtarget.isDarwin()) O << "ha16(";
>>>          printOp(MI->getOperand(OpNo));
>>>          if (TM.getRelocationModel() == Reloc::PIC_)
>>> -          O << "-\"L" << getFunctionNumber() << "$pb\"";
>>> +          O << "-\"L" "pb$" << CurrentFnName << "\"";
>>>          if (Subtarget.isDarwin())
>>>            O << ')';
>>>          else
>>> @@ -232,7 +232,7 @@
>>>          if (Subtarget.isDarwin()) O << "lo16(";
>>>          printOp(MI->getOperand(OpNo));
>>>          if (TM.getRelocationModel() == Reloc::PIC_)
>>> -          O << "-\"L" << getFunctionNumber() << "$pb\"";
>>> +          O << "-\"L" "pb$" << CurrentFnName << "\"";
>>>          if (Subtarget.isDarwin())
>>>            O << ')';
>>>          else
>>> @@ -362,13 +362,13 @@
>>>      printBasicBlockLabel(MO.getMachineBasicBlock());
>>>      return;
>>>    case MachineOperand::MO_JumpTableIndex:
>>> -    O << TAI->getPrivateGlobalPrefix() << "JTI" <<
>>> getFunctionNumber()
>>> -      << '_' << MO.getJumpTableIndex();
>>> +    O << TAI->getPrivateGlobalPrefix() << "JTI" <<
>>> MO.getJumpTableIndex()
>>> +      << '_' << CurrentFnName;
>>>      // FIXME: PIC relocation model
>>>      return;
>>>    case MachineOperand::MO_ConstantPoolIndex:
>>> -    O << TAI->getPrivateGlobalPrefix() << "CPI" <<
>>> getFunctionNumber()
>>> -      << '_' << MO.getConstantPoolIndex();
>>> +    O << TAI->getPrivateGlobalPrefix() << "CPI" <<
>>> MO.getConstantPoolIndex()
>>> +      << '_' << CurrentFnName;
>>>      return;
>>>    case MachineOperand::MO_ExternalSymbol:
>>>      // Computing the address of an external symbol, not calling it.
>>>
>>> Modified: llvm/trunk/lib/Target/Sparc/SparcAsmPrinter.cpp
>>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/
>>> Sparc/SparcAsmPrinter.cpp?rev=42908&r1=42907&r2=42908&view=diff
>>>
>>> ==================================================================== 
>>> =
>>> =
>>> ========
>>> --- llvm/trunk/lib/Target/Sparc/SparcAsmPrinter.cpp (original)
>>> +++ llvm/trunk/lib/Target/Sparc/SparcAsmPrinter.cpp Fri Oct 12
>>> 09:53:36 2007
>>> @@ -164,8 +164,8 @@
>>>      O << MO.getSymbolName();
>>>      break;
>>>    case MachineOperand::MO_ConstantPoolIndex:
>>> -    O << TAI->getPrivateGlobalPrefix() << "CPI" <<
>>> getFunctionNumber() << "_"
>>> -      << MO.getConstantPoolIndex();
>>> +    O << TAI->getPrivateGlobalPrefix() << "CPI" <<
>>> MO.getConstantPoolIndex()
>>> +      << '_' << CurrentFnName;
>>>      break;
>>>    default:
>>>      O << "<unknown operand type>"; abort (); break;
>>>
>>> Modified: llvm/trunk/lib/Target/X86/X86ATTAsmPrinter.cpp
>>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/
>>> X86ATTAsmPrinter.cpp?rev=42908&r1=42907&r2=42908&view=diff
>>>
>>> ==================================================================== 
>>> =
>>> =
>>> ========
>>> --- llvm/trunk/lib/Target/X86/X86ATTAsmPrinter.cpp (original)
>>> +++ llvm/trunk/lib/Target/X86/X86ATTAsmPrinter.cpp Fri Oct 12
>>> 09:53:36 2007
>>> @@ -31,14 +31,14 @@
>>>
>>>  STATISTIC(EmittedInsts, "Number of machine instrs printed");
>>>
>>> -static std::string computePICLabel(unsigned FnNum,
>>> +static std::string computePICLabel(const std::string &FnName,
>>>                                     const TargetAsmInfo *TAI,
>>>                                     const X86Subtarget*  
>>> Subtarget)  {
>>>    std::string label;
>>>    if (Subtarget->isTargetDarwin())
>>> -    label =  "\"L" + utostr_32(FnNum) + "$pb\"";
>>> +    label =  "\"L" "pb$" + FnName + "\"";
>>>    else if (Subtarget->isTargetELF())
>>> -    label = ".Lllvm$" + utostr_32(FnNum) + "$piclabel";
>>> +    label = ".Lllvm$piclabel$" + FnName;
>>>    else
>>>      assert(0 && "Don't know how to print PIC label!\n");
>>>
>>> @@ -236,13 +236,13 @@
>>>    case MachineOperand::MO_JumpTableIndex: {
>>>      bool isMemOp  = Modifier && !strcmp(Modifier, "mem");
>>>      if (!isMemOp) O << '$';
>>> -    O << TAI->getPrivateGlobalPrefix() << "JTI" <<
>>> getFunctionNumber() << "_"
>>> -      << MO.getJumpTableIndex();
>>> +    O << TAI->getPrivateGlobalPrefix() << "JTI" <<
>>> MO.getJumpTableIndex()
>>> +      << '_' << CurrentFnName;
>>>
>>>      if (TM.getRelocationModel() == Reloc::PIC_) {
>>>        if (Subtarget->isPICStyleStub())
>>> -        O << "-\"" << TAI->getPrivateGlobalPrefix() <<
>>> getFunctionNumber()
>>> -          << "$pb\"";
>>> +        O << "-\"" << TAI->getPrivateGlobalPrefix() << "pb$" <<
>>> CurrentFnName
>>> +          << "\"";
>>>        else if (Subtarget->isPICStyleGOT())
>>>          O << "@GOTOFF";
>>>      }
>>> @@ -254,13 +254,13 @@
>>>    case MachineOperand::MO_ConstantPoolIndex: {
>>>      bool isMemOp  = Modifier && !strcmp(Modifier, "mem");
>>>      if (!isMemOp) O << '$';
>>> -    O << TAI->getPrivateGlobalPrefix() << "CPI" <<
>>> getFunctionNumber() << "_"
>>> -      << MO.getConstantPoolIndex();
>>> +    O << TAI->getPrivateGlobalPrefix() << "CPI" <<
>>> MO.getConstantPoolIndex()
>>> +      << '_' << CurrentFnName;
>>>
>>>      if (TM.getRelocationModel() == Reloc::PIC_) {
>>>        if (Subtarget->isPICStyleStub())
>>> -        O << "-\"" << TAI->getPrivateGlobalPrefix() <<
>>> getFunctionNumber()
>>> -          << "$pb\"";
>>> +        O << "-\"" << TAI->getPrivateGlobalPrefix() << "pb$" <<
>>> CurrentFnName
>>> +          << "\"";
>>>        else if (Subtarget->isPICStyleGOT())
>>>          O << "@GOTOFF";
>>>      }
>>> @@ -317,8 +317,8 @@
>>>        }
>>>
>>>        if (!isCallOp && TM.getRelocationModel() == Reloc::PIC_)
>>> -        O << "-\"" << TAI->getPrivateGlobalPrefix() <<
>>> getFunctionNumber()
>>> -          << "$pb\"";
>>> +        O << "-\"" << TAI->getPrivateGlobalPrefix() << "pb$" <<
>>> CurrentFnName
>>> +          << "\"";
>>>      } else {
>>>        if (GV->hasDLLImportLinkage()) {
>>>          O << "__imp_";
>>> @@ -418,7 +418,7 @@
>>>          //   popl %some_register
>>>          //   addl $_GLOBAL_ADDRESS_TABLE_ + [.-piclabel], %
>>> some_register
>>>          O << " + [.-"
>>> -          << computePICLabel(getFunctionNumber(), TAI, Subtarget)
>>> << "]";
>>> +          << computePICLabel(CurrentFnName, TAI, Subtarget) << "]";
>>>
>>>        if (isCallOp)
>>>          O << "@PLT";
>>> @@ -498,7 +498,7 @@
>>>  }
>>>
>>>  void X86ATTAsmPrinter::printPICLabel(const MachineInstr *MI,
>>> unsigned Op) {
>>> -  std::string label = computePICLabel(getFunctionNumber(), TAI,
>>> Subtarget);
>>> +  std::string label = computePICLabel(CurrentFnName, TAI,
>>> Subtarget);
>>>    O << label << "\n" << label << ":";
>>>  }
>>>
>>>
>>> Modified: llvm/trunk/lib/Target/X86/X86IntelAsmPrinter.cpp
>>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/
>>> X86IntelAsmPrinter.cpp?rev=42908&r1=42907&r2=42908&view=diff
>>>
>>> ==================================================================== 
>>> =
>>> =
>>> ========
>>> --- llvm/trunk/lib/Target/X86/X86IntelAsmPrinter.cpp (original)
>>> +++ llvm/trunk/lib/Target/X86/X86IntelAsmPrinter.cpp Fri Oct 12
>>> 09:53:36 2007
>>> @@ -140,15 +140,15 @@
>>>    case MachineOperand::MO_JumpTableIndex: {
>>>      bool isMemOp  = Modifier && !strcmp(Modifier, "mem");
>>>      if (!isMemOp) O << "OFFSET ";
>>> -    O << TAI->getPrivateGlobalPrefix() << "JTI" <<
>>> getFunctionNumber()
>>> -      << "_" << MO.getJumpTableIndex();
>>> +    O << TAI->getPrivateGlobalPrefix() << "JTI" <<
>>> MO.getJumpTableIndex()
>>> +      << '_' << CurrentFnName;
>>>      return;
>>>    }
>>>    case MachineOperand::MO_ConstantPoolIndex: {
>>>      bool isMemOp  = Modifier && !strcmp(Modifier, "mem");
>>>      if (!isMemOp) O << "OFFSET ";
>>>      O << "[" << TAI->getPrivateGlobalPrefix() << "CPI"
>>> -      << getFunctionNumber() << "_" << MO.getConstantPoolIndex();
>>> +      << MO.getConstantPoolIndex() << '_' << CurrentFnName;
>>>      int Offset = MO.getOffset();
>>>      if (Offset > 0)
>>>        O << " + " << Offset;
>>> @@ -236,8 +236,8 @@
>>>  }
>>>
>>>  void X86IntelAsmPrinter::printPICLabel(const MachineInstr *MI,
>>> unsigned Op) {
>>> -  O << "\"L" << getFunctionNumber() << "$pb\"\n";
>>> -  O << "\"L" << getFunctionNumber() << "$pb\":";
>>> +  O << "\"L" "pb$" << CurrentFnName << "\"\n";
>>> +  O << "\"L" "pb$" << CurrentFnName << "\":";
>>>  }
>>>
>>>  bool X86IntelAsmPrinter::printAsmMRegister(const MachineOperand  
>>> &MO,
>>>
>>> Modified: llvm/trunk/test/CodeGen/X86/2006-10-19-
>>> SwitchUnnecessaryBranching.ll
>>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/
>>> X86/2006-10-19-SwitchUnnecessaryBranching.ll?
>>> rev=42908&r1=42907&r2=42908&view=diff
>>>
>>> ==================================================================== 
>>> =
>>> =
>>> ========
>>> --- llvm/trunk/test/CodeGen/X86/2006-10-19-
>>> SwitchUnnecessaryBranching.ll (original)
>>> +++ llvm/trunk/test/CodeGen/X86/2006-10-19-
>>> SwitchUnnecessaryBranching.ll Fri Oct 12 09:53:36 2007
>>> @@ -1,5 +1,5 @@
>>>  ; RUN: llvm-upgrade < %s | llvm-as | llc -march=x86 | %prcontext
>>> je 1 | \
>>> -; RUN:   grep BB1_1:
>>> +; RUN:   grep BB1_main:
>>>
>>>  %str = internal constant [14 x sbyte] c"Hello world!\0A\00"		; <
>>> [14 x sbyte]*> [#uses=1]
>>>  %str = internal constant [13 x sbyte] c"Blah world!\0A\00"		; <[13
>>> x sbyte]*> [#uses=1]
>>>
>>> Modified: llvm/trunk/test/CodeGen/X86/2007-01-08-InstrSched.ll
>>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/
>>> X86/2007-01-08-InstrSched.ll?rev=42908&r1=42907&r2=42908&view=diff
>>>
>>> ==================================================================== 
>>> =
>>> =
>>> ========
>>> --- llvm/trunk/test/CodeGen/X86/2007-01-08-InstrSched.ll (original)
>>> +++ llvm/trunk/test/CodeGen/X86/2007-01-08-InstrSched.ll Fri Oct 12
>>> 09:53:36 2007
>>> @@ -1,6 +1,6 @@
>>>  ; PR1075
>>>  ; RUN: llvm-as < %s | llc -mtriple=x86_64-apple-darwin | \
>>> -; RUN:   %prcontext {mulss	LCPI1_3} 1 | grep mulss | count 1
>>> +; RUN:   %prcontext {mulss	LCPI3__foo} 1 | grep mulss | count 1
>>>
>>>  define float @foo(float %x) {
>>>      %tmp1 = mul float %x, 3.000000e+00
>>>
>>> Modified: llvm/trunk/test/CodeGen/X86/fp_constant_op.llx
>>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/
>>> X86/fp_constant_op.llx?rev=42908&r1=42907&r2=42908&view=diff
>>>
>>> ==================================================================== 
>>> =
>>> =
>>> ========
>>> --- llvm/trunk/test/CodeGen/X86/fp_constant_op.llx (original)
>>> +++ llvm/trunk/test/CodeGen/X86/fp_constant_op.llx Fri Oct 12
>>> 09:53:36 2007
>>> @@ -3,32 +3,32 @@
>>>
>>>  ; Test that the load of the constant is folded into the operation.
>>>
>>> -double %test_add(double %P) {
>>> +double %foo_add(double %P) {
>>>          %tmp.1 = add double %P, 0x405EC00000000000
>>>          ret double %tmp.1
>>>  }
>>>
>>> -double %test_mul(double %P) {
>>> +double %foo_mul(double %P) {
>>>          %tmp.1 = mul double %P, 0x405EC00000000000
>>>          ret double %tmp.1
>>>  }
>>>
>>> -double %test_sub(double %P) {
>>> +double %foo_sub(double %P) {
>>>          %tmp.1 = sub double %P, 0x405EC00000000000
>>>          ret double %tmp.1
>>>  }
>>>
>>> -double %test_subr(double %P) {
>>> +double %foo_subr(double %P) {
>>>          %tmp.1 = sub double 0x405EC00000000000, %P
>>>          ret double %tmp.1
>>>  }
>>>
>>> -double %test_div(double %P) {
>>> +double %foo_div(double %P) {
>>>          %tmp.1 = div double %P, 0x405EC00000000000
>>>          ret double %tmp.1
>>>  }
>>>
>>> -double %test_divr(double %P) {
>>> +double %foo_divr(double %P) {
>>>          %tmp.1 = div double 0x405EC00000000000, %P
>>>          ret double %tmp.1
>>>  }
>>>
>>>
>>> _______________________________________________
>>> llvm-commits mailing list
>>> llvm-commits at cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
> _______________________________________________
> 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