[llvm-commits] CVS: llvm/lib/Target/PowerPC/PPCInstrInfo.td PPCRegisterInfo.td

2005-12-16 Thread Nate Begeman


Changes in directory llvm/lib/Target/PowerPC:

PPCInstrInfo.td updated: 1.159 -> 1.160
PPCRegisterInfo.td updated: 1.26 -> 1.27
---
Log message:

Add a second vector type to the VRRC register class, and fix some patterns
so that tablegen can infer all types.


---
Diffs of the changes:  (+6 -6)

 PPCInstrInfo.td|6 +++---
 PPCRegisterInfo.td |6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)


Index: llvm/lib/Target/PowerPC/PPCInstrInfo.td
diff -u llvm/lib/Target/PowerPC/PPCInstrInfo.td:1.159 
llvm/lib/Target/PowerPC/PPCInstrInfo.td:1.160
--- llvm/lib/Target/PowerPC/PPCInstrInfo.td:1.159   Wed Dec 14 16:54:33 2005
+++ llvm/lib/Target/PowerPC/PPCInstrInfo.td Fri Dec 16 03:19:13 2005
@@ -946,11 +946,11 @@
   (srl GPRC:$rS, (sub 32, GPRC:$rB))),
   (RLWNM GPRC:$rS, GPRC:$rB, 0, 31)>;
 
-def : Pat<(zext GPRC:$in),
+def : Pat<(i64 (zext GPRC:$in)),
   (RLDICL (OR4To8 GPRC:$in, GPRC:$in), 0, 32)>;
-def : Pat<(anyext GPRC:$in),
+def : Pat<(i64 (anyext GPRC:$in)),
   (OR4To8 GPRC:$in, GPRC:$in)>;
-def : Pat<(trunc G8RC:$in),
+def : Pat<(i32 (trunc G8RC:$in)),
   (OR8To4 G8RC:$in, G8RC:$in)>;
 
 // SHL


Index: llvm/lib/Target/PowerPC/PPCRegisterInfo.td
diff -u llvm/lib/Target/PowerPC/PPCRegisterInfo.td:1.26 
llvm/lib/Target/PowerPC/PPCRegisterInfo.td:1.27
--- llvm/lib/Target/PowerPC/PPCRegisterInfo.td:1.26 Wed Nov 30 22:51:06 2005
+++ llvm/lib/Target/PowerPC/PPCRegisterInfo.td  Fri Dec 16 03:19:13 2005
@@ -191,9 +191,9 @@
   F8, F9, F10, F11, F12, F13, F14, F15, F16, F17, F18, F19, F20, F21,
   F22, F23, F24, F25, F26, F27, F28, F29, F30, F31]>;
 
-def VRRC : RegisterClass<"PPC", [v4f32], 128, [V0, V1, V2, V3, V4, V5, V6, V7, 
-  V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23,
-  V24, V25, V26, V27, V28, V29, V30, V31]>;
+def VRRC : RegisterClass<"PPC", [v4f32,v4i32], 128, [V0, V1, V2, V3, V4, V5,
+  V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21,
+  V22, V23, V24, V25, V26, V27, V28, V29, V30, V31]>;
 
 def CRRC : RegisterClass<"PPC", [i32], 32, [CR0, CR1, CR5, CR6, CR7, CR2, 
   CR3, CR4]>;



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm-www/pubs/index.html

2005-12-16 Thread Balpreet Pankaj


Changes in directory llvm-www/pubs:

index.html updated: 1.34 -> 1.35
---
Log message:



---
Diffs of the changes:  (+1 -1)

 index.html |2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)


Index: llvm-www/pubs/index.html
diff -u llvm-www/pubs/index.html:1.34 llvm-www/pubs/index.html:1.35
--- llvm-www/pubs/index.html:1.34   Fri Dec 16 11:44:29 2005
+++ llvm-www/pubs/index.htmlFri Dec 16 12:33:09 2005
@@ -35,7 +35,7 @@
 
 
 "How Successful is Data Structure 
Analysis in Isolating and Analyzing
-  Linked Data Structures?" Patrick Meredith, Balpreet Pankaj, Swarup 
Sahoo, Chris Lattner and Vikram Adve Technical Report, Computer Science 
Dept., Univ. of
+  Linked Data Structures?" Patrick Meredith, Balpreet Pankaj, Swarup 
Sahoo, Chris Lattner and Vikram Adve Technical Report 
#UIUCDCS-R-2005-2658, Computer Science Dept., Univ. of
 Illinois, Dec. 2005. 
 
 



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp

2005-12-16 Thread Chris Lattner


Changes in directory llvm/lib/Target/PowerPC:

PPCAsmPrinter.cpp updated: 1.127 -> 1.128
---
Log message:

Weak and linkonce global vars should still have a .globl emitted for them


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

 PPCAsmPrinter.cpp |3 ++-
 1 files changed, 2 insertions(+), 1 deletion(-)


