[llvm-commits] CVS: llvm/utils/TableGen/DAGISelEmitter.cpp

Lauro Ramos Venancio lauro.venancio at gmail.com
Fri Apr 20 14:38:42 PDT 2007



Changes in directory llvm/utils/TableGen:

DAGISelEmitter.cpp updated: 1.292 -> 1.293
---
Log message:

Implement "general dynamic", "initial exec" and "local exec" TLS models for
X86 32 bits.


---
Diffs of the changes:  (+5 -2)

 DAGISelEmitter.cpp |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)


Index: llvm/utils/TableGen/DAGISelEmitter.cpp
diff -u llvm/utils/TableGen/DAGISelEmitter.cpp:1.292 llvm/utils/TableGen/DAGISelEmitter.cpp:1.293
--- llvm/utils/TableGen/DAGISelEmitter.cpp:1.292	Fri Jan 26 17:00:54 2007
+++ llvm/utils/TableGen/DAGISelEmitter.cpp	Fri Apr 20 16:38:10 2007
@@ -2654,10 +2654,12 @@
         } else {
           NodeOps.push_back(Val);
         }
-      } else if (!N->isLeaf() && N->getOperator()->getName() == "tglobaladdr") {
+      } else if (!N->isLeaf() && (N->getOperator()->getName() == "tglobaladdr"
+                 || N->getOperator()->getName() == "tglobaltlsaddr")) {
         Record *Op = OperatorMap[N->getName()];
         // Transform GlobalAddress to TargetGlobalAddress
-        if (Op && Op->getName() == "globaladdr") {
+        if (Op && (Op->getName() == "globaladdr" ||
+                   Op->getName() == "globaltlsaddr")) {
           emitCode("SDOperand Tmp" + utostr(ResNo) + " = CurDAG->getTarget"
                    "GlobalAddress(cast<GlobalAddressSDNode>(" + Val +
                    ")->getGlobal(), " + getEnumName(N->getTypeNum(0)) +
@@ -3716,6 +3718,7 @@
      << "  case ISD::TargetConstantPool:\n"
      << "  case ISD::TargetFrameIndex:\n"
      << "  case ISD::TargetJumpTable:\n"
+     << "  case ISD::TargetGlobalTLSAddress:\n"
      << "  case ISD::TargetGlobalAddress: {\n"
      << "    return NULL;\n"
      << "  }\n"






More information about the llvm-commits mailing list