[llvm-branch-commits] [llvm-branch] r182828 - Merging r182298:

Bill Wendling isanbard at gmail.com
Tue May 28 23:55:34 PDT 2013


Author: void
Date: Wed May 29 01:55:34 2013
New Revision: 182828

URL: http://llvm.org/viewvc/llvm-project?rev=182828&view=rev
Log:
Merging r182298:
------------------------------------------------------------------------
r182298 | jholewinski | 2013-05-20 09:42:18 -0700 (Mon, 20 May 2013) | 1 line

[NVPTX] Fix mis-use of CurrentFnSym in NVPTXAsmPrinter.  This was causing a symbol name error in the output PTX.
------------------------------------------------------------------------

Added:
    llvm/branches/release_33/test/CodeGen/NVPTX/refl1.ll
      - copied unchanged from r182298, llvm/trunk/test/CodeGen/NVPTX/refl1.ll
Modified:
    llvm/branches/release_33/   (props changed)
    llvm/branches/release_33/lib/Target/NVPTX/NVPTXAsmPrinter.cpp

Propchange: llvm/branches/release_33/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed May 29 01:55:34 2013
@@ -1,3 +1,3 @@
 /llvm/branches/Apple/Pertwee:110850,110961
 /llvm/branches/type-system-rewrite:133420-134817
-/llvm/trunk:155241,181286,181296,181313,181363,181366,181397,181423,181450,181524,181529,181540,181576-181580,181586,181600,181678,181706,181792,181800,181842,181864,182072,182112-182113,182253-182254,182297,182344,182364,182385,182387,182485-182486,182656
+/llvm/trunk:155241,181286,181296,181313,181363,181366,181397,181423,181450,181524,181529,181540,181576-181580,181586,181600,181678,181706,181792,181800,181842,181864,182072,182112-182113,182253-182254,182297-182298,182344,182364,182385,182387,182485-182486,182656

Modified: llvm/branches/release_33/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_33/lib/Target/NVPTX/NVPTXAsmPrinter.cpp?rev=182828&r1=182827&r2=182828&view=diff
==============================================================================
--- llvm/branches/release_33/lib/Target/NVPTX/NVPTXAsmPrinter.cpp (original)
+++ llvm/branches/release_33/lib/Target/NVPTX/NVPTXAsmPrinter.cpp Wed May 29 01:55:34 2013
@@ -702,7 +702,7 @@ void NVPTXAsmPrinter::emitDeclaration(co
   else
     O << ".func ";
   printReturnValStr(F, O);
-  O << *CurrentFnSym << "\n";
+  O << *Mang->getSymbol(F) << "\n";
   emitFunctionParamList(F, O);
   O << ";\n";
 }
@@ -812,7 +812,6 @@ void NVPTXAsmPrinter::emitDeclarations(c
         continue;
       if (F->getIntrinsicID())
         continue;
-      CurrentFnSym = Mang->getSymbol(F);
       emitDeclaration(F, O);
       continue;
     }
@@ -824,14 +823,12 @@ void NVPTXAsmPrinter::emitDeclarations(c
           // The use is in the initialization of a global variable
           // that is a function pointer, so print a declaration
           // for the original function
-          CurrentFnSym = Mang->getSymbol(F);
           emitDeclaration(F, O);
           break;
         }
         // Emit a declaration of this function if the function that
         // uses this constant expr has already been seen.
         if (useFuncSeen(C, seenMap)) {
-          CurrentFnSym = Mang->getSymbol(F);
           emitDeclaration(F, O);
           break;
         }
@@ -851,7 +848,6 @@ void NVPTXAsmPrinter::emitDeclarations(c
       // appearing in the module before the callee. so print out
       // a declaration for the callee.
       if (seenMap.find(caller) != seenMap.end()) {
-        CurrentFnSym = Mang->getSymbol(F);
         emitDeclaration(F, O);
         break;
       }
@@ -1473,7 +1469,7 @@ void NVPTXAsmPrinter::printParamName(Fun
                                      int paramIndex, raw_ostream &O) {
   if ((nvptxSubtarget.getDrvInterface() == NVPTX::NVCL) ||
       (nvptxSubtarget.getDrvInterface() == NVPTX::CUDA))
-    O << *CurrentFnSym << "_param_" << paramIndex;
+    O << *Mang->getSymbol(I->getParent()) << "_param_" << paramIndex;
   else {
     std::string argName = I->getName();
     const char *p = argName.c_str();
@@ -1532,11 +1528,13 @@ void NVPTXAsmPrinter::emitFunctionParamL
       if (llvm::isImage(*I)) {
         std::string sname = I->getName();
         if (llvm::isImageWriteOnly(*I))
-          O << "\t.param .surfref " << *CurrentFnSym << "_param_" << paramIndex;
+          O << "\t.param .surfref " << *Mang->getSymbol(F) << "_param_"
+            << paramIndex;
         else // Default image is read_only
-          O << "\t.param .texref " << *CurrentFnSym << "_param_" << paramIndex;
+          O << "\t.param .texref " << *Mang->getSymbol(F) << "_param_"
+            << paramIndex;
       } else // Should be llvm::isSampler(*I)
-        O << "\t.param .samplerref " << *CurrentFnSym << "_param_"
+        O << "\t.param .samplerref " << *Mang->getSymbol(F) << "_param_"
           << paramIndex;
       continue;
     }





More information about the llvm-branch-commits mailing list