Index: llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
diff -u llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp:1.127 
llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp:1.128
--- llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp:1.127 Thu Dec 15 18:22:14 2005
+++ llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp   Fri Dec 16 15:46:14 2005
@@ -468,7 +468,8 @@
   switch (I->getLinkage()) {
   case GlobalValue::LinkOnceLinkage:
   case GlobalValue::WeakLinkage:
-O << ".weak_definition " << name << '\n'
+O << ".globl " << name << '\n'
+  << ".weak_definition " << name << '\n'
   << ".private_extern " << name << '\n';
 SwitchSection(".section __DATA,__datacoal_nt,coalesced", I);
 break;



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm-gcc/gcc/llvm-expand.c llvm-out.h llvm-representation.c llvm-representation.h toplev.c

2005-12-16 Thread Jim Laskey


Changes in directory llvm-gcc/gcc:

llvm-expand.c updated: 1.121 -> 1.122
llvm-out.h updated: 1.6 -> 1.7
llvm-representation.c updated: 1.22 -> 1.23
llvm-representation.h updated: 1.21 -> 1.22
toplev.c updated: 1.6 -> 1.7
---
Log message:


http://llvm.cs.uiuc.edu/bugs/show_bug.cgi?id=676

Fixes a bug where all debug information showed the main compile unit and not
includes.


---
Diffs of the changes:  (+112 -76)

 llvm-expand.c |  136 +-
 llvm-out.h|4 -
 llvm-representation.c |   23 
 llvm-representation.h |   10 +++
 toplev.c  |   15 -
 5 files changed, 112 insertions(+), 76 deletions(-)


Index: llvm-gcc/gcc/llvm-expand.c
diff -u llvm-gcc/gcc/llvm-expand.c:1.121 llvm-gcc/gcc/llvm-expand.c:1.122
--- llvm-gcc/gcc/llvm-expand.c:1.121Wed Dec  7 13:35:10 2005
+++ llvm-gcc/gcc/llvm-expand.c  Fri Dec 16 16:17:32 2005
@@ -7834,7 +7834,6 @@
 static llvm_type *emptyStructTy;
 static llvm_type *ptrToEmptyStructTy;
 
-static llvm_global *dbCompileUnitGlobal;
 static llvm_global *dbTranslationUnitsGlobal;
 static llvm_global *dbGlobalsGlobal;
 
@@ -7881,62 +7880,85 @@
emits file level debug info as LLVM globals
  */
 
-void llvm_emit_debug_context_info(const char *fileName, 
- const char *path, 
- const char *producer){
-  llvm_constant *CA = 0;
-  llvm_global *pathStr = EmitGlobalString(fileName);
-  llvm_global *fileNameStr = EmitGlobalString(path);
-  llvm_global *producerStr = EmitGlobalString(producer);
-  llvm_value **Elements = (llvm_value**) xcalloc(7, sizeof(llvm_value*));
-  llvm_instruction *gep = 0;
-  
-  /* Infer language of file, stolen from dwarf2out.c */
-  const char *language_string = lang_hooks.name;
-  if (strcmp (language_string, "GNU C++") == 0)
-LLVM_DEBUG_LANG_CODE = 0x0004; /*DW_LANG_C_plus_plus;*/
-  else if (strcmp (language_string, "GNU Ada") == 0)
-LLVM_DEBUG_LANG_CODE = 0x000d; /* DW_LANG_Ada95; */
-  else if (strcmp (language_string, "GNU F77") == 0)
-LLVM_DEBUG_LANG_CODE = 0x0007; /* DW_LANG_Fortran77; */
-  else if (strcmp (language_string, "GNU Pascal") == 0)
-LLVM_DEBUG_LANG_CODE = 0x0009; /* DW_LANG_Pascal83; */
-  else if (strcmp (language_string, "GNU Java") == 0)
-LLVM_DEBUG_LANG_CODE = 0x000b; /* DW_LANG_Java; */
-  else
-LLVM_DEBUG_LANG_CODE = 0x0001; /* DW_LANG_C89; */
-
-
-  /* The constant in Elements[0] is DW_TAG_COMPILE_UNIT */
-  Elements[0] = llvm_constant_new_integral(UIntTy, 17);
-  Elements[1] = llvm_constant_new_integral(UShortTy, LLVM_DEBUG_VERSION); 
-  Elements[2] = llvm_constant_new_integral(UShortTy, LLVM_DEBUG_LANG_CODE); 
+llvm_global *llvm_emit_debug_context_info(const char *fullpath) {
+  llvm_global *dbCompileUnitGlobal = NULL;
   
-  gep = create_gep3(G2V(fileNameStr), 
-llvm_constant_intptr_0,
-llvm_constant_intptr_0);
-  Elements[3] = G2V(llvm_constant_expr_new(gep));
-  
-  gep = create_gep3(G2V(pathStr), 
-llvm_constant_intptr_0,
-llvm_constant_intptr_0);
-  Elements[4] = G2V(llvm_constant_expr_new(gep));
-
-  gep = create_gep3(G2V(producerStr), 
-llvm_constant_intptr_0,
-llvm_constant_intptr_0);
-  Elements[5] = G2V(llvm_constant_expr_new(gep));
-
-  Elements[6] = G2V(dbTranslationUnitsGlobal);
-  CA = G2C(llvm_constant_aggregate_new(dbCompileUnitTy, Elements));
-
-  dbCompileUnitGlobal = llvm_global_new(dbCompileUnitTy, "d.compile_unit");
-  dbCompileUnitGlobal->isConstant = 1;
-  dbCompileUnitGlobal->Linkage = L_Internal;
-  dbCompileUnitGlobal->Init = CA;
+  if (debug_info_level > DINFO_LEVEL_NONE) {
+const char *globalName;
+llvm_global *pathStr;
+llvm_global *fileNameStr;
+llvm_global *producerStr;
+llvm_constant *CA = 0;
+llvm_value **Elements = (llvm_value**) xcalloc(7, sizeof(llvm_value*));
+llvm_instruction *gep = 0;
+static compileUnitCount = 0;
+char *buf = xstrdup(fullpath);
+char *path = buf;
+char *fileName = strrchr(buf, '/');
+
+if(fileName){
+  *fileName = '\0';
+  fileName++;
+} else {
+  path = ".";
+  fileName = buf;
+}
 
-  llvm_ilist_push_back(llvm_global, TheProgram.Globals, dbCompileUnitGlobal);
+pathStr = EmitGlobalString(path);
+fileNameStr = EmitGlobalString(fileName);
+producerStr = EmitGlobalString("3.4.x");
+free(buf);
+
+/* Infer language of file, stolen from dwarf2out.c */
+const char *language_string = lang_hooks.name;
+if (strcmp (language_string, "GNU C++") == 0)
+  LLVM_DEBUG_LANG_CODE = 0x0004; /*DW_LANG_C_plus_plus;*/
+else if (strcmp (language_string, "GNU Ada") == 0)
+  LLVM_DEBUG_LANG_CODE = 0x000d; /* DW_LANG_Ada95; */
+else if (strcmp (language_string, "GNU F77") == 0)
+  LLVM_DEBUG_LANG_CODE = 0x0007; /* DW_LANG_Fortran77; */
+else

[llvm-commits] CVS: llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp SelectionDAG.cpp SelectionDAGISel.cpp

2005-12-16 Thread Jim Laskey


Changes in directory llvm/lib/CodeGen/SelectionDAG:

LegalizeDAG.cpp updated: 1.228 -> 1.229
SelectionDAG.cpp updated: 1.224 -> 1.225
SelectionDAGISel.cpp updated: 1.116 -> 1.117
---
Log message:

Added source file/line correspondence for dwarf (PowerPC only at this point.)


---
Diffs of the changes:  (+36 -4)

 LegalizeDAG.cpp  |   37 ++---
 SelectionDAG.cpp |1 +
 SelectionDAGISel.cpp |2 +-
 3 files changed, 36 insertions(+), 4 deletions(-)


Index: llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
diff -u llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.228 
llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.229
--- llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.228 Mon Dec 12 21:03:23 2005
+++ llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp   Fri Dec 16 16:45:28 2005
@@ -611,9 +611,18 @@
 switch (TLI.getOperationAction(ISD::LOCATION, MVT::Other)) {
 case TargetLowering::Promote:
 default: assert(0 && "This action is not supported yet!");
-case TargetLowering::Expand:
-  // If the target doesn't support line numbers, ignore this node.
-  Result = Tmp1;
+case TargetLowering::Expand: {
+MachineDebugInfo &DebugInfo = DAG.getMachineFunction().getDebugInfo();
+std::vector Ops;
+Ops.push_back(Tmp1);  // chain
+Ops.push_back(Node->getOperand(1));  // line #
+Ops.push_back(Node->getOperand(2));  // col #
+const std::string &fname = 
cast(Node->getOperand(3))->getValue();
+const std::string 
&dirname=cast(Node->getOperand(4))->getValue();
+unsigned id = DebugInfo.RecordSource(fname, dirname);
+Ops.push_back(DAG.getConstant(id, MVT::i32));  // source file id
+Result = DAG.getNode(ISD::DEBUG_LOC, MVT::Other, Ops);
+  }
   break;
 case TargetLowering::Legal:
   if (Tmp1 != Node->getOperand(0) ||
@@ -635,6 +644,28 @@
   break;
 }
 break;
+
+  case ISD::DEBUG_LOC:
+assert(Node->getNumOperands() == 4 && "Invalid DEBUG_LOC node!");
+switch (TLI.getOperationAction(ISD::DEBUG_LOC, MVT::Other)) {
+case TargetLowering::Promote:
+case TargetLowering::Expand:
+default: assert(0 && "This action is not supported yet!");
+case TargetLowering::Legal:
+  Tmp1 = LegalizeOp(Node->getOperand(0));  // Legalize the chain.
+  Tmp2 = LegalizeOp(Node->getOperand(1));  // Legalize the line #.
+  Tmp3 = LegalizeOp(Node->getOperand(2));  // Legalize the col #.
+  Tmp4 = LegalizeOp(Node->getOperand(3));  // Legalize the source file id.
+  
+  if (Tmp1 != Node->getOperand(0) ||
+  Tmp2 != Node->getOperand(1) ||
+  Tmp3 != Node->getOperand(2) ||
+  Tmp4 != Node->getOperand(3)) {
+Result = DAG.getNode(ISD::DEBUG_LOC,MVT::Other, Tmp1, Tmp2, Tmp3, 
Tmp4);
+  }
+  break;
+}
+break;
 
   case ISD::Constant:
 // We know we don't need to expand constants here, constants only have one


Index: llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
diff -u llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:1.224 
llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:1.225
--- llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:1.224Fri Dec  9 
18:37:58 2005
+++ llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp  Fri Dec 16 16:45:28 2005
@@ -1961,6 +1961,7 @@
 
   // Debug info
   case ISD::LOCATION: return "location";
+  case ISD::DEBUG_LOC: return "debug_loc";
 
   case ISD::CONDCODE:
 switch (cast(this)->get()) {


Index: llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
diff -u llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1.116 
llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1.117
--- llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1.116Tue Dec 13 
11:40:33 2005
+++ llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp  Fri Dec 16 16:45:28 2005
@@ -918,8 +918,8 @@
   if (ConstantStruct *CS = 
 dyn_cast(cunit->getInitializer())) {
 if (CS->getNumOperands() > 0) {
-  Ops.push_back(DAG.getString(getStringValue(CS->getOperand(4;
   Ops.push_back(DAG.getString(getStringValue(CS->getOperand(3;
+  Ops.push_back(DAG.getString(getStringValue(CS->getOperand(4;
 }
   }
 }



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/lib/CodeGen/MachineFunction.cpp

2005-12-16 Thread Jim Laskey


Changes in directory llvm/lib/CodeGen:

MachineFunction.cpp updated: 1.81 -> 1.82
---
Log message:

Added source file/line correspondence for dwarf (PowerPC only at this point.)


---
Diffs of the changes:  (+1 -1)

 MachineFunction.cpp |2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)


Index: llvm/lib/CodeGen/MachineFunction.cpp
diff -u llvm/lib/CodeGen/MachineFunction.cpp:1.81 
llvm/lib/CodeGen/MachineFunction.cpp:1.82
--- llvm/lib/CodeGen/MachineFunction.cpp:1.81   Wed Oct 12 07:09:05 2005
+++ llvm/lib/CodeGen/MachineFunction.cppFri Dec 16 16:45:28 2005
@@ -108,7 +108,7 @@
 
 MachineFunction::MachineFunction(const Function *F,
  const TargetMachine &TM)
-  : Annotation(MF_AID), Fn(F), Target(TM), UsedPhysRegs(0) {
+  : Annotation(MF_AID), Fn(F), Target(TM), UsedPhysRegs(0), DebugInfo() {
   SSARegMapping = new SSARegMap();
   MFInfo = 0;
   FrameInfo = new MachineFrameInfo();



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp PPCInstrInfo.td

2005-12-16 Thread Jim Laskey


Changes in directory llvm/lib/Target/PowerPC:

PPCAsmPrinter.cpp updated: 1.128 -> 1.129
PPCInstrInfo.td updated: 1.160 -> 1.161
---
Log message:

Added source file/line correspondence for dwarf (PowerPC only at this point.)


---
Diffs of the changes:  (+17 -0)

 PPCAsmPrinter.cpp |8 
 PPCInstrInfo.td   |9 +
 2 files changed, 17 insertions(+)


Index: llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
diff -u llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp:1.128 
llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp:1.129
--- llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp:1.128 Fri Dec 16 15:46:14 2005
+++ llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp   Fri Dec 16 16:45:29 2005
@@ -25,6 +25,7 @@
 #include "llvm/Module.h"
 #include "llvm/Assembly/Writer.h"
 #include "llvm/CodeGen/AsmPrinter.h"
+#include "llvm/CodeGen/MachineDebugInfo.h"
 #include "llvm/CodeGen/MachineFunctionPass.h"
 #include "llvm/CodeGen/MachineInstr.h"
 #include "llvm/Support/Mangler.h"
@@ -375,6 +376,13 @@
 bool DarwinAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
   SetupMachineFunction(MF);
   O << "\n\n";
+  
+  // Print out dwarf file info
+  MachineDebugInfo &DebugInfo = MF.getDebugInfo();
+  std::vector Sources = DebugInfo.getSourceFiles();
+  for (unsigned i = 0, N = Sources.size(); i < N; i++) {
+O << "\t; .file\t" << (i + 1) << "," << "\"" << Sources[i]  << "\"" << 
"\n";
+  }
 
   // Print out constants referenced by the function
   EmitConstantPool(MF.getConstantPool());


Index: llvm/lib/Target/PowerPC/PPCInstrInfo.td
diff -u llvm/lib/Target/PowerPC/PPCInstrInfo.td:1.160 
llvm/lib/Target/PowerPC/PPCInstrInfo.td:1.161
--- llvm/lib/Target/PowerPC/PPCInstrInfo.td:1.160   Fri Dec 16 03:19:13 2005
+++ llvm/lib/Target/PowerPC/PPCInstrInfo.td Fri Dec 16 16:45:29 2005
@@ -922,6 +922,15 @@
 
 
 
//===--===//
+// DWARF Pseudo Instructions
+//
+
+def DWARF_LOC: Pseudo<(ops i32imm:$line, i32imm:$col, i32imm:$file),
+  "; .loc $file, $line, $col",
+  [(dwarf_loc (i32 imm:$line), (i32 imm:$col),
+  (i32 imm:$file))]>;
+
+//===--===//
 // PowerPC Instruction Patterns
 //
 



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/lib/Target/TargetSelectionDAG.td

2005-12-16 Thread Jim Laskey


Changes in directory llvm/lib/Target:

TargetSelectionDAG.td updated: 1.26 -> 1.27
---
Log message:

Added source file/line correspondence for dwarf (PowerPC only at this point.)


---
Diffs of the changes:  (+10 -0)

 TargetSelectionDAG.td |   10 ++
 1 files changed, 10 insertions(+)


Index: llvm/lib/Target/TargetSelectionDAG.td
diff -u llvm/lib/Target/TargetSelectionDAG.td:1.26 
llvm/lib/Target/TargetSelectionDAG.td:1.27
--- llvm/lib/Target/TargetSelectionDAG.td:1.26  Thu Dec 15 13:49:22 2005
+++ llvm/lib/Target/TargetSelectionDAG.td   Fri Dec 16 16:45:29 2005
@@ -415,3 +415,13 @@
   string SelectFunc = fn;
   list RootNodes = roots;
 }
+
+//===--===//
+// Dwarf support.
+//
+def SDT_dwarf_loc : SDTypeProfile<0, 3,
+[SDTCisInt<0>, SDTCisInt<1>, 
SDTCisInt<2>]>;
+def dwarf_loc  : SDNode<"ISD::DEBUG_LOC", SDT_dwarf_loc,[SDNPHasChain]>;
+
+
+



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/include/llvm/CodeGen/MachineDebugInfo.h MachineFunction.h SelectionDAGNodes.h

2005-12-16 Thread Jim Laskey


Changes in directory llvm/include/llvm/CodeGen:

MachineDebugInfo.h added (r1.1)
MachineFunction.h updated: 1.55 -> 1.56
SelectionDAGNodes.h updated: 1.81 -> 1.82
---
Log message:

Added source file/line correspondence for dwarf (PowerPC only at this point.)


---
Diffs of the changes:  (+96 -0)

 MachineDebugInfo.h  |   80 
 MachineFunction.h   |   10 ++
 SelectionDAGNodes.h |6 +++
 3 files changed, 96 insertions(+)


Index: llvm/include/llvm/CodeGen/MachineDebugInfo.h
diff -c /dev/null llvm/include/llvm/CodeGen/MachineDebugInfo.h:1.1
*** /dev/null   Fri Dec 16 16:45:38 2005
--- llvm/include/llvm/CodeGen/MachineDebugInfo.hFri Dec 16 16:45:28 2005
***
*** 0 
--- 1,80 
+ //===-- llvm/CodeGen/MachineDebugInfo.h -*- C++ 
-*-===//
+ //
+ // The LLVM Compiler Infrastructure
+ //
+ // This file was developed by James M. Laskey and is distributed under
+ // the University of Illinois Open Source License. See LICENSE.TXT for 
details.
+ //
+ 
//===--===//
+ //
+ // Collect debug information for a module.  This information should be in a
+ // neutral form that can be used by different debugging schemes.
+ //
+ 
//===--===//
+ 
+ #ifndef LLVM_CODEGEN_MACHINEDEBUGINFO_H
+ #define LLVM_CODEGEN_MACHINEDEBUGINFO_H
+ 
+ #include 
+ #include 
+ #include 
+ 
+ namespace llvm {
+ 
//===--===//
+ /// MachineDebugInfo - This class contains debug information specific to a
+ /// module.  Queries can be made by different debugging schemes and reformated
+ /// for specific use.
+ ///
+ class MachineDebugInfo {
+ private:
+   // convenience types
+   typedef std::map StrIntMap;
+   typedef StrIntMap::iterator StrIntMapIter;
+   
+   StrIntMap SourceMap;  // Map of source file path to id
+   unsigned SourceCount; // Number of source files (used to
+ // generate id)
+ 
+ public:
+   // Ctor.
+   MachineDebugInfo() : SourceMap(), SourceCount(0) {}
+   
+   /// RecordSource - Register a source file with debug info.  Returns an id.
+   ///
+   unsigned RecordSource(std::string fname, std::string dirname) {
+ // Compose a key
+ std::string path = dirname + "/" + fname;
+ // Check if the source file is already recorded
+ StrIntMapIter SMI = SourceMap.find(path);
+ // If already there return existing id
+ if (SMI != SourceMap.end()) return SMI->second;
+ // Bump up the count
+ ++SourceCount;
+ // Record the count
+ SourceMap[path] = SourceCount;
+ // Return id
+ return SourceCount;
+   }
+ 
+   /// getSourceFiles - Return a vector of files.  Vector index + 1 equals id.
+   ///
+   std::vector getSourceFiles() {
+ std::vector Sources(SourceCount);
+ 
+ for (StrIntMapIter SMI = SourceMap.begin(), E = SourceMap.end(); SMI != E;
+SMI++) {
+   unsigned Index = SMI->second - 1;
+   std::string Path = SMI->first;
+   Sources[Index] = Path;
+ }
+ return Sources;
+   }
+   
+ }; // End class MachineDebugInfo
+ 
//===--===//
+ 
+ 
+ 
+ } // End llvm namespace
+ 
+ #endif


Index: llvm/include/llvm/CodeGen/MachineFunction.h
diff -u llvm/include/llvm/CodeGen/MachineFunction.h:1.55 
llvm/include/llvm/CodeGen/MachineFunction.h:1.56
--- llvm/include/llvm/CodeGen/MachineFunction.h:1.55Wed Aug 31 17:49:51 2005
+++ llvm/include/llvm/CodeGen/MachineFunction.h Fri Dec 16 16:45:28 2005
@@ -18,6 +18,7 @@
 #ifndef LLVM_CODEGEN_MACHINEFUNCTION_H
 #define LLVM_CODEGEN_MACHINEFUNCTION_H
 
+#include "llvm/CodeGen/MachineDebugInfo.h"
 #include "llvm/CodeGen/MachineBasicBlock.h"
 #include "llvm/Support/Annotation.h"
 
@@ -112,6 +113,10 @@
   /// stored in the second element.
   std::vector > LiveIns;
   std::vector LiveOuts;
+  
+  /// DebugInfo - Keep track of debug information for the function.
+  ///
+  MachineDebugInfo DebugInfo;
 
 public:
   MachineFunction(const Function *Fn, const TargetMachine &TM);
@@ -212,6 +217,11 @@
   const MachineBasicBlock *getLastBlock() const {
 return MBBNumbering.back();
   }
+  
+  /// getDebugInfo - Returns the DebugInfo.
+  MachineDebugInfo &getDebugInfo() {
+return DebugInfo;
+  }
 
   /// print - Print out the MachineFunction in a format suitable for debugging
   /// to the specified stream.


Index: llvm/include/llvm/CodeGen/SelectionDAGNodes.h
diff -u llvm/include/llvm/CodeGen/SelectionDAGNodes.h:1.81 
llvm/include/llvm/CodeGen/SelectionDAGNodes.h:1.82
--- llvm/include/llvm/CodeGen/SelectionDAGNodes.h:1.81  Tue Dec  6 00:18:55 2005
+++ llvm/include/llvm/CodeGen/SelectionDAGNodes.h   Fri Dec 16 16:45:28 2005
@@ -352,6 +352,12 @@
 // a

[llvm-commits] CVS: llvm/win32/x86/x86.vcproj

2005-12-16 Thread Jeff Cohen


Changes in directory llvm/win32/x86:

x86.vcproj updated: 1.16 -> 1.17
---
Log message:

Turn on string pooling for smaller binaries.

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

 x86.vcproj |2 ++
 1 files changed, 2 insertions(+)


Index: llvm/win32/x86/x86.vcproj
diff -u llvm/win32/x86/x86.vcproj:1.16 llvm/win32/x86/x86.vcproj:1.17
--- llvm/win32/x86/x86.vcproj:1.16  Wed Nov 16 00:10:53 2005
+++ llvm/win32/x86/x86.vcproj   Fri Dec 16 18:14:47 2005
@@ -22,6 +22,7 @@
Optimization="0"

AdditionalIncludeDirectories=".;..\..\include;.."

PreprocessorDefinitions="WIN32;_DEBUG;_LIB;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@@ -67,6 +68,7 @@
Name="VCCLCompilerTool"

AdditionalIncludeDirectories=".;..\..\include;.."

PreprocessorDefinitions="WIN32;NDEBUG;_LIB;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
RuntimeLibrary="2"
ForceConformanceInForLoopScope="TRUE"
RuntimeTypeInfo="TRUE"



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/win32/Analysis/Analysis.vcproj

2005-12-16 Thread Jeff Cohen


Changes in directory llvm/win32/Analysis:

Analysis.vcproj updated: 1.15 -> 1.16
---
Log message:

Turn on string pooling for smaller binaries.

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

 Analysis.vcproj |2 ++
 1 files changed, 2 insertions(+)


Index: llvm/win32/Analysis/Analysis.vcproj
diff -u llvm/win32/Analysis/Analysis.vcproj:1.15 
llvm/win32/Analysis/Analysis.vcproj:1.16
--- llvm/win32/Analysis/Analysis.vcproj:1.15Sat Oct 29 11:51:48 2005
+++ llvm/win32/Analysis/Analysis.vcproj Fri Dec 16 18:14:46 2005
@@ -21,6 +21,7 @@
Optimization="0"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;_DEBUG;_LIB;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@@ -66,6 +67,7 @@
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;NDEBUG;_LIB;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
RuntimeLibrary="2"
ForceConformanceInForLoopScope="TRUE"
RuntimeTypeInfo="TRUE"



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/win32/Support/Support.vcproj

2005-12-16 Thread Jeff Cohen


Changes in directory llvm/win32/Support:

Support.vcproj updated: 1.11 -> 1.12
---
Log message:

Turn on string pooling for smaller binaries.

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

 Support.vcproj |2 ++
 1 files changed, 2 insertions(+)


Index: llvm/win32/Support/Support.vcproj
diff -u llvm/win32/Support/Support.vcproj:1.11 
llvm/win32/Support/Support.vcproj:1.12
--- llvm/win32/Support/Support.vcproj:1.11  Sun Jan 30 11:54:11 2005
+++ llvm/win32/Support/Support.vcproj   Fri Dec 16 18:14:47 2005
@@ -22,6 +22,7 @@
Optimization="0"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;_DEBUG;_LIB;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@@ -67,6 +68,7 @@
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;NDEBUG;_LIB;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
RuntimeLibrary="2"
ForceConformanceInForLoopScope="TRUE"
RuntimeTypeInfo="TRUE"



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/win32/llvm-prof/llvm-prof.vcproj

2005-12-16 Thread Jeff Cohen


Changes in directory llvm/win32/llvm-prof:

llvm-prof.vcproj updated: 1.2 -> 1.3
---
Log message:

Turn on string pooling for smaller binaries.

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

 llvm-prof.vcproj |2 ++
 1 files changed, 2 insertions(+)


Index: llvm/win32/llvm-prof/llvm-prof.vcproj
diff -u llvm/win32/llvm-prof/llvm-prof.vcproj:1.2 
llvm/win32/llvm-prof/llvm-prof.vcproj:1.3
--- llvm/win32/llvm-prof/llvm-prof.vcproj:1.2   Sun Jan 30 11:54:12 2005
+++ llvm/win32/llvm-prof/llvm-prof.vcproj   Fri Dec 16 18:14:47 2005
@@ -21,6 +21,7 @@
Optimization="0"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@@ -73,6 +74,7 @@
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
RuntimeLibrary="2"
ForceConformanceInForLoopScope="TRUE"
RuntimeTypeInfo="TRUE"



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/win32/llc/llc.vcproj

2005-12-16 Thread Jeff Cohen


Changes in directory llvm/win32/llc:

llc.vcproj updated: 1.7 -> 1.8
---
Log message:

Turn on string pooling for smaller binaries.

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

 llc.vcproj |2 ++
 1 files changed, 2 insertions(+)


Index: llvm/win32/llc/llc.vcproj
diff -u llvm/win32/llc/llc.vcproj:1.7 llvm/win32/llc/llc.vcproj:1.8
--- llvm/win32/llc/llc.vcproj:1.7   Sun Jan 30 11:54:12 2005
+++ llvm/win32/llc/llc.vcproj   Fri Dec 16 18:14:47 2005
@@ -21,6 +21,7 @@
Optimization="0"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@@ -74,6 +75,7 @@
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
RuntimeLibrary="2"
ForceConformanceInForLoopScope="TRUE"
RuntimeTypeInfo="TRUE"



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/win32/llvm-bcanalyzer/llvm-bcanalyzer.vcproj

2005-12-16 Thread Jeff Cohen


Changes in directory llvm/win32/llvm-bcanalyzer:

llvm-bcanalyzer.vcproj updated: 1.2 -> 1.3
---
Log message:

Turn on string pooling for smaller binaries.

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

 llvm-bcanalyzer.vcproj |2 ++
 1 files changed, 2 insertions(+)


Index: llvm/win32/llvm-bcanalyzer/llvm-bcanalyzer.vcproj
diff -u llvm/win32/llvm-bcanalyzer/llvm-bcanalyzer.vcproj:1.2 
llvm/win32/llvm-bcanalyzer/llvm-bcanalyzer.vcproj:1.3
--- llvm/win32/llvm-bcanalyzer/llvm-bcanalyzer.vcproj:1.2   Sun Jan 30 
11:54:12 2005
+++ llvm/win32/llvm-bcanalyzer/llvm-bcanalyzer.vcproj   Fri Dec 16 18:14:47 2005
@@ -21,6 +21,7 @@
Optimization="0"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@@ -73,6 +74,7 @@
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
RuntimeLibrary="2"
ForceConformanceInForLoopScope="TRUE"
RuntimeTypeInfo="TRUE"



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/win32/VMCore/VMCore.vcproj

2005-12-16 Thread Jeff Cohen


Changes in directory llvm/win32/VMCore:

VMCore.vcproj updated: 1.10 -> 1.11
---
Log message:

Turn on string pooling for smaller binaries.

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

 VMCore.vcproj |2 ++
 1 files changed, 2 insertions(+)


Index: llvm/win32/VMCore/VMCore.vcproj
diff -u llvm/win32/VMCore/VMCore.vcproj:1.10 
llvm/win32/VMCore/VMCore.vcproj:1.11
--- llvm/win32/VMCore/VMCore.vcproj:1.10Sun Jan 30 11:54:11 2005
+++ llvm/win32/VMCore/VMCore.vcproj Fri Dec 16 18:14:47 2005
@@ -21,6 +21,7 @@
Optimization="0"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;_DEBUG;_LIB;__STDC_LIMIT_MACROS;HASH_NAMESPACE="stdext""
+   StringPooling="TRUE"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@@ -66,6 +67,7 @@
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;NDEBUG;_LIB;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
RuntimeLibrary="2"
ForceConformanceInForLoopScope="TRUE"
RuntimeTypeInfo="TRUE"



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/win32/llvm-nm/llvm-nm.vcproj

2005-12-16 Thread Jeff Cohen


Changes in directory llvm/win32/llvm-nm:

llvm-nm.vcproj updated: 1.2 -> 1.3
---
Log message:

Turn on string pooling for smaller binaries.

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

 llvm-nm.vcproj |2 ++
 1 files changed, 2 insertions(+)


Index: llvm/win32/llvm-nm/llvm-nm.vcproj
diff -u llvm/win32/llvm-nm/llvm-nm.vcproj:1.2 
llvm/win32/llvm-nm/llvm-nm.vcproj:1.3
--- llvm/win32/llvm-nm/llvm-nm.vcproj:1.2   Sun Jan 30 11:54:12 2005
+++ llvm/win32/llvm-nm/llvm-nm.vcproj   Fri Dec 16 18:14:47 2005
@@ -21,6 +21,7 @@
Optimization="0"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@@ -73,6 +74,7 @@
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
RuntimeLibrary="2"
ForceConformanceInForLoopScope="TRUE"
RuntimeTypeInfo="TRUE"



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/win32/opt/opt.vcproj

2005-12-16 Thread Jeff Cohen


Changes in directory llvm/win32/opt:

opt.vcproj updated: 1.2 -> 1.3
---
Log message:

Turn on string pooling for smaller binaries.

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

 opt.vcproj |2 ++
 1 files changed, 2 insertions(+)


Index: llvm/win32/opt/opt.vcproj
diff -u llvm/win32/opt/opt.vcproj:1.2 llvm/win32/opt/opt.vcproj:1.3
--- llvm/win32/opt/opt.vcproj:1.2   Sun Jan 30 11:54:12 2005
+++ llvm/win32/opt/opt.vcproj   Fri Dec 16 18:14:47 2005
@@ -21,6 +21,7 @@
Optimization="0"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@@ -73,6 +74,7 @@
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
RuntimeLibrary="2"
ForceConformanceInForLoopScope="TRUE"
RuntimeTypeInfo="TRUE"



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/win32/bugpoint/bugpoint.vcproj

2005-12-16 Thread Jeff Cohen


Changes in directory llvm/win32/bugpoint:

bugpoint.vcproj updated: 1.2 -> 1.3
---
Log message:

Turn on string pooling for smaller binaries.

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

 bugpoint.vcproj |2 ++
 1 files changed, 2 insertions(+)


Index: llvm/win32/bugpoint/bugpoint.vcproj
diff -u llvm/win32/bugpoint/bugpoint.vcproj:1.2 
llvm/win32/bugpoint/bugpoint.vcproj:1.3
--- llvm/win32/bugpoint/bugpoint.vcproj:1.2 Sun Jan 30 11:54:12 2005
+++ llvm/win32/bugpoint/bugpoint.vcproj Fri Dec 16 18:14:47 2005
@@ -21,6 +21,7 @@
Optimization="0"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@@ -73,6 +74,7 @@
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
RuntimeLibrary="2"
ForceConformanceInForLoopScope="TRUE"
RuntimeTypeInfo="TRUE"



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/win32/llvm-link/llvm-link.vcproj

2005-12-16 Thread Jeff Cohen


Changes in directory llvm/win32/llvm-link:

llvm-link.vcproj updated: 1.2 -> 1.3
---
Log message:

Turn on string pooling for smaller binaries.

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

 llvm-link.vcproj |2 ++
 1 files changed, 2 insertions(+)


Index: llvm/win32/llvm-link/llvm-link.vcproj
diff -u llvm/win32/llvm-link/llvm-link.vcproj:1.2 
llvm/win32/llvm-link/llvm-link.vcproj:1.3
--- llvm/win32/llvm-link/llvm-link.vcproj:1.2   Sun Jan 30 11:54:12 2005
+++ llvm/win32/llvm-link/llvm-link.vcproj   Fri Dec 16 18:14:47 2005
@@ -21,6 +21,7 @@
Optimization="0"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@@ -73,6 +74,7 @@
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
RuntimeLibrary="2"
ForceConformanceInForLoopScope="TRUE"
RuntimeTypeInfo="TRUE"



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/win32/Target/Target.vcproj

2005-12-16 Thread Jeff Cohen


Changes in directory llvm/win32/Target:

Target.vcproj updated: 1.11 -> 1.12
---
Log message:

Turn on string pooling for smaller binaries.

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

 Target.vcproj |2 ++
 1 files changed, 2 insertions(+)


Index: llvm/win32/Target/Target.vcproj
diff -u llvm/win32/Target/Target.vcproj:1.11 
llvm/win32/Target/Target.vcproj:1.12
--- llvm/win32/Target/Target.vcproj:1.11Thu Oct 27 20:43:09 2005
+++ llvm/win32/Target/Target.vcproj Fri Dec 16 18:14:47 2005
@@ -21,6 +21,7 @@
Optimization="0"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;_DEBUG;_LIB;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@@ -66,6 +67,7 @@
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;NDEBUG;_LIB;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
RuntimeLibrary="2"
ForceConformanceInForLoopScope="TRUE"
RuntimeTypeInfo="TRUE"



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/win32/llvm-ranlib/llvm-ranlib.vcproj

2005-12-16 Thread Jeff Cohen


Changes in directory llvm/win32/llvm-ranlib:

llvm-ranlib.vcproj updated: 1.2 -> 1.3
---
Log message:

Turn on string pooling for smaller binaries.

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

 llvm-ranlib.vcproj |2 ++
 1 files changed, 2 insertions(+)


Index: llvm/win32/llvm-ranlib/llvm-ranlib.vcproj
diff -u llvm/win32/llvm-ranlib/llvm-ranlib.vcproj:1.2 
llvm/win32/llvm-ranlib/llvm-ranlib.vcproj:1.3
--- llvm/win32/llvm-ranlib/llvm-ranlib.vcproj:1.2   Sun Jan 30 11:54:12 2005
+++ llvm/win32/llvm-ranlib/llvm-ranlib.vcproj   Fri Dec 16 18:14:47 2005
@@ -21,6 +21,7 @@
Optimization="0"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@@ -73,6 +74,7 @@
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
RuntimeLibrary="2"
ForceConformanceInForLoopScope="TRUE"
RuntimeTypeInfo="TRUE"



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/win32/Fibonacci/Fibonacci.vcproj

2005-12-16 Thread Jeff Cohen


Changes in directory llvm/win32/Fibonacci:

Fibonacci.vcproj updated: 1.9 -> 1.10
---
Log message:

Turn on string pooling for smaller binaries.

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

 Fibonacci.vcproj |2 ++
 1 files changed, 2 insertions(+)


Index: llvm/win32/Fibonacci/Fibonacci.vcproj
diff -u llvm/win32/Fibonacci/Fibonacci.vcproj:1.9 
llvm/win32/Fibonacci/Fibonacci.vcproj:1.10
--- llvm/win32/Fibonacci/Fibonacci.vcproj:1.9   Sun Jan 30 11:54:11 2005
+++ llvm/win32/Fibonacci/Fibonacci.vcproj   Fri Dec 16 18:14:47 2005
@@ -22,6 +22,7 @@
Optimization="0"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@@ -76,6 +77,7 @@
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
RuntimeLibrary="2"
ForceConformanceInForLoopScope="TRUE"
RuntimeTypeInfo="TRUE"



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/win32/CodeGen/CodeGen.vcproj

2005-12-16 Thread Jeff Cohen


Changes in directory llvm/win32/CodeGen:

CodeGen.vcproj updated: 1.15 -> 1.16
---
Log message:

Turn on string pooling for smaller binaries.

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

 CodeGen.vcproj |2 ++
 1 files changed, 2 insertions(+)


Index: llvm/win32/CodeGen/CodeGen.vcproj
diff -u llvm/win32/CodeGen/CodeGen.vcproj:1.15 
llvm/win32/CodeGen/CodeGen.vcproj:1.16
--- llvm/win32/CodeGen/CodeGen.vcproj:1.15  Mon Oct 24 10:21:58 2005
+++ llvm/win32/CodeGen/CodeGen.vcproj   Fri Dec 16 18:14:46 2005
@@ -21,6 +21,7 @@
Optimization="0"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;_DEBUG;_LIB;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@@ -66,6 +67,7 @@
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;NDEBUG;_LIB;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
RuntimeLibrary="2"
ForceConformanceInForLoopScope="TRUE"
RuntimeTypeInfo="TRUE"



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/win32/Transforms/Transforms.vcproj

2005-12-16 Thread Jeff Cohen


Changes in directory llvm/win32/Transforms:

Transforms.vcproj updated: 1.18 -> 1.19
---
Log message:

Turn on string pooling for smaller binaries.

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

 Transforms.vcproj |2 ++
 1 files changed, 2 insertions(+)


Index: llvm/win32/Transforms/Transforms.vcproj
diff -u llvm/win32/Transforms/Transforms.vcproj:1.18 
llvm/win32/Transforms/Transforms.vcproj:1.19
--- llvm/win32/Transforms/Transforms.vcproj:1.18Mon Nov 28 00:46:36 2005
+++ llvm/win32/Transforms/Transforms.vcproj Fri Dec 16 18:14:47 2005
@@ -21,6 +21,7 @@
Optimization="0"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;_DEBUG;_LIB;__STDC_LIMIT_MACROS;HASH_NAMESPACE="stdext""
+   StringPooling="TRUE"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@@ -66,6 +67,7 @@
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;NDEBUG;_LIB;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
RuntimeLibrary="2"
ForceConformanceInForLoopScope="TRUE"
RuntimeTypeInfo="TRUE"



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/win32/AsmParser/AsmParser.vcproj

2005-12-16 Thread Jeff Cohen


Changes in directory llvm/win32/AsmParser:

AsmParser.vcproj updated: 1.7 -> 1.8
---
Log message:

Turn on string pooling for smaller binaries.

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

 AsmParser.vcproj |2 ++
 1 files changed, 2 insertions(+)


Index: llvm/win32/AsmParser/AsmParser.vcproj
diff -u llvm/win32/AsmParser/AsmParser.vcproj:1.7 
llvm/win32/AsmParser/AsmParser.vcproj:1.8
--- llvm/win32/AsmParser/AsmParser.vcproj:1.7   Wed Oct 26 20:10:37 2005
+++ llvm/win32/AsmParser/AsmParser.vcproj   Fri Dec 16 18:14:46 2005
@@ -22,6 +22,7 @@
Optimization="0"

AdditionalIncludeDirectories="..\..\include;..;..\..\lib\AsmParser"

PreprocessorDefinitions="WIN32;_DEBUG;_LIB;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@@ -67,6 +68,7 @@
Name="VCCLCompilerTool"

AdditionalIncludeDirectories="..\..\include;..;..\..\lib\AsmParser"

PreprocessorDefinitions="WIN32;NDEBUG;_LIB;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
RuntimeLibrary="2"
ForceConformanceInForLoopScope="TRUE"
RuntimeTypeInfo="TRUE"



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/win32/llvm-ar/llvm-ar.vcproj

2005-12-16 Thread Jeff Cohen


Changes in directory llvm/win32/llvm-ar:

llvm-ar.vcproj updated: 1.2 -> 1.3
---
Log message:

Turn on string pooling for smaller binaries.

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

 llvm-ar.vcproj |2 ++
 1 files changed, 2 insertions(+)


Index: llvm/win32/llvm-ar/llvm-ar.vcproj
diff -u llvm/win32/llvm-ar/llvm-ar.vcproj:1.2 
llvm/win32/llvm-ar/llvm-ar.vcproj:1.3
--- llvm/win32/llvm-ar/llvm-ar.vcproj:1.2   Sun Jan 30 11:54:12 2005
+++ llvm/win32/llvm-ar/llvm-ar.vcproj   Fri Dec 16 18:14:47 2005
@@ -21,6 +21,7 @@
Optimization="0"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@@ -73,6 +74,7 @@
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
RuntimeLibrary="2"
ForceConformanceInForLoopScope="TRUE"
RuntimeTypeInfo="TRUE"



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/win32/llvm-ld/llvm-ld.vcproj

2005-12-16 Thread Jeff Cohen


Changes in directory llvm/win32/llvm-ld:

llvm-ld.vcproj updated: 1.2 -> 1.3
---
Log message:

Turn on string pooling for smaller binaries.

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

 llvm-ld.vcproj |2 ++
 1 files changed, 2 insertions(+)


Index: llvm/win32/llvm-ld/llvm-ld.vcproj
diff -u llvm/win32/llvm-ld/llvm-ld.vcproj:1.2 
llvm/win32/llvm-ld/llvm-ld.vcproj:1.3
--- llvm/win32/llvm-ld/llvm-ld.vcproj:1.2   Sun Jan 30 11:54:12 2005
+++ llvm/win32/llvm-ld/llvm-ld.vcproj   Fri Dec 16 18:14:47 2005
@@ -21,6 +21,7 @@
Optimization="0"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@@ -73,6 +74,7 @@
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
RuntimeLibrary="2"
ForceConformanceInForLoopScope="TRUE"
RuntimeTypeInfo="TRUE"



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/win32/System/System.vcproj

2005-12-16 Thread Jeff Cohen


Changes in directory llvm/win32/System:

System.vcproj updated: 1.15 -> 1.16
---
Log message:

Turn on string pooling for smaller binaries.

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

 System.vcproj |2 ++
 1 files changed, 2 insertions(+)


Index: llvm/win32/System/System.vcproj
diff -u llvm/win32/System/System.vcproj:1.15 
llvm/win32/System/System.vcproj:1.16
--- llvm/win32/System/System.vcproj:1.15Tue Jul 12 21:15:18 2005
+++ llvm/win32/System/System.vcproj Fri Dec 16 18:14:47 2005
@@ -22,6 +22,7 @@
Optimization="0"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;_DEBUG;_LIB;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@@ -67,6 +68,7 @@
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;NDEBUG;_LIB;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
RuntimeLibrary="2"
ForceConformanceInForLoopScope="TRUE"
RuntimeTypeInfo="TRUE"



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/win32/llvm-as/llvm-as.vcproj

2005-12-16 Thread Jeff Cohen


Changes in directory llvm/win32/llvm-as:

llvm-as.vcproj updated: 1.2 -> 1.3
---
Log message:

Turn on string pooling for smaller binaries.

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

 llvm-as.vcproj |2 ++
 1 files changed, 2 insertions(+)


Index: llvm/win32/llvm-as/llvm-as.vcproj
diff -u llvm/win32/llvm-as/llvm-as.vcproj:1.2 
llvm/win32/llvm-as/llvm-as.vcproj:1.3
--- llvm/win32/llvm-as/llvm-as.vcproj:1.2   Sun Jan 30 11:54:12 2005
+++ llvm/win32/llvm-as/llvm-as.vcproj   Fri Dec 16 18:14:47 2005
@@ -21,6 +21,7 @@
Optimization="0"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@@ -73,6 +74,7 @@
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
RuntimeLibrary="2"
ForceConformanceInForLoopScope="TRUE"
RuntimeTypeInfo="TRUE"



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/win32/CBackend/CBackend.vcproj

2005-12-16 Thread Jeff Cohen


Changes in directory llvm/win32/CBackend:

CBackend.vcproj updated: 1.3 -> 1.4
---
Log message:

Turn on string pooling for smaller binaries.

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

 CBackend.vcproj |2 ++
 1 files changed, 2 insertions(+)


Index: llvm/win32/CBackend/CBackend.vcproj
diff -u llvm/win32/CBackend/CBackend.vcproj:1.3 
llvm/win32/CBackend/CBackend.vcproj:1.4
--- llvm/win32/CBackend/CBackend.vcproj:1.3 Wed Feb  2 00:33:11 2005
+++ llvm/win32/CBackend/CBackend.vcproj Fri Dec 16 18:14:46 2005
@@ -21,6 +21,7 @@
Optimization="0"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;_DEBUG;_LIB;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@@ -66,6 +67,7 @@
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;NDEBUG;_LIB;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
RuntimeLibrary="2"
ForceConformanceInForLoopScope="TRUE"
RuntimeTypeInfo="TRUE"



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/win32/TableGen/TableGen.vcproj

2005-12-16 Thread Jeff Cohen


Changes in directory llvm/win32/TableGen:

TableGen.vcproj updated: 1.18 -> 1.19
---
Log message:

Turn on string pooling for smaller binaries.

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

 TableGen.vcproj |2 ++
 1 files changed, 2 insertions(+)


Index: llvm/win32/TableGen/TableGen.vcproj
diff -u llvm/win32/TableGen/TableGen.vcproj:1.18 
llvm/win32/TableGen/TableGen.vcproj:1.19
--- llvm/win32/TableGen/TableGen.vcproj:1.18Wed Oct 26 20:10:37 2005
+++ llvm/win32/TableGen/TableGen.vcproj Fri Dec 16 18:14:47 2005
@@ -21,6 +21,7 @@
Optimization="0"

AdditionalIncludeDirectories="..\..\include;..;..\..\utils\tablegen"

PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@@ -74,6 +75,7 @@
Name="VCCLCompilerTool"

AdditionalIncludeDirectories="..\..\include;..;..\..\utils\tablegen"

PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
RuntimeLibrary="2"
ForceConformanceInForLoopScope="TRUE"
RuntimeTypeInfo="TRUE"



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/win32/llvm-dis/llvm-dis.vcproj

2005-12-16 Thread Jeff Cohen


Changes in directory llvm/win32/llvm-dis:

llvm-dis.vcproj updated: 1.3 -> 1.4
---
Log message:

Turn on string pooling for smaller binaries.

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

 llvm-dis.vcproj |2 ++
 1 files changed, 2 insertions(+)


Index: llvm/win32/llvm-dis/llvm-dis.vcproj
diff -u llvm/win32/llvm-dis/llvm-dis.vcproj:1.3 
llvm/win32/llvm-dis/llvm-dis.vcproj:1.4
--- llvm/win32/llvm-dis/llvm-dis.vcproj:1.3 Sun Jan 30 11:54:12 2005
+++ llvm/win32/llvm-dis/llvm-dis.vcproj Fri Dec 16 18:14:47 2005
@@ -21,6 +21,7 @@
Optimization="0"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@@ -73,6 +74,7 @@
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
RuntimeLibrary="2"
ForceConformanceInForLoopScope="TRUE"
RuntimeTypeInfo="TRUE"



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/win32/ExecutionEngine/ExecutionEngine.vcproj

2005-12-16 Thread Jeff Cohen


Changes in directory llvm/win32/ExecutionEngine:

ExecutionEngine.vcproj updated: 1.7 -> 1.8
---
Log message:

Turn on string pooling for smaller binaries.

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

 ExecutionEngine.vcproj |2 ++
 1 files changed, 2 insertions(+)


Index: llvm/win32/ExecutionEngine/ExecutionEngine.vcproj
diff -u llvm/win32/ExecutionEngine/ExecutionEngine.vcproj:1.7 
llvm/win32/ExecutionEngine/ExecutionEngine.vcproj:1.8
--- llvm/win32/ExecutionEngine/ExecutionEngine.vcproj:1.7   Sun Jan 30 
11:54:11 2005
+++ llvm/win32/ExecutionEngine/ExecutionEngine.vcproj   Fri Dec 16 18:14:46 2005
@@ -21,6 +21,7 @@
Optimization="0"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;_DEBUG;_LIB;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@@ -66,6 +67,7 @@
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;NDEBUG;_LIB;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
RuntimeLibrary="2"
ForceConformanceInForLoopScope="TRUE"
RuntimeTypeInfo="TRUE"



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/win32/Bytecode/Bytecode.vcproj

2005-12-16 Thread Jeff Cohen


Changes in directory llvm/win32/Bytecode:

Bytecode.vcproj updated: 1.4 -> 1.5
---
Log message:

Turn on string pooling for smaller binaries.

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

 Bytecode.vcproj |2 ++
 1 files changed, 2 insertions(+)


Index: llvm/win32/Bytecode/Bytecode.vcproj
diff -u llvm/win32/Bytecode/Bytecode.vcproj:1.4 
llvm/win32/Bytecode/Bytecode.vcproj:1.5
--- llvm/win32/Bytecode/Bytecode.vcproj:1.4 Wed Feb  2 00:33:11 2005
+++ llvm/win32/Bytecode/Bytecode.vcproj Fri Dec 16 18:14:46 2005
@@ -21,6 +21,7 @@
Optimization="0"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;_DEBUG;_LIB;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@@ -66,6 +67,7 @@
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;NDEBUG;_LIB;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
RuntimeLibrary="2"
ForceConformanceInForLoopScope="TRUE"
RuntimeTypeInfo="TRUE"



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/include/llvm/Value.h

2005-12-16 Thread Jeff Cohen


Changes in directory llvm/include/llvm:

Value.h updated: 1.79 -> 1.80
---
Log message:

Fix VC++ level 4 warnings.

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

 Value.h |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)


Index: llvm/include/llvm/Value.h
diff -u llvm/include/llvm/Value.h:1.79 llvm/include/llvm/Value.h:1.80
--- llvm/include/llvm/Value.h:1.79  Fri Oct  7 20:24:19 2005
+++ llvm/include/llvm/Value.h   Fri Dec 16 18:18:06 2005
@@ -165,7 +165,7 @@
   }
 
   // Methods for support type inquiry through isa, cast, and dyn_cast:
-  static inline bool classof(const Value *V) {
+  static inline bool classof(const Value * /*V*/) {
 return true; // Values are always values.
   }
 
@@ -175,7 +175,7 @@
 
 private:
   /// FIXME: this is a gross hack, needed by another gross hack.  Eliminate!
-  void setValueType(unsigned VT) { SubclassID = VT; }
+  void setValueType(unsigned short VT) { SubclassID = VT; }
   friend class Instruction;
 };
 



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/win32/analyze/analyze.vcproj

2005-12-16 Thread Jeff Cohen


Changes in directory llvm/win32/analyze:

analyze.vcproj updated: 1.5 -> 1.6
---
Log message:

Turn on string pooling for smaller binaries.

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

 analyze.vcproj |2 ++
 1 files changed, 2 insertions(+)


Index: llvm/win32/analyze/analyze.vcproj
diff -u llvm/win32/analyze/analyze.vcproj:1.5 
llvm/win32/analyze/analyze.vcproj:1.6
--- llvm/win32/analyze/analyze.vcproj:1.5   Sun Oct 23 21:57:24 2005
+++ llvm/win32/analyze/analyze.vcproj   Fri Dec 16 18:14:47 2005
@@ -21,6 +21,7 @@
Optimization="0"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@@ -73,6 +74,7 @@
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
RuntimeLibrary="2"
ForceConformanceInForLoopScope="TRUE"
RuntimeTypeInfo="TRUE"



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/include/llvm/Constant.h GlobalVariable.h Instruction.h

2005-12-16 Thread Jeff Cohen


Changes in directory llvm/include/llvm:

Constant.h updated: 1.26 -> 1.27
GlobalVariable.h updated: 1.35 -> 1.36
Instruction.h updated: 1.69 -> 1.70
---
Log message:

Fix VC++ level 4 warnings.  Because a base class has declared these private, 
VC++ complains it cannot automatically generate this methods.

---
Diffs of the changes:  (+8 -0)

 Constant.h   |2 ++
 GlobalVariable.h |3 +++
 Instruction.h|3 +++
 3 files changed, 8 insertions(+)


Index: llvm/include/llvm/Constant.h
diff -u llvm/include/llvm/Constant.h:1.26 llvm/include/llvm/Constant.h:1.27
--- llvm/include/llvm/Constant.h:1.26   Tue Oct 25 12:59:28 2005
+++ llvm/include/llvm/Constant.hFri Dec 16 18:19:22 2005
@@ -19,6 +19,8 @@
 namespace llvm {
 
 class Constant : public User {
+  void operator=(const Constant &); // Do not implement
+  Constant(const Constant &);   // Do not implement
 protected:
   Constant(const Type *Ty, ValueTy vty, Use *Ops, unsigned NumOps,
const std::string& Name = "")


Index: llvm/include/llvm/GlobalVariable.h
diff -u llvm/include/llvm/GlobalVariable.h:1.35 
llvm/include/llvm/GlobalVariable.h:1.36
--- llvm/include/llvm/GlobalVariable.h:1.35 Tue Oct  4 13:12:13 2005
+++ llvm/include/llvm/GlobalVariable.h  Fri Dec 16 18:19:22 2005
@@ -34,6 +34,9 @@
 class GlobalVariable : public GlobalValue {
   friend class SymbolTableListTraits >;
+  void operator=(const GlobalVariable &); // Do not implement
+  GlobalVariable(const GlobalVariable &); // Do not implement
+
   void setParent(Module *parent);
 
   GlobalVariable *Prev, *Next;


Index: llvm/include/llvm/Instruction.h
diff -u llvm/include/llvm/Instruction.h:1.69 
llvm/include/llvm/Instruction.h:1.70
--- llvm/include/llvm/Instruction.h:1.69Tue Oct 25 12:59:28 2005
+++ llvm/include/llvm/Instruction.h Fri Dec 16 18:19:22 2005
@@ -27,6 +27,9 @@
  typename SubClass> class SymbolTableListTraits;
 
 class Instruction : public User {
+  void operator=(const Instruction &); // Do not implement
+  Instruction(const Instruction &);// Do not implement
+
   BasicBlock *Parent;
   Instruction *Prev, *Next; // Next and Prev links for our intrusive linked 
list
 



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/win32/lli/lli.vcproj

2005-12-16 Thread Jeff Cohen


Changes in directory llvm/win32/lli:

lli.vcproj updated: 1.6 -> 1.7
---
Log message:

Turn on string pooling for smaller binaries.

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

 lli.vcproj |2 ++
 1 files changed, 2 insertions(+)


Index: llvm/win32/lli/lli.vcproj
diff -u llvm/win32/lli/lli.vcproj:1.6 llvm/win32/lli/lli.vcproj:1.7
--- llvm/win32/lli/lli.vcproj:1.6   Sun Jan 30 11:54:12 2005
+++ llvm/win32/lli/lli.vcproj   Fri Dec 16 18:14:47 2005
@@ -21,6 +21,7 @@
Optimization="0"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@@ -74,6 +75,7 @@
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
RuntimeLibrary="2"
ForceConformanceInForLoopScope="TRUE"
RuntimeTypeInfo="TRUE"



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/win32/Linker/Linker.vcproj

2005-12-16 Thread Jeff Cohen


Changes in directory llvm/win32/Linker:

Linker.vcproj updated: 1.4 -> 1.5
---
Log message:

Turn on string pooling for smaller binaries.

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

 Linker.vcproj |2 ++
 1 files changed, 2 insertions(+)


Index: llvm/win32/Linker/Linker.vcproj
diff -u llvm/win32/Linker/Linker.vcproj:1.4 llvm/win32/Linker/Linker.vcproj:1.5
--- llvm/win32/Linker/Linker.vcproj:1.4 Tue Mar 15 23:09:59 2005
+++ llvm/win32/Linker/Linker.vcproj Fri Dec 16 18:14:47 2005
@@ -21,6 +21,7 @@
Optimization="0"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;_DEBUG;_LIB;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@@ -66,6 +67,7 @@
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\include;.."

PreprocessorDefinitions="WIN32;NDEBUG;_LIB;__STDC_LIMIT_MACROS"
+   StringPooling="TRUE"
RuntimeLibrary="2"
ForceConformanceInForLoopScope="TRUE"
RuntimeTypeInfo="TRUE"



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/lib/Target/X86/X86ATTAsmPrinter.h X86IntelAsmPrinter.h

2005-12-16 Thread Evan Cheng


Changes in directory llvm/lib/Target/X86:

X86ATTAsmPrinter.h updated: 1.3 -> 1.4
X86IntelAsmPrinter.h updated: 1.4 -> 1.5
---
Log message:

Remove hidden DOS characters.


---
Diffs of the changes:  (+171 -171)

 X86ATTAsmPrinter.h   |  152 
 X86IntelAsmPrinter.h |  190 +--
 2 files changed, 171 insertions(+), 171 deletions(-)


Index: llvm/lib/Target/X86/X86ATTAsmPrinter.h
diff -u llvm/lib/Target/X86/X86ATTAsmPrinter.h:1.3 
llvm/lib/Target/X86/X86ATTAsmPrinter.h:1.4
--- llvm/lib/Target/X86/X86ATTAsmPrinter.h:1.3  Wed Nov 30 12:54:35 2005
+++ llvm/lib/Target/X86/X86ATTAsmPrinter.h  Fri Dec 16 19:03:57 2005
@@ -1,76 +1,76 @@
-//===-- X86ATTAsmPrinter.h - Convert X86 LLVM code to Intel assembly 
--===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file was developed by the LLVM research group and is distributed under
-// the University of Illinois Open Source License. See LICENSE.TXT for details.
-//
-//===--===//
-//
-// AT&T assembly code printer class.
-//
-//===--===//
-
-#ifndef X86ATTASMPRINTER_H
-#define X86ATTASMPRINTER_H
-
-#include "X86AsmPrinter.h"
-#include "llvm/CodeGen/ValueTypes.h"
-
-namespace llvm {
-namespace x86 {
-
-struct X86ATTAsmPrinter : public X86SharedAsmPrinter {
-  X86ATTAsmPrinter(std::ostream &O, TargetMachine &TM)
-: X86SharedAsmPrinter(O, TM) { }
-
-  virtual const char *getPassName() const {
-return "X86 AT&T-Style Assembly Printer";
-  }
-
-  /// printInstruction - This method is automatically generated by tablegen
-  /// from the instruction set description.  This method returns true if the
-  /// machine instruction was sufficiently described to print it, otherwise it
-  /// returns false.
-  bool printInstruction(const MachineInstr *MI);
-
-  // This method is used by the tablegen'erated instruction printer.
-  void printOperand(const MachineInstr *MI, unsigned OpNo){
-printOp(MI->getOperand(OpNo));
-  }
-  void printCallOperand(const MachineInstr *MI, unsigned OpNo) {
-printOp(MI->getOperand(OpNo), true); // Don't print '$' prefix.
-  }
-  void printi8mem(const MachineInstr *MI, unsigned OpNo) {
-printMemReference(MI, OpNo);
-  }
-  void printi16mem(const MachineInstr *MI, unsigned OpNo) {
-printMemReference(MI, OpNo);
-  }
-  void printi32mem(const MachineInstr *MI, unsigned OpNo) {
-printMemReference(MI, OpNo);
-  }
-  void printi64mem(const MachineInstr *MI, unsigned OpNo) {
-printMemReference(MI, OpNo);
-  }
-  void printf32mem(const MachineInstr *MI, unsigned OpNo) {
-printMemReference(MI, OpNo);
-  }
-  void printf64mem(const MachineInstr *MI, unsigned OpNo) {
-printMemReference(MI, OpNo);
-  }
-  void printf80mem(const MachineInstr *MI, unsigned OpNo) {
-printMemReference(MI, OpNo);
-  }
-  
-  void printMachineInstruction(const MachineInstr *MI);
-  void printOp(const MachineOperand &MO, bool isCallOperand = false);
-  void printSSECC(const MachineInstr *MI, unsigned Op);
-  void printMemReference(const MachineInstr *MI, unsigned Op);
-  bool runOnMachineFunction(MachineFunction &F);
-};
-
-} // end namespace x86
-} // end namespace llvm
-
-#endif
+//===-- X86ATTAsmPrinter.h - Convert X86 LLVM code to Intel assembly 
--===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file was developed by the LLVM research group and is distributed under
+// the University of Illinois Open Source License. See LICENSE.TXT for details.
+//
+//===--===//
+//
+// AT&T assembly code printer class.
+//
+//===--===//
+
+#ifndef X86ATTASMPRINTER_H
+#define X86ATTASMPRINTER_H
+
+#include "X86AsmPrinter.h"
+#include "llvm/CodeGen/ValueTypes.h"
+
+namespace llvm {
+namespace x86 {
+
+struct X86ATTAsmPrinter : public X86SharedAsmPrinter {
+  X86ATTAsmPrinter(std::ostream &O, TargetMachine &TM)
+: X86SharedAsmPrinter(O, TM) { }
+
+  virtual const char *getPassName() const {
+return "X86 AT&T-Style Assembly Printer";
+  }
+
+  /// printInstruction - This method is automatically generated by tablegen
+  /// from the instruction set description.  This method returns true if the
+  /// machine instruction was sufficiently described to print it, otherwise it
+  /// returns false.
+  bool printInstruction(const MachineInstr *MI);
+
+  // This method is used by the tablegen'erated instruction printer.
+  void printOperand(const MachineInstr *MI, unsigned OpNo){
+printOp(MI->getOperand(OpNo));
+  }
+  void printCallOperand(const MachineInstr *MI, unsigned OpNo) {
+printOp(MI->getOperand(OpNo), true); // Don't print '$' prefix.
+  }
+  void printi8mem(const MachineInstr *MI, unsigned OpNo) {
+printMemReference(MI

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

2005-12-16 Thread Evan Cheng


Changes in directory llvm/utils/TableGen:

CodeGenTarget.cpp updated: 1.49 -> 1.50
DAGISelEmitter.cpp updated: 1.99 -> 1.100
DAGISelEmitter.h updated: 1.45 -> 1.46
---
Log message:

Support for read / write from explicit registers with FlagVT type.


---
Diffs of the changes:  (+112 -42)

 CodeGenTarget.cpp  |2 
 DAGISelEmitter.cpp |  129 -
 DAGISelEmitter.h   |   23 -
 3 files changed, 112 insertions(+), 42 deletions(-)


Index: llvm/utils/TableGen/CodeGenTarget.cpp
diff -u llvm/utils/TableGen/CodeGenTarget.cpp:1.49 
llvm/utils/TableGen/CodeGenTarget.cpp:1.50
--- llvm/utils/TableGen/CodeGenTarget.cpp:1.49  Wed Dec  7 20:14:08 2005
+++ llvm/utils/TableGen/CodeGenTarget.cpp   Fri Dec 16 19:19:28 2005
@@ -45,6 +45,7 @@
   case MVT::f64:   return "f64";
   case MVT::f80:   return "f80";
   case MVT::f128:  return "f128";
+  case MVT::Flag:  return "Flag";
   case MVT::isVoid:return "void";
   case MVT::v16i8: return "v16i8";
   case MVT::v8i16: return "v8i16";
@@ -69,6 +70,7 @@
   case MVT::f64:   return "f64";
   case MVT::f80:   return "f80";
   case MVT::f128:  return "f128";
+  case MVT::Flag:  return "Flag";
   case MVT::isVoid:return "isVoid";
   case MVT::v16i8: return "v16i8";
   case MVT::v8i16: return "v8i16";


Index: llvm/utils/TableGen/DAGISelEmitter.cpp
diff -u llvm/utils/TableGen/DAGISelEmitter.cpp:1.99 
llvm/utils/TableGen/DAGISelEmitter.cpp:1.100
--- llvm/utils/TableGen/DAGISelEmitter.cpp:1.99 Wed Dec 14 16:02:59 2005
+++ llvm/utils/TableGen/DAGISelEmitter.cpp  Fri Dec 16 19:19:28 2005
@@ -296,6 +296,7 @@
 
   if (isLeaf()) {
 dump();
+std::cerr << " ";
 TP.error("Type inference contradiction found in node!");
   } else {
 TP.error("Type inference contradiction found in node " + 
@@ -951,14 +952,17 @@
 /// HandleUse - Given "Pat" a leaf in the pattern, check to see if it is an
 /// instruction input.  Return true if this is a real use.
 static bool HandleUse(TreePattern *I, TreePatternNode *Pat,
-  std::map &InstInputs) {
+  std::map &InstInputs,
+  std::vector &InstImpInputs) {
   // No name -> not interesting.
   if (Pat->getName().empty()) {
 if (Pat->isLeaf()) {
   DefInit *DI = dynamic_cast(Pat->getLeafValue());
   if (DI && DI->getDef()->isSubClassOf("RegisterClass"))
 I->error("Input " + DI->getDef()->getName() + " must be named!");
-
+  else if (DI && DI->getDef()->isSubClassOf("Register")) {
+InstImpInputs.push_back(DI->getDef());
+  }
 }
 return false;
   }
@@ -1004,9 +1008,11 @@
 void DAGISelEmitter::
 FindPatternInputsAndOutputs(TreePattern *I, TreePatternNode *Pat,
 std::map 
&InstInputs,
-std::map &InstResults) {
+std::map &InstResults,
+std::vector &InstImpInputs,
+std::vector &InstImpResults) {
   if (Pat->isLeaf()) {
-bool isUse = HandleUse(I, Pat, InstInputs);
+bool isUse = HandleUse(I, Pat, InstInputs, InstImpInputs);
 if (!isUse && Pat->getTransformFn())
   I->error("Cannot specify a transform function for a non-input value!");
 return;
@@ -1016,14 +1022,15 @@
 for (unsigned i = 0, e = Pat->getNumChildren(); i != e; ++i) {
   if (Pat->getChild(i)->getExtType() == MVT::isVoid)
 I->error("Cannot have void nodes inside of patterns!");
-  FindPatternInputsAndOutputs(I, Pat->getChild(i), InstInputs, 
InstResults);
+  FindPatternInputsAndOutputs(I, Pat->getChild(i), InstInputs, InstResults,
+  InstImpInputs, InstImpResults);
 }
 
 // If this is a non-leaf node with no children, treat it basically as if
 // it were a leaf.  This handles nodes like (imm).
 bool isUse = false;
 if (Pat->getNumChildren() == 0)
-  isUse = HandleUse(I, Pat, InstInputs);
+  isUse = HandleUse(I, Pat, InstInputs, InstImpInputs);
 
 if (!isUse && Pat->getTransformFn())
   I->error("Cannot specify a transform function for a non-input value!");
@@ -1049,19 +1056,22 @@
 DefInit *Val = dynamic_cast(Dest->getLeafValue());
 if (!Val)
   I->error("set destination should be a register!");
-
-if (!Val->getDef()->isSubClassOf("RegisterClass") &&
-!Val->getDef()->isSubClassOf("Register"))
-  I->error("set destination should be a register!");
-if (Dest->getName().empty())
-  I->error("set destination must have a name!");
-if (InstResults.count(Dest->getName()))
-  I->error("cannot set '" + Dest->getName() +"' multiple times");
-InstResults[Dest->getName()] = Val->getDef();
 
+if (Val->getDef()->isSubClassOf("RegisterClass")) {
+  if (Dest->getName().empty())
+I->error("set destination must have a name!");
+  if (InstResults.count(Dest->getName()))
+I->error("cannot set '" + Dest->getName() +"'

[llvm-commits] CVS: llvm/lib/Target/X86/X86TargetMachine.cpp X86.h

2005-12-16 Thread Evan Cheng


Changes in directory llvm/lib/Target/X86:

X86TargetMachine.cpp updated: 1.90 -> 1.91
X86.h updated: 1.38 -> 1.39
---
Log message:

Only lower SELECT when using DAG based isel.


---
Diffs of the changes:  (+8 -4)

 X86.h|1 +
 X86TargetMachine.cpp |   11 +++
 2 files changed, 8 insertions(+), 4 deletions(-)


Index: llvm/lib/Target/X86/X86TargetMachine.cpp
diff -u llvm/lib/Target/X86/X86TargetMachine.cpp:1.90 
llvm/lib/Target/X86/X86TargetMachine.cpp:1.91
--- llvm/lib/Target/X86/X86TargetMachine.cpp:1.90   Mon Dec 12 14:12:20 2005
+++ llvm/lib/Target/X86/X86TargetMachine.cppFri Dec 16 19:22:13 2005
@@ -27,6 +27,7 @@
 
 X86VectorEnum llvm::X86Vector = NoSSE;
 bool llvm::X86ScalarSSE = false;
+bool llvm::X86DAGIsel = false;
 
 /// X86TargetMachineModule - Note that this is used on hosts that cannot link
 /// in a library unless there are references into the library.  In particular,
@@ -44,8 +45,10 @@
 cl::location(X86ScalarSSE),
 cl::init(false));
 
-  cl::opt EnableX86DAGDAG("enable-x86-dag-isel", cl::Hidden,
-  cl::desc("Enable DAG-to-DAG isel for X86"));
+  cl::opt EnableX86DAGDAG("enable-x86-dag-isel", cl::Hidden,
+  cl::desc("Enable DAG-to-DAG isel for X86"),
+  cl::location(X86DAGIsel),
+  cl::init(false));
   
   // FIXME: This should eventually be handled with target triples and
   // subtarget support!
@@ -124,7 +127,7 @@
   PM.add(createUnreachableBlockEliminationPass());
 
   // Install an instruction selector.
-  if (EnableX86DAGDAG)
+  if (X86DAGIsel)
 PM.add(createX86ISelDag(*this));
   else
 PM.add(createX86ISelPattern(*this));
@@ -191,7 +194,7 @@
   PM.add(createUnreachableBlockEliminationPass());
 
   // Install an instruction selector.
-  if (EnableX86DAGDAG)
+  if (X86DAGIsel)
 PM.add(createX86ISelDag(TM));
   else
 PM.add(createX86ISelPattern(TM));


Index: llvm/lib/Target/X86/X86.h
diff -u llvm/lib/Target/X86/X86.h:1.38 llvm/lib/Target/X86/X86.h:1.39
--- llvm/lib/Target/X86/X86.h:1.38  Mon Dec 12 14:12:20 2005
+++ llvm/lib/Target/X86/X86.h   Fri Dec 16 19:22:13 2005
@@ -31,6 +31,7 @@
 
 extern X86VectorEnum X86Vector;
 extern bool X86ScalarSSE;
+extern bool X86DAGIsel;
 
 /// createX86ISelPattern - This pass converts an LLVM function into a 
 /// machine code representation using pattern matching and a machine



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/lib/Target/X86/X86ISelLowering.cpp X86ISelLowering.h

2005-12-16 Thread Evan Cheng


Changes in directory llvm/lib/Target/X86:

X86ISelLowering.cpp updated: 1.7 -> 1.8
X86ISelLowering.h updated: 1.2 -> 1.3
---
Log message:

X86 lowers SELECT to a cmp / test followed by a conditional move.


---
Diffs of the changes:  (+29 -1)

 X86ISelLowering.cpp |   22 ++
 X86ISelLowering.h   |8 +++-
 2 files changed, 29 insertions(+), 1 deletion(-)


Index: llvm/lib/Target/X86/X86ISelLowering.cpp
diff -u llvm/lib/Target/X86/X86ISelLowering.cpp:1.7 
llvm/lib/Target/X86/X86ISelLowering.cpp:1.8
--- llvm/lib/Target/X86/X86ISelLowering.cpp:1.7 Thu Dec 15 13:49:23 2005
+++ llvm/lib/Target/X86/X86ISelLowering.cpp Fri Dec 16 19:21:05 2005
@@ -113,6 +113,11 @@
   // These should be promoted to a larger select which is supported.
   setOperationAction(ISD::SELECT   , MVT::i1   , Promote);
   setOperationAction(ISD::SELECT   , MVT::i8   , Promote);
+  // X86 wants to expand cmov itself.
+  if (X86DAGIsel) {
+setOperationAction(ISD::SELECT , MVT::i16  , Custom);
+setOperationAction(ISD::SELECT , MVT::i32  , Custom);
+  }
 
   // We don't have line number support yet.
   setOperationAction(ISD::LOCATION, MVT::Other, Expand);
@@ -930,5 +935,22 @@
 Tys.push_back(MVT::Other);
 return DAG.getNode(ISD::MERGE_VALUES, Tys, Ops);
   }
+  case ISD::SELECT: {
+unsigned Opc;
+SDOperand Cond  = Op.getOperand(0);
+SDOperand True  = Op.getOperand(1);
+SDOperand False = Op.getOperand(2);
+SDOperand CC;
+if (Cond.getOpcode() == ISD::SETCC) {
+  CC = Cond.getOperand(2);
+  Cond = DAG.getNode(X86ISD::CMP, MVT::Flag,
+ Cond.getOperand(0), Cond.getOperand(1));
+} else {
+  CC = DAG.getCondCode(ISD::SETEQ);
+  Cond = DAG.getNode(X86ISD::TEST, MVT::Flag, Cond, Cond);
+}
+return DAG.getNode(X86ISD::CMOV, Op.getValueType(),
+   Op.getOperand(1), Op.getOperand(2), CC, Cond);
+  }
   }
 }


Index: llvm/lib/Target/X86/X86ISelLowering.h
diff -u llvm/lib/Target/X86/X86ISelLowering.h:1.2 
llvm/lib/Target/X86/X86ISelLowering.h:1.3
--- llvm/lib/Target/X86/X86ISelLowering.h:1.2   Sun Nov 20 15:41:10 2005
+++ llvm/lib/Target/X86/X86ISelLowering.h   Fri Dec 16 19:21:05 2005
@@ -23,7 +23,7 @@
   namespace X86ISD {
 enum NodeType {
   // Start the numbering where the builtin ops leave off.
-  FIRST_NUMBER = ISD::BUILTIN_OP_END,
+  FIRST_NUMBER = ISD::BUILTIN_OP_END+X86::INSTRUCTION_LIST_END,
 
   /// FILD64m - This instruction implements SINT_TO_FP with a
   /// 64-bit source in memory and a FP reg result.  This corresponds to
@@ -66,6 +66,12 @@
   /// RDTSC_DAG - This operation implements the lowering for 
   /// readcyclecounter
   RDTSC_DAG,
+
+  /// X86 compare and logical compare instructions.
+  CMP, TEST,
+
+  /// X86 conditional moves.
+  CMOV,
 };
   }
 



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/lib/Target/X86/README.txt

2005-12-16 Thread Evan Cheng


Changes in directory llvm/lib/Target/X86:

README.txt updated: 1.18 -> 1.19
---
Log message:

Added some isel ideas.


---
Diffs of the changes:  (+14 -0)

 README.txt |   14 ++
 1 files changed, 14 insertions(+)


Index: llvm/lib/Target/X86/README.txt
diff -u llvm/lib/Target/X86/README.txt:1.18 llvm/lib/Target/X86/README.txt:1.19
--- llvm/lib/Target/X86/README.txt:1.18 Thu Dec  1 18:11:20 2005
+++ llvm/lib/Target/X86/README.txt  Fri Dec 16 19:25:19 2005
@@ -88,3 +88,17 @@
 movzbl  %dil, %eax
 xorl$1, %eax
 ret
+
+//===-===//
+
+Some isel ideas:
+
+1. Dynamic programming based approach when compile time if not an
+   issue.
+2. Code duplication (addressing mode) during isel.
+3. Other ideas from "Register-Sensitive Selection, Duplication, and
+   Sequencing of Instructions".
+
+//===-===//
+
+Should we promote i16 to i32 to avoid partial register update stalls?



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp

2005-12-16 Thread Evan Cheng


Changes in directory llvm/lib/CodeGen/SelectionDAG:

LegalizeDAG.cpp updated: 1.229 -> 1.230
---
Log message:

X86 lowers SELECT to a cmp / test followed by a conditional move.


---
Diffs of the changes:  (+10 -0)

 LegalizeDAG.cpp |   10 ++
 1 files changed, 10 insertions(+)


Index: llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
diff -u llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.229 
llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.230
--- llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.229 Fri Dec 16 16:45:28 2005
+++ llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp   Fri Dec 16 19:21:05 2005
@@ -1325,6 +1325,16 @@
  Tmp2, Tmp3, ISD::SETNE);
   }
   break;
+case TargetLowering::Custom: {
+  SDOperand Tmp =
+TLI.LowerOperation(DAG.getNode(ISD::SELECT, Node->getValueType(0),
+   Tmp1, Tmp2, Tmp3), DAG);
+  if (Tmp.Val) {
+Result = LegalizeOp(Tmp);
+break;
+  }
+  // FALLTHROUGH if the target thinks it is legal.
+}
 case TargetLowering::Legal:
   if (Tmp1 != Node->getOperand(0) || Tmp2 != Node->getOperand(1) ||
   Tmp3 != Node->getOperand(2))



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/lib/Target/X86/X86RegisterInfo.td X86InstrInfo.td X86ISelDAGToDAG.cpp

2005-12-16 Thread Evan Cheng


Changes in directory llvm/lib/Target/X86:

X86RegisterInfo.td updated: 1.23 -> 1.24
X86InstrInfo.td updated: 1.169 -> 1.170
X86ISelDAGToDAG.cpp updated: 1.12 -> 1.13
---
Log message:

Added support for cmp, test, and conditional move instructions.


---
Diffs of the changes:  (+327 -111)

 X86ISelDAGToDAG.cpp |3 
 X86InstrInfo.td |  430 ++--
 X86RegisterInfo.td  |5 
 3 files changed, 327 insertions(+), 111 deletions(-)


Index: llvm/lib/Target/X86/X86RegisterInfo.td
diff -u llvm/lib/Target/X86/X86RegisterInfo.td:1.23 
llvm/lib/Target/X86/X86RegisterInfo.td:1.24
--- llvm/lib/Target/X86/X86RegisterInfo.td:1.23 Wed Nov 30 22:51:06 2005
+++ llvm/lib/Target/X86/X86RegisterInfo.td  Fri Dec 16 19:24:02 2005
@@ -60,6 +60,7 @@
   def ST6 : Register<"ST(6)">; def ST7 : Register<"ST(7)">; 
   
   // Flags, Segment registers, etc...
+  def STATUS : Register<"STATUS">;
 }
 
 
//===--===//
@@ -135,3 +136,7 @@
 }
   }];
 }
+
+def FLAGS_REGS : RegisterClass<"X86", [FlagVT], 32, [STATUS]> {
+let Size = 32;
+}


Index: llvm/lib/Target/X86/X86InstrInfo.td
diff -u llvm/lib/Target/X86/X86InstrInfo.td:1.169 
llvm/lib/Target/X86/X86InstrInfo.td:1.170
--- llvm/lib/Target/X86/X86InstrInfo.td:1.169   Thu Dec 15 13:49:23 2005
+++ llvm/lib/Target/X86/X86InstrInfo.td Fri Dec 16 19:24:02 2005
@@ -13,6 +13,26 @@
 //
 
//===--===//
 
+//===--===//
+// X86 specific DAG Nodes.
+//
+
+def SDTX86CmpTest : SDTypeProfile<1, 2, [SDTCisVT<0, FlagVT>, SDTCisInt<1>,
+ SDTCisSameAs<1, 2>]>;
+
+def SDTX86Cmov: SDTypeProfile<1, 4,
+  [SDTCisSameAs<0, 1>, SDTCisSameAs<1, 2>,
+   SDTCisVT<3, OtherVT>, SDTCisVT<4, FlagVT>]>;
+
+def X86cmp  : SDNode<"X86ISD::CMP" , SDTX86CmpTest, []>;
+def X86test : SDNode<"X86ISD::TEST", SDTX86CmpTest, []>;
+
+def X86cmov : SDNode<"X86ISD::CMOV", SDTX86Cmov,[]>;
+
+//===--===//
+// X86 Operand Definitions.
+//
+
 // *mem - Operand definitions for the funky X86 addressing mode operands.
 //
 class X86MemOperand : Operand {
@@ -46,12 +66,20 @@
 // Branch targets have OtherVT type.
 def brtarget : Operand;
 
+//===--===//
+// X86 Complex Pattern Definitions.
+//
+
 // Define X86 specific addressing mode.
 def addr: ComplexPattern;
 def leaaddr : ComplexPattern;
 
+//===--===//
+// X86 Instruction Format Definitions.
+//
+
 // Format specifies the encoding used by the instruction.  This is part of the
 // ad-hoc solution used to emit machine instruction encodings by our machine
 // code emitter.
@@ -70,6 +98,10 @@
 def MRM3m  : Format<27>; def MRM4m  : Format<28>; def MRM5m  : Format<29>;
 def MRM6m  : Format<30>; def MRM7m  : Format<31>;
 
+//===--===//
+// X86 specific pattern fragments.
+//
+
 // ImmType - This specifies the immediate type used by an instruction. This is
 // part of the ad-hoc solution used to emit machine instruction encodings by 
our
 // machine code emitter.
@@ -513,81 +545,253 @@
 // Conditional moves
 def CMOVB16rr : I<0x42, MRMSrcReg,   // if , TB, OpSize;
+  "cmovb {$src2, $dst|$dst, $src2}",
+  [(set R16:$dst, (X86cmov R16:$src1, R16:$src2,
+   SETULT, STATUS))]>,
+  Imp<[STATUS],[]>, TB, OpSize;
 def CMOVB16rm : I<0x42, MRMSrcMem,   // if , TB, OpSize;
+  "cmovb {$src2, $dst|$dst, $src2}",
+  [(set R16:$dst, (X86cmov R16:$src1, (loadi16 addr:$src2),
+   SETULT, STATUS))]>,
+  Imp<[STATUS],[]>, TB, OpSize;
 def CMOVB32rr : I<0x42, MRMSrcReg,   // if , TB;
+  "cmovb {$src2, $dst|$dst, $src2}",
+  [(set R32:$dst, (X86cmov R32:$src1, R32:$src2,
+   SETULT, STATUS))]>,
+  Imp<[STATUS],[]>,  TB;
 def CMOVB32rm : I<0x42, MRMSrcMem,   // if , TB;
+  "cmovb {$src2, $dst|$dst, $src2}",
+  [(set R32:$dst, (X86cmov R32:$src1, (loadi32 addr:$src2),
+   SETULT, STATUS))]>,
+  Imp<[STATUS],[]>,  TB;
 
 def CMOVAE16rr: I<0x43, MRMSrcReg,   // if >=u, R16 = R16
   (ops R16:$dst, R16:$src1, R16:$src2),
-  "cmovae {$src2, $dst|$dst, $src2}", []>, TB, OpSize;
+  "cmovae {$src2, $dst|$dst, $src2}",
+  [(set R16:$dst, (X86cmov R16:$src1, R16:$src2,
+  

[llvm-commits] CVS: llvm/include/llvm/CodeGen/SelectionDAG.h

2005-12-16 Thread Evan Cheng


Changes in directory llvm/include/llvm/CodeGen:

SelectionDAG.h updated: 1.78 -> 1.79
---
Log message:

Yet another variant of getTargetNode().


---
Diffs of the changes:  (+17 -0)

 SelectionDAG.h |   17 +
 1 files changed, 17 insertions(+)


Index: llvm/include/llvm/CodeGen/SelectionDAG.h
diff -u llvm/include/llvm/CodeGen/SelectionDAG.h:1.78 
llvm/include/llvm/CodeGen/SelectionDAG.h:1.79
--- llvm/include/llvm/CodeGen/SelectionDAG.h:1.78   Fri Dec  9 18:37:58 2005
+++ llvm/include/llvm/CodeGen/SelectionDAG.hFri Dec 16 19:44:51 2005
@@ -418,6 +418,23 @@
 Ops.push_back(Op6);
 return getNode(ISD::BUILTIN_OP_END+Opcode, ResultTys, Ops);
   }
+  SDOperand getTargetNode(unsigned Opcode, MVT::ValueType VT1,
+  MVT::ValueType VT2, SDOperand Op1, SDOperand Op2,
+  SDOperand Op3, SDOperand Op4, SDOperand Op5,
+  SDOperand Op6, SDOperand Op7) {
+std::vector ResultTys;
+ResultTys.push_back(VT1);
+ResultTys.push_back(VT2);
+std::vector Ops;
+Ops.push_back(Op1);
+Ops.push_back(Op2);
+Ops.push_back(Op3);
+Ops.push_back(Op4);
+Ops.push_back(Op5);
+Ops.push_back(Op6); 
+Ops.push_back(Op7);
+   return getNode(ISD::BUILTIN_OP_END+Opcode, ResultTys, Ops);
+  }
   SDOperand getTargetNode(unsigned Opcode, MVT::ValueType VT1, 
   MVT::ValueType VT2, std::vector &Ops) {
 std::vector ResultTys;



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/lib/Target/X86/X86InstrInfo.td

2005-12-16 Thread Evan Cheng


Changes in directory llvm/lib/Target/X86:

X86InstrInfo.td updated: 1.170 -> 1.171
---
Log message:

Added anyext, modelled as zext on X86.


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

 X86InstrInfo.td |5 +
 1 files changed, 5 insertions(+)


Index: llvm/lib/Target/X86/X86InstrInfo.td
diff -u llvm/lib/Target/X86/X86InstrInfo.td:1.170 
llvm/lib/Target/X86/X86InstrInfo.td:1.171
--- llvm/lib/Target/X86/X86InstrInfo.td:1.170   Fri Dec 16 19:24:02 2005
+++ llvm/lib/Target/X86/X86InstrInfo.td Fri Dec 16 19:47:57 2005
@@ -1932,6 +1932,11 @@
 // Handling 1 bit extload
 def : Pat<(extloadi8i1 addr:$src), (MOV8rm  addr:$src)>;
 
+// Modeling anyext as zext
+def : Pat<(i16 (anyext R8 :$src)), (MOVZX16rr8  R8 :$src)>;
+def : Pat<(i32 (anyext R8 :$src)), (MOVZX32rr8  R8 :$src)>;
+def : Pat<(i32 (anyext R16:$src)), (MOVZX32rr16 R16:$src)>;
+
 
//===--===//
 // XMM Floating point support (requires SSE2)
 
//===--===//



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/lib/Target/X86/X86ISelDAGToDAG.cpp

2005-12-16 Thread Evan Cheng


Changes in directory llvm/lib/Target/X86:

X86ISelDAGToDAG.cpp updated: 1.13 -> 1.14
---
Log message:

Added truncate.


---
Diffs of the changes:  (+28 -0)

 X86ISelDAGToDAG.cpp |   28 
 1 files changed, 28 insertions(+)


Index: llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
diff -u llvm/lib/Target/X86/X86ISelDAGToDAG.cpp:1.13 
llvm/lib/Target/X86/X86ISelDAGToDAG.cpp:1.14
--- llvm/lib/Target/X86/X86ISelDAGToDAG.cpp:1.13Fri Dec 16 19:24:02 2005
+++ llvm/lib/Target/X86/X86ISelDAGToDAG.cpp Fri Dec 16 20:02:50 2005
@@ -391,6 +391,34 @@
   }
   break;
 
+case ISD::TRUNCATE: {
+  unsigned Reg;
+  MVT::ValueType VT;
+  switch (Node->getOperand(0).getValueType()) {
+default: assert(0 && "Unknown truncate!");
+case MVT::i16: Reg = X86::AX;  Opc = X86::MOV16rr; VT = MVT::i16; 
break;
+case MVT::i32: Reg = X86::EAX; Opc = X86::MOV32rr; VT = MVT::i32; 
break;
+  }
+  SDOperand Tmp0 = Select(Node->getOperand(0));
+  SDOperand Tmp1 = CurDAG->getTargetNode(Opc, VT, Tmp0);
+  SDOperand InFlag = SDOperand(0,0);
+  SDOperand Result = CurDAG->getCopyToReg(CurDAG->getEntryNode(),
+  Reg, Tmp1, InFlag).getValue(1);
+  SDOperand Chain = Result.getValue(0);
+  InFlag = Result.getValue(1);
+
+  switch (NVT) {
+default: assert(0 && "Unknown truncate!");
+case MVT::i8:  Reg = X86::AL;  Opc = X86::MOV8rr;  VT = MVT::i8;  
break;
+case MVT::i16: Reg = X86::AX;  Opc = X86::MOV16rr; VT = MVT::i16; 
break;
+  }
+
+  Result = CurDAG->getCopyFromReg(Chain,
+  Reg, VT, InFlag);
+  return CodeGenMap[N] = CurDAG->getTargetNode(Opc, VT, Result);
+  break;
+}
+
 case ISD::RET: {
   SDOperand Chain = Node->getOperand(0); // Token chain.
   unsigned NumOps = Node->getNumOperands();



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm-www/developers.txt

2005-12-16 Thread Evan Cheng


Changes in directory llvm-www:

developers.txt updated: 1.1 -> 1.2
---
Log message:

Added me!


---
Diffs of the changes:  (+1 -0)

 developers.txt |1 +
 1 files changed, 1 insertion(+)


Index: llvm-www/developers.txt
diff -u llvm-www/developers.txt:1.1 llvm-www/developers.txt:1.2
--- llvm-www/developers.txt:1.1 Mon Oct 24 20:03:36 2005
+++ llvm-www/developers.txt Sat Dec 17 00:13:35 2005
@@ -3,6 +3,7 @@
 Nate   Begeman href=http://sampo.lasthome.net/ img=PhotoNate.jpg   
width=160   height=130  alt=Sampo
 RobBocchinoimg=PhotoRob.jpgwidth=140   height=187  
alt=Rob
 Misha  Brukman href=http://misha.brukman.net/code/llvm/
img=PhotoMisha.png  width=175   height=198  alt=Misha
+Evan   Cheng   href=mailto:[EMAIL PROTECTED]   img=PhotoEvan.jpg   
width=128   height=128  alt=Grawp
 Jeff   Cohen   href=http://jolt-lang.org/  img=PhotoJeffCohen.jpg  
width=165   height=134  alt=jeffc
 John   Criswellhref=http://www.bigw.org/~jcriswel/ 
img=PhotoJohn.gif   width=76height=76   alt=Dogbert
 Alkis  Evlogimenos href=http://alkis.evlogimenos.com   
img=PhotoAlkis.jpg  width=200   height=170  alt=alkis



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm-www/img/PhotoEvan.jpg

2005-12-16 Thread Evan Cheng


Changes in directory llvm-www/img:

PhotoEvan.jpg added (r1.1)
---
Log message:

Added me!


---
Diffs of the changes:  (+0 -0)

 PhotoEvan.jpg |0 
 1 files changed


Index: llvm-www/img/PhotoEvan.jpg



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm-www/img/PhotoEvan.jpg

2005-12-16 Thread Evan Cheng


Changes in directory llvm-www/img:

PhotoEvan.jpg updated: 1.1 -> 1.2
---
Log message:

A scaled down photo!


---
Diffs of the changes:  (+0 -0)

 PhotoEvan.jpg |0 
 1 files changed


Index: llvm-www/img/PhotoEvan.jpg



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm-www/developers.txt

2005-12-16 Thread Evan Cheng


Changes in directory llvm-www:

developers.txt updated: 1.2 -> 1.3
---
Log message:

Correct dimension.


---
Diffs of the changes:  (+1 -1)

 developers.txt |2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)


Index: llvm-www/developers.txt
diff -u llvm-www/developers.txt:1.2 llvm-www/developers.txt:1.3
--- llvm-www/developers.txt:1.2 Sat Dec 17 00:13:35 2005
+++ llvm-www/developers.txt Sat Dec 17 00:26:01 2005
@@ -3,7 +3,7 @@
 Nate   Begeman href=http://sampo.lasthome.net/ img=PhotoNate.jpg   
width=160   height=130  alt=Sampo
 RobBocchinoimg=PhotoRob.jpgwidth=140   height=187  
alt=Rob
 Misha  Brukman href=http://misha.brukman.net/code/llvm/
img=PhotoMisha.png  width=175   height=198  alt=Misha
-Evan   Cheng   href=mailto:[EMAIL PROTECTED]   img=PhotoEvan.jpg   
width=128   height=128  alt=Grawp
+Evan   Cheng   href=mailto:[EMAIL PROTECTED]   img=PhotoEvan.jpg   
width=128   height=156  alt=Grawp
 Jeff   Cohen   href=http://jolt-lang.org/  img=PhotoJeffCohen.jpg  
width=165   height=134  alt=jeffc
 John   Criswellhref=http://www.bigw.org/~jcriswel/ 
img=PhotoJohn.gif   width=76height=76   alt=Dogbert
 Alkis  Evlogimenos href=http://alkis.evlogimenos.com   
img=PhotoAlkis.jpg  width=200   height=170  alt=alkis



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm-www/img/PhotoHenrik.jpg

2005-12-16 Thread Evan Cheng


Changes in directory llvm-www/img:

PhotoHenrik.jpg updated: 1.1 -> 1.2
---
Log message:

Shrink Henrik just a tad. Upon Chris' request.


---
Diffs of the changes:  (+0 -0)

 PhotoHenrik.jpg |0 
 1 files changed


Index: llvm-www/img/PhotoHenrik.jpg



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/lib/Target/SparcV8/SparcV8InstrFormats.td SparcV8InstrInfo.td

2005-12-16 Thread Chris Lattner


Changes in directory llvm/lib/Target/SparcV8:

SparcV8InstrFormats.td updated: 1.7 -> 1.8
SparcV8InstrInfo.td updated: 1.45 -> 1.46
---
Log message:

convert FP instructions to use an asmstring and operand list, allowing FP
programs to work on V8 again


---
Diffs of the changes:  (+72 -28)

 SparcV8InstrFormats.td |7 ++-
 SparcV8InstrInfo.td|   93 +++--
 2 files changed, 72 insertions(+), 28 deletions(-)


Index: llvm/lib/Target/SparcV8/SparcV8InstrFormats.td
diff -u llvm/lib/Target/SparcV8/SparcV8InstrFormats.td:1.7 
llvm/lib/Target/SparcV8/SparcV8InstrFormats.td:1.8
--- llvm/lib/Target/SparcV8/SparcV8InstrFormats.td:1.7  Fri Dec 16 01:18:48 2005
+++ llvm/lib/Target/SparcV8/SparcV8InstrFormats.td  Sat Dec 17 00:32:52 2005
@@ -89,12 +89,15 @@
 }
 
 // floating-point
-class F3_3 opVal, bits<6> op3val, bits<9> opfval, string name> : F3 {
+class F3_3 opVal, bits<6> op3val, bits<9> opfval, dag ops,
+   string asmstr> : F3 {
   bits<5> rs2;
 
+  dag OperandList = ops;
+  let AsmString   = asmstr;
+
   let op = opVal;
   let op3= op3val;
-  let Name   = name;
 
   let Inst{13-5} = opfval;   // fp opcode
   let Inst{4-0}  = rs2;


Index: llvm/lib/Target/SparcV8/SparcV8InstrInfo.td
diff -u llvm/lib/Target/SparcV8/SparcV8InstrInfo.td:1.45 
llvm/lib/Target/SparcV8/SparcV8InstrInfo.td:1.46
--- llvm/lib/Target/SparcV8/SparcV8InstrInfo.td:1.45Fri Dec 16 01:18:48 2005
+++ llvm/lib/Target/SparcV8/SparcV8InstrInfo.td Sat Dec 17 00:32:52 2005
@@ -452,44 +452,85 @@
 "wr $b, $c, $dst">;
 
 // Convert Integer to Floating-point Instructions, p. 141
-def FITOS : F3_3<2, 0b110100, 0b011000100, "fitos">;
-def FITOD : F3_3<2, 0b110100, 0b011001000, "fitod">;
+def FITOS : F3_3<2, 0b110100, 0b011000100,
+ (ops FPRegs:$dst, FPRegs:$src),
+ "fitos $src, $dst">;
+def FITOD : F3_3<2, 0b110100, 0b011001000, 
+ (ops DFPRegs:$dst, DFPRegs:$src),
+ "fitod $src, $dst">;
 
 // Convert Floating-point to Integer Instructions, p. 142
-def FSTOI : F3_3<2, 0b110100, 0b011010001, "fstoi">;
-def FDTOI : F3_3<2, 0b110100, 0b011010010, "fdtoi">;
+def FSTOI : F3_3<2, 0b110100, 0b011010001,
+ (ops FPRegs:$dst, FPRegs:$src),
+ "fstoi $src, $dst">;
+def FDTOI : F3_3<2, 0b110100, 0b011010010,
+ (ops DFPRegs:$dst, DFPRegs:$src),
+ "fdtoi $src, $dst">;
 
 // Convert between Floating-point Formats Instructions, p. 143
-def FSTOD : F3_3<2, 0b110100, 0b011001001, "fstod">;
-def FDTOS : F3_3<2, 0b110100, 0b011000110, "fdtos">;
+def FSTOD : F3_3<2, 0b110100, 0b011001001, 
+ (ops DFPRegs:$dst, FPRegs:$src),
+ "fstod $src, $dst">;
+def FDTOS : F3_3<2, 0b110100, 0b011000110,
+ (ops FPRegs:$dst, DFPRegs:$src),
+ "fdtos $src, $dst">;
 
 // Floating-point Move Instructions, p. 144
-def FMOVS : F3_3<2, 0b110100, 0b1, "fmovs">;
-def FNEGS : F3_3<2, 0b110100, 0b00101, "fnegs">;
-def FABSS : F3_3<2, 0b110100, 0b01001, "fabss">;
+def FMOVS : F3_3<2, 0b110100, 0b1,
+ (ops FPRegs:$dst, FPRegs:$src),
+ "fmovs $src, $dst">;
+def FNEGS : F3_3<2, 0b110100, 0b00101, 
+ (ops FPRegs:$dst, FPRegs:$src),
+ "fnegs $src, $dst">;
+def FABSS : F3_3<2, 0b110100, 0b01001, 
+ (ops FPRegs:$dst, FPRegs:$src),
+ "fabss $src, $dst">;
 
 // Floating-point Add and Subtract Instructions, p. 146
-def FADDS  : F3_3<2, 0b110100, 0b00101, "fadds">;
-def FADDD  : F3_3<2, 0b110100, 0b00110, "faddd">;
-def FSUBS  : F3_3<2, 0b110100, 0b001000101, "fsubs">;
-def FSUBD  : F3_3<2, 0b110100, 0b001000110, "fsubd">;
+def FADDS  : F3_3<2, 0b110100, 0b00101,
+  (ops FPRegs:$dst, FPRegs:$src1, FPRegs:$src2),
+  "fadds $src1, $src2, $dst">;
+def FADDD  : F3_3<2, 0b110100, 0b00110,
+  (ops DFPRegs:$dst, DFPRegs:$src1, DFPRegs:$src2),
+  "faddd $src1, $src2, $dst">;
+def FSUBS  : F3_3<2, 0b110100, 0b001000101,
+  (ops FPRegs:$dst, FPRegs:$src1, FPRegs:$src2),
+  "fsubs $src1, $src2, $dst">;
+def FSUBD  : F3_3<2, 0b110100, 0b001000110,
+  (ops DFPRegs:$dst, DFPRegs:$src1, DFPRegs:$src2),
+  "fsubd $src1, $src2, $dst">;
 
 // Floating-point Multiply and Divide Instructions, p. 147
-def FMULS  : F3_3<2, 0b110100, 0b001001001, "fmuls">;
-def FMULD  : F3_3<2, 0b110100, 0b001001010, "fmuld">;
-def FSMULD : F3_3<2, 0b110100, 0b001101001, "fsmuld">;
-def FDIVS  : F3_3<2, 0b110100, 0b001001101, "fdivs">;
-def FDIVD  : F3_3<2, 0b110100, 0b001001110, "fdivd">;
+def FMULS  : F3_3<2, 0b110100, 0b001001001,
+  (ops FPRegs:$dst, FPRegs:$src1, FPRegs:$src2),
+  "fmuls $src1, $src2, $dst">;
+def FMULD  : F3_3<2, 0b110100, 0b001001010,
+   

[llvm-commits] CVS: llvm-www/developers.txt

2005-12-16 Thread Evan Cheng


Changes in directory llvm-www:

developers.txt updated: 1.3 -> 1.4
---
Log message:

Update Hendrik's dimension.


---
Diffs of the changes:  (+1 -1)

 developers.txt |2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)


Index: llvm-www/developers.txt
diff -u llvm-www/developers.txt:1.3 llvm-www/developers.txt:1.4
--- llvm-www/developers.txt:1.3 Sat Dec 17 00:26:01 2005
+++ llvm-www/developers.txt Sat Dec 17 00:34:09 2005
@@ -1,5 +1,5 @@
 Vikram Advehref=http://www-sal.cs.uiuc.edu/~vadve/ img=PhotoVikram.jpg 
width=120   height=120  alt=vadve
-Henrik Bachhref=mailto:[EMAIL PROTECTED]   img=PhotoHenrik.jpg 
width=172   height=219  alt=Henrik
+Henrik Bachhref=mailto:[EMAIL PROTECTED]   img=PhotoHenrik.jpg 
width=156   height=178  alt=Henrik
 Nate   Begeman href=http://sampo.lasthome.net/ img=PhotoNate.jpg   
width=160   height=130  alt=Sampo
 RobBocchinoimg=PhotoRob.jpgwidth=140   height=187  
alt=Rob
 Misha  Brukman href=http://misha.brukman.net/code/llvm/
img=PhotoMisha.png  width=175   height=198  alt=Misha



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm-www/developers.cgi

2005-12-16 Thread Chris Lattner


Changes in directory llvm-www:

developers.cgi updated: 1.5 -> 1.6
---
Log message:

Make things work if we have more than 9 rows


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

 developers.cgi |3 ++-
 1 files changed, 2 insertions(+), 1 deletion(-)


Index: llvm-www/developers.cgi
diff -u llvm-www/developers.cgi:1.5 llvm-www/developers.cgi:1.6
--- llvm-www/developers.cgi:1.5 Wed Oct 26 14:10:54 2005
+++ llvm-www/developers.cgi Sat Dec 17 00:38:38 2005
@@ -38,7 +38,7 @@
   
 Name
 Picture
- 
+ 
 Name
 Picture
   
@@ -160,6 +160,7 @@
   print "\n";
   
   print "  \n" if $Column == 1;
+  print "     " if $Column == 0;
   $Column = $Column ^ 1;
 }
 



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm-www/img/PhotoEvan.jpg

2005-12-16 Thread Evan Cheng


Changes in directory llvm-www/img:

PhotoEvan.jpg updated: 1.2 -> 1.3
---
Log message:

Optimized for Web.


---
Diffs of the changes:  (+0 -0)

 PhotoEvan.jpg |0 
 1 files changed


Index: llvm-www/img/PhotoEvan.jpg



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm-www/developers.txt

2005-12-16 Thread Evan Cheng


Changes in directory llvm-www:

developers.txt updated: 1.4 -> 1.5
---
Log message:

Correct size.


---
Diffs of the changes:  (+1 -1)

 developers.txt |2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)


Index: llvm-www/developers.txt
diff -u llvm-www/developers.txt:1.4 llvm-www/developers.txt:1.5
--- llvm-www/developers.txt:1.4 Sat Dec 17 00:34:09 2005
+++ llvm-www/developers.txt Sat Dec 17 00:49:45 2005
@@ -3,7 +3,7 @@
 Nate   Begeman href=http://sampo.lasthome.net/ img=PhotoNate.jpg   
width=160   height=130  alt=Sampo
 RobBocchinoimg=PhotoRob.jpgwidth=140   height=187  
alt=Rob
 Misha  Brukman href=http://misha.brukman.net/code/llvm/
img=PhotoMisha.png  width=175   height=198  alt=Misha
-Evan   Cheng   href=mailto:[EMAIL PROTECTED]   img=PhotoEvan.jpg   
width=128   height=156  alt=Grawp
+Evan   Cheng   href=mailto:[EMAIL PROTECTED]   img=PhotoEvan.jpg   
width=152   height=198  alt=Grawp
 Jeff   Cohen   href=http://jolt-lang.org/  img=PhotoJeffCohen.jpg  
width=165   height=134  alt=jeffc
 John   Criswellhref=http://www.bigw.org/~jcriswel/ 
img=PhotoJohn.gif   width=76height=76   alt=Dogbert
 Alkis  Evlogimenos href=http://alkis.evlogimenos.com   
img=PhotoAlkis.jpg  width=200   height=170  alt=alkis



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/lib/Target/X86/README.txt

2005-12-16 Thread Evan Cheng


Changes in directory llvm/lib/Target/X86:

README.txt updated: 1.19 -> 1.20
---
Log message:

Added an idea about any_extend for performance tuning.


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

 README.txt |5 +
 1 files changed, 5 insertions(+)


Index: llvm/lib/Target/X86/README.txt
diff -u llvm/lib/Target/X86/README.txt:1.19 llvm/lib/Target/X86/README.txt:1.20
--- llvm/lib/Target/X86/README.txt:1.19 Fri Dec 16 19:25:19 2005
+++ llvm/lib/Target/X86/README.txt  Sat Dec 17 00:54:43 2005
@@ -102,3 +102,8 @@
 //===-===//
 
 Should we promote i16 to i32 to avoid partial register update stalls?
+
+//===-===//
+
+Leave any_extend as pseudo instruction and hint to register
+allocator. Delay codegen until post register allocation.



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/lib/Target/SparcV8/README.txt SparcV8AsmPrinter.cpp SparcV8InstrFormats.td SparcV8InstrInfo.td

2005-12-16 Thread Chris Lattner


Changes in directory llvm/lib/Target/SparcV8:

README.txt updated: 1.37 -> 1.38
SparcV8AsmPrinter.cpp updated: 1.40 -> 1.41
SparcV8InstrFormats.td updated: 1.8 -> 1.9
SparcV8InstrInfo.td updated: 1.46 -> 1.47
---
Log message:

Convert the remaining instructions over, branches and calls.  Fix a couple
minor bugs


---
Diffs of the changes:  (+50 -82)

 README.txt |9 ++---
 SparcV8AsmPrinter.cpp  |   40 +
 SparcV8InstrFormats.td |6 ++-
 SparcV8InstrInfo.td|   77 +
 4 files changed, 50 insertions(+), 82 deletions(-)


Index: llvm/lib/Target/SparcV8/README.txt
diff -u llvm/lib/Target/SparcV8/README.txt:1.37 
llvm/lib/Target/SparcV8/README.txt:1.38
--- llvm/lib/Target/SparcV8/README.txt:1.37 Fri Dec 16 01:20:53 2005
+++ llvm/lib/Target/SparcV8/README.txt  Sat Dec 17 00:54:41 2005
@@ -1,11 +1,10 @@
 
 Meta TODO list:
-1. Convert all instructions to use autogeneration for asm strings.
-2. Convert asmprinter to use lib/CodeGen/AsmPrinter for global init printing
+1. Convert asmprinter to use lib/CodeGen/AsmPrinter for global init printing
constant pool printing, etc.
-3. Create a new DAG -> DAG instruction selector, by adding patterns to the
+2. Create a new DAG -> DAG instruction selector, by adding patterns to the
instructions.
-4. profit!
+3. profit!
 
 
 SparcV8 backend skeleton
@@ -83,5 +82,5 @@
 
 * Generate fsqrtd for calls to sqrt()  (~ 4% speedup on Olden/tsp).
 
-$Date: 2005/12/16 07:20:53 $
+$Date: 2005/12/17 06:54:41 $
 


Index: llvm/lib/Target/SparcV8/SparcV8AsmPrinter.cpp
diff -u llvm/lib/Target/SparcV8/SparcV8AsmPrinter.cpp:1.40 
llvm/lib/Target/SparcV8/SparcV8AsmPrinter.cpp:1.41
--- llvm/lib/Target/SparcV8/SparcV8AsmPrinter.cpp:1.40  Fri Dec 16 01:16:02 2005
+++ llvm/lib/Target/SparcV8/SparcV8AsmPrinter.cpp   Sat Dec 17 00:54:41 2005
@@ -70,7 +70,6 @@
 void emitGlobalConstant(const Constant *CV);
 void printConstantPool(MachineConstantPool *MCP);
 void printOperand(const MachineInstr *MI, int opNum);
-void printMachineInstruction(const MachineInstr *MI);
 bool printInstruction(const MachineInstr *MI);  // autogenerated.
 bool runOnMachineFunction(MachineFunction &F);
 bool doInitialization(Module &M);
@@ -357,7 +356,8 @@
 for (MachineBasicBlock::const_iterator II = I->begin(), E = I->end();
  II != E; ++II) {
   // Print the assembly for the instruction.
-  printMachineInstruction(II);
+  O << "\t";
+  printInstruction(II);
 }
   }
 
@@ -421,42 +421,6 @@
   if (CloseParen) O << ")";
 }
 
-/// printMachineInstruction -- Print out a single SparcV8 LLVM instruction
-/// MI in GAS syntax to the current output stream.
-///
-void SparcV8AsmPrinter::printMachineInstruction(const MachineInstr *MI) {
-  O << "\t";
-  if (printInstruction(MI)) return;
-
-  unsigned Opcode = MI->getOpcode();
-  const TargetInstrInfo &TII = *TM.getInstrInfo();
-  const TargetInstrDescriptor &Desc = TII.get(Opcode);
-
-  O << Desc.Name << " ";
-
-  // print non-immediate, non-register-def operands
-  // then print immediate operands
-  // then print register-def operands.
-  std::vector print_order;
-  for (unsigned i = 0; i < MI->getNumOperands (); ++i)
-if (!(MI->getOperand (i).isImmediate ()
-  || (MI->getOperand (i).isRegister ()
-  && MI->getOperand (i).isDef (
-  print_order.push_back (i);
-  for (unsigned i = 0; i < MI->getNumOperands (); ++i)
-if (MI->getOperand (i).isImmediate ())
-  print_order.push_back (i);
-  for (unsigned i = 0; i < MI->getNumOperands (); ++i)
-if (MI->getOperand (i).isRegister () && MI->getOperand (i).isDef ())
-  print_order.push_back (i);
-  for (unsigned i = 0, e = print_order.size (); i != e; ++i) {
-printOperand (MI, print_order[i]);
-if (i != (print_order.size () - 1))
-  O << ", ";
-  }
-  O << "\n";
-}
-
 bool SparcV8AsmPrinter::doInitialization(Module &M) {
   Mang = new Mangler(M);
   return false; // success


Index: llvm/lib/Target/SparcV8/SparcV8InstrFormats.td
diff -u llvm/lib/Target/SparcV8/SparcV8InstrFormats.td:1.8 
llvm/lib/Target/SparcV8/SparcV8InstrFormats.td:1.9
--- llvm/lib/Target/SparcV8/SparcV8InstrFormats.td:1.8  Sat Dec 17 00:32:52 2005
+++ llvm/lib/Target/SparcV8/SparcV8InstrFormats.td  Sat Dec 17 00:54:41 2005
@@ -32,13 +32,15 @@
   let Inst{29-25} = rd;
 }
 
-class F2_2 condVal, bits<3> op2Val, string name> : F2 {
+class F2_2 condVal, bits<3> op2Val, dag ops, string asmstr> : F2 {
   bits<4>   cond;
   bit   annul = 0; // currently unused
 
+  dag OperandList = ops;
+  let AsmString   = asmstr;
+
   let cond= condVal;
   let op2 = op2Val;
-  let Name= name;
 
   let Inst{29}= annul;
   let Inst{28-25} = cond;


Index: llvm/lib/Target/SparcV8/SparcV8InstrInfo.td
diff -u llvm/lib/Target/SparcV8/SparcV8InstrInfo.td:1.46 
llvm/lib/Target/SparcV8/SparcV8InstrInfo.td:1.47
--- llvm/lib/Target/SparcV8/Spar

[llvm-commits] CVS: llvm/lib/Target/SparcV8/SparcV8AsmPrinter.cpp

2005-12-16 Thread Chris Lattner


Changes in directory llvm/lib/Target/SparcV8:

SparcV8AsmPrinter.cpp updated: 1.41 -> 1.42
---
Log message:

Use the shared AsmPrinter code for some basic stuff.  No functionality
change except for fewer .section directives emitted


---
Diffs of the changes:  (+14 -41)

 SparcV8AsmPrinter.cpp |   55 --
 1 files changed, 14 insertions(+), 41 deletions(-)


Index: llvm/lib/Target/SparcV8/SparcV8AsmPrinter.cpp
diff -u llvm/lib/Target/SparcV8/SparcV8AsmPrinter.cpp:1.41 
llvm/lib/Target/SparcV8/SparcV8AsmPrinter.cpp:1.42
--- llvm/lib/Target/SparcV8/SparcV8AsmPrinter.cpp:1.41  Sat Dec 17 00:54:41 2005
+++ llvm/lib/Target/SparcV8/SparcV8AsmPrinter.cpp   Sat Dec 17 01:04:29 2005
@@ -18,6 +18,7 @@
 #include "llvm/DerivedTypes.h"
 #include "llvm/Module.h"
 #include "llvm/Assembly/Writer.h"
+#include "llvm/CodeGen/AsmPrinter.h"
 #include "llvm/CodeGen/MachineFunctionPass.h"
 #include "llvm/CodeGen/MachineConstantPool.h"
 #include "llvm/CodeGen/MachineInstr.h"
@@ -33,21 +34,8 @@
 namespace {
   Statistic<> EmittedInsts("asm-printer", "Number of machine instrs printed");
 
-  struct SparcV8AsmPrinter : public MachineFunctionPass {
-/// Output stream on which we're printing assembly code.
-///
-std::ostream &O;
-
-/// Target machine description which we query for reg. names, data
-/// layout, etc.
-///
-TargetMachine &TM;
-
-/// Name-mangler for global names.
-///
-Mangler *Mang;
-
-SparcV8AsmPrinter(std::ostream &o, TargetMachine &tm) : O(o), TM(tm) { }
+  struct SparcV8AsmPrinter : public AsmPrinter {
+SparcV8AsmPrinter(std::ostream &O, TargetMachine &TM) : AsmPrinter(O, TM) 
{}
 
 /// We name each basic block in a Function with a unique number, so
 /// that we can consistently refer to them later. This is cleared
@@ -56,12 +44,6 @@
 typedef std::map ValueMapTy;
 ValueMapTy NumberForBB;
 
-/// Cache of mangled name for current function. This is
-/// recalculated at the beginning of each call to
-/// runOnMachineFunction().
-///
-std::string CurrentFnName;
-
 virtual const char *getPassName() const {
   return "SparcV8 Assembly Printer";
 }
@@ -306,8 +288,8 @@
 
   if (CP.empty()) return;
 
+  SwitchSection(".section \".rodata\"\n", 0);
   for (unsigned i = 0, e = CP.size(); i != e; ++i) {
-O << "\t.section \".rodata\"\n";
 O << "\t.align " << (unsigned)TD.getTypeAlignment(CP[i]->getType())
   << "\n";
 O << ".CPI" << CurrentFnName << "_" << i << ":\t\t\t\t\t!"
@@ -320,6 +302,8 @@
 /// method to print assembly for each instruction.
 ///
 bool SparcV8AsmPrinter::runOnMachineFunction(MachineFunction &MF) {
+  SetupMachineFunction(MF);
+
   // BBNumber is used here so that a given Printer will never give two
   // BBs the same name. (If you have a better way, please let me know!)
   static unsigned BBNumber = 0;
@@ -358,6 +342,7 @@
   // Print the assembly for the instruction.
   O << "\t";
   printInstruction(II);
+  ++EmittedInsts;
 }
   }
 
@@ -426,21 +411,8 @@
   return false; // success
 }
 
-// SwitchSection - Switch to the specified section of the executable if we are
-// not already in it!
-//
-static void SwitchSection(std::ostream &OS, std::string &CurSection,
-  const char *NewSection) {
-  if (CurSection != NewSection) {
-CurSection = NewSection;
-if (!CurSection.empty())
-  OS << "\t.section \"" << NewSection << "\"\n";
-  }
-}
-
 bool SparcV8AsmPrinter::doFinalization(Module &M) {
   const TargetData &TD = TM.getTargetData();
-  std::string CurSection;
 
   // Print out module-level global variables here.
   for (Module::const_global_iterator I = M.global_begin(), E = M.global_end(); 
I != E; ++I)
@@ -454,7 +426,7 @@
   if (C->isNullValue() &&
   (I->hasLinkOnceLinkage() || I->hasInternalLinkage() ||
I->hasWeakLinkage() /* FIXME: Verify correct */)) {
-SwitchSection(O, CurSection, ".data");
+SwitchSection(".data", I);
 if (I->hasInternalLinkage())
   O << "\t.local " << name << "\n";
 
@@ -469,8 +441,9 @@
 case GlobalValue::WeakLinkage:   // FIXME: Verify correct for weak.
   // Nonnull linkonce -> weak
   O << "\t.weak " << name << "\n";
-  SwitchSection(O, CurSection, "");
-  O << "\t.section\t\".llvm.linkonce.d." << name << 
"\",\"aw\",@progbits\n";
+  SwitchSection("", I);
+  O << "\t.section\t\".llvm.linkonce.d." << name
+<< "\",\"aw\",@progbits\n";
   break;
 
 case GlobalValue::AppendingLinkage:
@@ -482,9 +455,9 @@
   // FALL THROUGH
 case GlobalValue::InternalLinkage:
   if (C->isNullValue())
-SwitchSection(O, CurSection, ".bss");
+SwitchSection(".bss", I);
   else
-SwitchSection(O, CurSection, ".data");
+SwitchSection(".data", I);
   break;
 case Gl

[llvm-commits] CVS: llvm/lib/Target/SparcV8/SparcV8AsmPrinter.cpp

2005-12-16 Thread Chris Lattner


Changes in directory llvm/lib/Target/SparcV8:

SparcV8AsmPrinter.cpp updated: 1.42 -> 1.43
---
Log message:

Switch constant pool printing over to use the Shared AsmPrinter version



---
Diffs of the changes:  (+10 -27)

 SparcV8AsmPrinter.cpp |   37 ++---
 1 files changed, 10 insertions(+), 27 deletions(-)


Index: llvm/lib/Target/SparcV8/SparcV8AsmPrinter.cpp
diff -u llvm/lib/Target/SparcV8/SparcV8AsmPrinter.cpp:1.42 
llvm/lib/Target/SparcV8/SparcV8AsmPrinter.cpp:1.43
--- llvm/lib/Target/SparcV8/SparcV8AsmPrinter.cpp:1.42  Sat Dec 17 01:04:29 2005
+++ llvm/lib/Target/SparcV8/SparcV8AsmPrinter.cpp   Sat Dec 17 01:11:43 2005
@@ -35,7 +35,11 @@
   Statistic<> EmittedInsts("asm-printer", "Number of machine instrs printed");
 
   struct SparcV8AsmPrinter : public AsmPrinter {
-SparcV8AsmPrinter(std::ostream &O, TargetMachine &TM) : AsmPrinter(O, TM) 
{}
+SparcV8AsmPrinter(std::ostream &O, TargetMachine &TM) : AsmPrinter(O, TM) {
+  Data16bitsDirective = "\t.half\t";
+  Data32bitsDirective = "\t.word\t";
+  Data64bitsDirective = "\t.xword\t";
+}
 
 /// We name each basic block in a Function with a unique number, so
 /// that we can consistently refer to them later. This is cleared
@@ -50,7 +54,6 @@
 
 void emitConstantValueOnly(const Constant *CV);
 void emitGlobalConstant(const Constant *CV);
-void printConstantPool(MachineConstantPool *MCP);
 void printOperand(const MachineInstr *MI, int opNum);
 bool printInstruction(const MachineInstr *MI);  // autogenerated.
 bool runOnMachineFunction(MachineFunction &F);
@@ -277,33 +280,15 @@
   O << "\n";
 }
 
-/// printConstantPool - 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
-/// the code generator.
-///
-void SparcV8AsmPrinter::printConstantPool(MachineConstantPool *MCP) {
-  const std::vector &CP = MCP->getConstants();
-  const TargetData &TD = TM.getTargetData();
-
-  if (CP.empty()) return;
-
-  SwitchSection(".section \".rodata\"\n", 0);
-  for (unsigned i = 0, e = CP.size(); i != e; ++i) {
-O << "\t.align " << (unsigned)TD.getTypeAlignment(CP[i]->getType())
-  << "\n";
-O << ".CPI" << CurrentFnName << "_" << i << ":\t\t\t\t\t!"
-  << *CP[i] << "\n";
-emitGlobalConstant(CP[i]);
-  }
-}
-
 /// runOnMachineFunction - This uses the printMachineInstruction()
 /// method to print assembly for each instruction.
 ///
 bool SparcV8AsmPrinter::runOnMachineFunction(MachineFunction &MF) {
   SetupMachineFunction(MF);
 
+  // Print out constants referenced by the function
+  EmitConstantPool(MF.getConstantPool());
+
   // BBNumber is used here so that a given Printer will never give two
   // BBs the same name. (If you have a better way, please let me know!)
   static unsigned BBNumber = 0;
@@ -312,9 +297,6 @@
   // What's my mangled name?
   CurrentFnName = Mang->getValueName(MF.getFunction());
 
-  // Print out constants referenced by the function
-  printConstantPool(MF.getConstantPool());
-
   // Print out labels for the function.
   O << "\t.text\n";
   O << "\t.align 16\n";
@@ -398,7 +380,8 @@
 O << MO.getSymbolName();
 break;
   case MachineOperand::MO_ConstantPoolIndex:
-O << ".CPI" << CurrentFnName << "_" << MO.getConstantPoolIndex();
+O << PrivateGlobalPrefix << "CPI" << getFunctionNumber() << "_"
+  << MO.getConstantPoolIndex();
 break;
   default:
 O << ""; abort (); break;



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/lib/Target/SparcV8/SparcV8AsmPrinter.cpp

2005-12-16 Thread Chris Lattner


Changes in directory llvm/lib/Target/SparcV8:

SparcV8AsmPrinter.cpp updated: 1.43 -> 1.44
---
Log message:

Use the AsmPrinter for global variable init printing.  This eliminates a
bunch of code and causes V8 to start using the fancy .asciz directive that
the sun assembler supports.


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

 SparcV8AsmPrinter.cpp |  211 --
 1 files changed, 2 insertions(+), 209 deletions(-)


Index: llvm/lib/Target/SparcV8/SparcV8AsmPrinter.cpp
diff -u llvm/lib/Target/SparcV8/SparcV8AsmPrinter.cpp:1.43 
llvm/lib/Target/SparcV8/SparcV8AsmPrinter.cpp:1.44
--- llvm/lib/Target/SparcV8/SparcV8AsmPrinter.cpp:1.43  Sat Dec 17 01:11:43 2005
+++ llvm/lib/Target/SparcV8/SparcV8AsmPrinter.cpp   Sat Dec 17 01:17:08 2005
@@ -39,6 +39,7 @@
   Data16bitsDirective = "\t.half\t";
   Data32bitsDirective = "\t.word\t";
   Data64bitsDirective = "\t.xword\t";
+  ZeroDirective = 0;  // no .zero or .space!
 }
 
 /// We name each basic block in a Function with a unique number, so
@@ -52,8 +53,6 @@
   return "SparcV8 Assembly Printer";
 }
 
-void emitConstantValueOnly(const Constant *CV);
-void emitGlobalConstant(const Constant *CV);
 void printOperand(const MachineInstr *MI, int opNum);
 bool printInstruction(const MachineInstr *MI);  // autogenerated.
 bool runOnMachineFunction(MachineFunction &F);
@@ -74,212 +73,6 @@
   return new SparcV8AsmPrinter(o, tm);
 }
 
-/// toOctal - Convert the low order bits of X into an octal digit.
-///
-static inline char toOctal(int X) {
-  return (X&7)+'0';
-}
-
-/// getAsCString - Return the specified array as a C compatible
-/// string, only if the predicate isStringCompatible is true.
-///
-static void printAsCString(std::ostream &O, const ConstantArray *CVA) {
-  assert(CVA->isString() && "Array is not string compatible!");
-
-  O << "\"";
-  for (unsigned i = 0; i != CVA->getNumOperands(); ++i) {
-unsigned char C = cast(CVA->getOperand(i))->getRawValue();
-
-if (C == '"') {
-  O << "\\\"";
-} else if (C == '\\') {
-  O << "";
-} else if (isprint(C)) {
-  O << C;
-} else {
-  switch(C) {
-  case '\b': O << "\\b"; break;
-  case '\f': O << "\\f"; break;
-  case '\n': O << "\\n"; break;
-  case '\r': O << "\\r"; break;
-  case '\t': O << "\\t"; break;
-  default:
-O << '\\';
-O << toOctal(C >> 6);
-O << toOctal(C >> 3);
-O << toOctal(C >> 0);
-break;
-  }
-}
-  }
-  O << "\"";
-}
-
-// Print out the specified constant, without a storage class.  Only the
-// constants valid in constant expressions can occur here.
-void SparcV8AsmPrinter::emitConstantValueOnly(const Constant *CV) {
-  if (CV->isNullValue() || isa (CV))
-O << "0";
-  else if (const ConstantBool *CB = dyn_cast(CV)) {
-assert(CB == ConstantBool::True);
-O << "1";
-  } else if (const ConstantSInt *CI = dyn_cast(CV))
-if (((CI->getValue() << 32) >> 32) == CI->getValue())
-  O << CI->getValue();
-else
-  O << (unsigned long long)CI->getValue();
-  else if (const ConstantUInt *CI = dyn_cast(CV))
-O << CI->getValue();
-  else if (const GlobalValue *GV = dyn_cast(CV))
-// This is a constant address for a global variable or function.  Use the
-// name of the variable or function as the address value.
-O << Mang->getValueName(GV);
-  else if (const ConstantExpr *CE = dyn_cast(CV)) {
-const TargetData &TD = TM.getTargetData();
-switch(CE->getOpcode()) {
-case Instruction::GetElementPtr: {
-  // generate a symbolic expression for the byte address
-  const Constant *ptrVal = CE->getOperand(0);
-  std::vector idxVec(CE->op_begin()+1, CE->op_end());
-  if (unsigned Offset = TD.getIndexedOffset(ptrVal->getType(), idxVec)) {
-O << "(";
-emitConstantValueOnly(ptrVal);
-O << ") + " << Offset;
-  } else {
-emitConstantValueOnly(ptrVal);
-  }
-  break;
-}
-case Instruction::Cast: {
-  // Support only non-converting or widening casts for now, that is, ones
-  // that do not involve a change in value.  This assertion is really 
gross,
-  // and may not even be a complete check.
-  Constant *Op = CE->getOperand(0);
-  const Type *OpTy = Op->getType(), *Ty = CE->getType();
-
-  // Pointers on ILP32 machines can be losslessly converted back and
-  // forth into 32-bit or wider integers, regardless of signedness.
-  assert(((isa(OpTy)
-   && (Ty == Type::LongTy || Ty == Type::ULongTy
-   || Ty == Type::IntTy || Ty == Type::UIntTy))
-  || (isa(Ty)
-  && (OpTy == Type::LongTy || OpTy == Type::ULongTy
-  || OpTy == Type::IntTy || OpTy == Type::UIntTy))
-  || (((TD.getTypeSize(Ty) >= TD.getTypeSize(OpTy))
-   && OpTy->isLosslesslyConvertibleTo(Ty
- && "FIXME: 

[llvm-commits] CVS: llvm/lib/Target/SparcV8/README.txt

2005-12-16 Thread Chris Lattner


Changes in directory llvm/lib/Target/SparcV8:

README.txt updated: 1.38 -> 1.39
---
Log message:

asmprinter done, added crucial missing step


---
Diffs of the changes:  (+3 -4)

 README.txt |7 +++
 1 files changed, 3 insertions(+), 4 deletions(-)


Index: llvm/lib/Target/SparcV8/README.txt
diff -u llvm/lib/Target/SparcV8/README.txt:1.38 
llvm/lib/Target/SparcV8/README.txt:1.39
--- llvm/lib/Target/SparcV8/README.txt:1.38 Sat Dec 17 00:54:41 2005
+++ llvm/lib/Target/SparcV8/README.txt  Sat Dec 17 01:17:59 2005
@@ -1,9 +1,8 @@
 
 Meta TODO list:
-1. Convert asmprinter to use lib/CodeGen/AsmPrinter for global init printing
-   constant pool printing, etc.
-2. Create a new DAG -> DAG instruction selector, by adding patterns to the
+1. Create a new DAG -> DAG instruction selector, by adding patterns to the
instructions.
+2. ???
 3. profit!
 
 
@@ -82,5 +81,5 @@
 
 * Generate fsqrtd for calls to sqrt()  (~ 4% speedup on Olden/tsp).
 
-$Date: 2005/12/17 06:54:41 $
+$Date: 2005/12/17 07:17:59 $
 



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/lib/Target/X86/X86ISelLowering.cpp

2005-12-16 Thread Evan Cheng


Changes in directory llvm/lib/Target/X86:

X86ISelLowering.cpp updated: 1.8 -> 1.9
---
Log message:

Remove a few lines of dead code.


---
Diffs of the changes:  (+0 -3)

 X86ISelLowering.cpp |3 ---
 1 files changed, 3 deletions(-)


Index: llvm/lib/Target/X86/X86ISelLowering.cpp
diff -u llvm/lib/Target/X86/X86ISelLowering.cpp:1.8 
llvm/lib/Target/X86/X86ISelLowering.cpp:1.9
--- llvm/lib/Target/X86/X86ISelLowering.cpp:1.8 Fri Dec 16 19:21:05 2005
+++ llvm/lib/Target/X86/X86ISelLowering.cpp Sat Dec 17 01:18:44 2005
@@ -936,10 +936,7 @@
 return DAG.getNode(ISD::MERGE_VALUES, Tys, Ops);
   }
   case ISD::SELECT: {
-unsigned Opc;
 SDOperand Cond  = Op.getOperand(0);
-SDOperand True  = Op.getOperand(1);
-SDOperand False = Op.getOperand(2);
 SDOperand CC;
 if (Cond.getOpcode() == ISD::SETCC) {
   CC = Cond.getOperand(2);



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/lib/Target/SparcV8/SparcV8ISelDAGToDAG.cpp Makefile SparcV8.h SparcV8TargetMachine.cpp

2005-12-16 Thread Chris Lattner


Changes in directory llvm/lib/Target/SparcV8:

SparcV8ISelDAGToDAG.cpp added (r1.1)
Makefile updated: 1.11 -> 1.12
SparcV8.h updated: 1.6 -> 1.7
SparcV8TargetMachine.cpp updated: 1.32 -> 1.33
---
Log message:

Add the framework for a dag-dag isel


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

 Makefile |3 
 SparcV8.h|2 
 SparcV8ISelDAGToDAG.cpp  |  172 +++
 SparcV8TargetMachine.cpp |   10 ++
 4 files changed, 185 insertions(+), 2 deletions(-)


Index: llvm/lib/Target/SparcV8/SparcV8ISelDAGToDAG.cpp
diff -c /dev/null llvm/lib/Target/SparcV8/SparcV8ISelDAGToDAG.cpp:1.1
*** /dev/null   Sat Dec 17 01:47:11 2005
--- llvm/lib/Target/SparcV8/SparcV8ISelDAGToDAG.cpp Sat Dec 17 01:47:01 2005
***
*** 0 
--- 1,172 
+ //===-- SparcV8ISelDAGToDAG.cpp - A dag to dag inst selector for SparcV8 
--===//
+ //
+ // The LLVM Compiler Infrastructure
+ //
+ // This file was developed by Chris Lattner and is distributed under
+ // the University of Illinois Open Source License. See LICENSE.TXT for 
details.
+ //
+ 
//===--===//
+ //
+ // This file defines an instruction selector for the V8 target
+ //
+ 
//===--===//
+ 
+ #include "SparcV8.h"
+ #include "SparcV8TargetMachine.h"
+ #include "llvm/CodeGen/SelectionDAG.h"
+ #include "llvm/CodeGen/SelectionDAGISel.h"
+ #include "llvm/Target/TargetLowering.h"
+ #include "llvm/Support/Debug.h"
+ #include 
+ using namespace llvm;
+ 
+ 
//===--===//
+ // TargetLowering Implementation
+ 
//===--===//
+ 
+ namespace {
+   class SparcV8TargetLowering : public TargetLowering {
+   public:
+ SparcV8TargetLowering(TargetMachine &TM);
+ 
+ virtual std::vector
+   LowerArguments(Function &F, SelectionDAG &DAG);
+ virtual std::pair
+   LowerCallTo(SDOperand Chain, const Type *RetTy, bool isVarArg,
+   unsigned CC,
+   bool isTailCall, SDOperand Callee, ArgListTy &Args,
+   SelectionDAG &DAG);
+ 
+ virtual SDOperand LowerReturnTo(SDOperand Chain, SDOperand Op,
+ SelectionDAG &DAG);
+ virtual SDOperand LowerVAStart(SDOperand Chain, SDOperand VAListP,
+Value *VAListV, SelectionDAG &DAG);
+ virtual std::pair
+   LowerVAArg(SDOperand Chain, SDOperand VAListP, Value *VAListV,
+  const Type *ArgTy, SelectionDAG &DAG);
+ virtual std::pair
+   LowerFrameReturnAddress(bool isFrameAddr, SDOperand Chain, unsigned 
Depth,
+   SelectionDAG &DAG);
+   };
+ }
+ 
+ SparcV8TargetLowering::SparcV8TargetLowering(TargetMachine &TM)
+   : TargetLowering(TM) {
+   
+   // Set up the register classes.
+   addRegisterClass(MVT::i32, V8::IntRegsRegisterClass);
+   addRegisterClass(MVT::f32, V8::FPRegsRegisterClass);
+   addRegisterClass(MVT::f64, V8::DFPRegsRegisterClass);
+   
+   computeRegisterProperties();
+ }
+ 
+ std::vector
+ SparcV8TargetLowering::LowerArguments(Function &F, SelectionDAG &DAG) {
+   assert(0 && "Unimp");
+   abort();
+ }
+ 
+ std::pair
+ SparcV8TargetLowering::LowerCallTo(SDOperand Chain, const Type *RetTy,
+bool isVarArg, unsigned CC,
+bool isTailCall, SDOperand Callee, 
+ArgListTy &Args, SelectionDAG &DAG) {
+   assert(0 && "Unimp");
+   abort();
+ }
+ 
+ SDOperand SparcV8TargetLowering::LowerReturnTo(SDOperand Chain, SDOperand Op,
+SelectionDAG &DAG) {
+   assert(0 && "Unimp");
+   abort();
+ }
+ 
+ SDOperand SparcV8TargetLowering::LowerVAStart(SDOperand Chain, SDOperand 
VAListP,
+   Value *VAListV, SelectionDAG 
&DAG) {
+   assert(0 && "Unimp");
+   abort();
+ }
+ 
+ std::pair
+ SparcV8TargetLowering::LowerVAArg(SDOperand Chain, SDOperand VAListP, Value 
*VAListV,
+   const Type *ArgTy, SelectionDAG &DAG) {
+   assert(0 && "Unimp");
+   abort();
+ }
+ 
+ std::pair
+ SparcV8TargetLowering::LowerFrameReturnAddress(bool isFrameAddr, SDOperand 
Chain, unsigned Depth,
+SelectionDAG &DAG) {
+   assert(0 && "Unimp");
+   abort();
+ }
+ 
+ 
//===--===//
+ // Instruction Selector Implementation
+ 
//===--===//
+ 
+ //======//
+ /// SparcV8DAGToDAGISel - PPC specific code to select Sparc V8 machine
+ /// instructions for SelectionDA