[llvm-commits] CVS: llvm/include/llvm/Support/DataTypes.h.in

2005-10-26 Thread Jeff Cohen


Changes in directory llvm/include/llvm/Support:

DataTypes.h.in updated: 1.21 -> 1.22
---
Log message:

Eliminate use of sed in Visual Studio builds.

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

 DataTypes.h.in |1 +
 1 files changed, 1 insertion(+)


Index: llvm/include/llvm/Support/DataTypes.h.in
diff -u llvm/include/llvm/Support/DataTypes.h.in:1.21 
llvm/include/llvm/Support/DataTypes.h.in:1.22
--- llvm/include/llvm/Support/DataTypes.h.in:1.21   Sat Oct 22 23:37:19 2005
+++ llvm/include/llvm/Support/DataTypes.h.inWed Oct 26 09:48:53 2005
@@ -67,6 +67,7 @@
 // Visual C++ doesn't provide standard integer headers, but it does provide
 // built-in data types.
 #include 
+#include 
 typedef __int64 int64_t;
 typedef unsigned __int64 uint64_t;
 typedef signed int int32_t;



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


[llvm-commits] CVS: llvm/include/llvm/ADT/hash_map.in hash_set.in iterator.in

2005-10-26 Thread Jeff Cohen


Changes in directory llvm/include/llvm/ADT:

hash_map.in updated: 1.9 -> 1.10
hash_set.in updated: 1.6 -> 1.7
iterator.in updated: 1.3 -> 1.4
---
Log message:

Eliminate use of sed in Visual Studio builds.

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

 hash_map.in |   18 +-
 hash_set.in |   10 --
 iterator.in |6 ++
 3 files changed, 27 insertions(+), 7 deletions(-)


Index: llvm/include/llvm/ADT/hash_map.in
diff -u llvm/include/llvm/ADT/hash_map.in:1.9 
llvm/include/llvm/ADT/hash_map.in:1.10
--- llvm/include/llvm/ADT/hash_map.in:1.9   Wed Aug 24 09:03:07 2005
+++ llvm/include/llvm/ADT/hash_map.in   Wed Oct 26 09:48:53 2005
@@ -24,7 +24,7 @@
 //  3.0.4   std  ext/hash_map
 //  3.1  __gnu_cxx   ext/hash_map
 //  HP aCC6 std  stdex/rw/hashm*ap.h
-//
+//  MS VC++stdext  hash_map
 
 #undef HAVE_GNU_EXT_HASH_MAP
 #undef HAVE_STD_EXT_HASH_MAP
@@ -63,6 +63,14 @@
 #  define HASH_NAMESPACE std
 # endif
 
+// Support Microsoft VC++.
+#elif defined(_MSC_VER)
+# include 
+# ifndef HASH_NAMESPACE
+#  define HASH_NAMESPACE stdext
+   using std::_Distance;
+# endif
+
 // Give a warning if we couldn't find it, instead of (or in addition to)
 // randomly doing something dumb.
 #else
@@ -100,10 +108,6 @@
 } // end HASH_NAMESPACE;
 #endif
 
-using HASH_NAMESPACE::hash_map;
-using HASH_NAMESPACE::hash_multimap;
-using HASH_NAMESPACE::hash;
-
 // Include vector because ext/hash_map includes stl_vector.h and leaves
 // out specializations like stl_bvector.h, causing link conflicts.
 #include 
@@ -137,6 +141,10 @@
 
 #endif
 
+using HASH_NAMESPACE::hash_map;
+using HASH_NAMESPACE::hash_multimap;
+using HASH_NAMESPACE::hash;
+
 #include "llvm/ADT/HashExtras.h"
 
 #endif


Index: llvm/include/llvm/ADT/hash_set.in
diff -u llvm/include/llvm/ADT/hash_set.in:1.6 
llvm/include/llvm/ADT/hash_set.in:1.7
--- llvm/include/llvm/ADT/hash_set.in:1.6   Wed Aug 24 05:57:30 2005
+++ llvm/include/llvm/ADT/hash_set.in   Wed Oct 26 09:48:53 2005
@@ -25,7 +25,7 @@
 //  3.0.4   std  ext/hash_set
 //  3.1  __gnu_cxx   ext/hash_set
 //  HP aCC6 std  stdex/rw/hashset.h
-//
+//  MS VC++stdext  hash_map
 
 #undef HAVE_GNU_EXT_HASH_SET
 #undef HAVE_STD_EXT_HASH_SET
@@ -64,6 +64,13 @@
 #  define HASH_NAMESPACE std
 # endif
 
+// Support Microsoft VC++.
+#elif defined(_MSC_VER)
+# include 
+# ifndef HASH_NAMESPACE
+#  define HASH_NAMESPACE stdext
+# endif
+
 // Give a warning if we couldn't find it, instead of (or in addition to)
 // randomly doing something dumb.
 #else
@@ -94,7 +101,6 @@
 #endif
 
 using HASH_NAMESPACE::hash_set;
-using HASH_NAMESPACE::hash;
 
 // Include vector because ext/hash_set includes stl_vector.h and leaves
 // out specializations like stl_bvector.h, causing link conflicts.


Index: llvm/include/llvm/ADT/iterator.in
diff -u llvm/include/llvm/ADT/iterator.in:1.3 
llvm/include/llvm/ADT/iterator.in:1.4
--- llvm/include/llvm/ADT/iterator.in:1.3   Fri Sep 24 16:19:05 2004
+++ llvm/include/llvm/ADT/iterator.in   Wed Oct 26 09:48:53 2005
@@ -34,6 +34,12 @@
 #undef HAVE_STD_ITERATOR
 #undef HAVE_FWD_ITERATOR
 
+#ifdef _MSC_VER
+#  define HAVE_BI_ITERATOR 0
+#  define HAVE_STD_ITERATOR 1
+#  define HAVE_FWD_ITERATOR 0
+#endif
+
 #if !HAVE_BI_ITERATOR
 # if HAVE_STD_ITERATOR
 /// If the bidirectional iterator is not defined, we attempt to define it in



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


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

2005-10-26 Thread Jeff Cohen


Changes in directory llvm/win32/Configure:

Configure.vcproj updated: 1.8 -> 1.9
---
Log message:

Eliminate use of sed in Visual Studio builds.

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

 Configure.vcproj |   32 ++--
 1 files changed, 22 insertions(+), 10 deletions(-)


Index: llvm/win32/Configure/Configure.vcproj
diff -u llvm/win32/Configure/Configure.vcproj:1.8 
llvm/win32/Configure/Configure.vcproj:1.9
--- llvm/win32/Configure/Configure.vcproj:1.8   Tue Mar 15 23:49:58 2005
+++ llvm/win32/Configure/Configure.vcproj   Wed Oct 26 09:48:53 2005
@@ -74,8 +74,24 @@



@@ -86,8 +102,7 @@



@@ -98,8 +113,7 @@



@@ -110,8 +124,7 @@



@@ -122,8 +135,7 @@






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


[llvm-commits] CVS: llvm/include/llvm/ADT/hash_set.in

2005-10-26 Thread Jeff Cohen


Changes in directory llvm/include/llvm/ADT:

hash_set.in updated: 1.7 -> 1.8
---
Log message:

Fix comment.

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

 hash_set.in |2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)


Index: llvm/include/llvm/ADT/hash_set.in
diff -u llvm/include/llvm/ADT/hash_set.in:1.7 
llvm/include/llvm/ADT/hash_set.in:1.8
--- llvm/include/llvm/ADT/hash_set.in:1.7   Wed Oct 26 09:48:53 2005
+++ llvm/include/llvm/ADT/hash_set.in   Wed Oct 26 10:02:21 2005
@@ -25,7 +25,7 @@
 //  3.0.4   std  ext/hash_set
 //  3.1  __gnu_cxx   ext/hash_set
 //  HP aCC6 std  stdex/rw/hashset.h
-//  MS VC++stdext  hash_map
+//  MS VC++stdext  hash_set
 
 #undef HAVE_GNU_EXT_HASH_SET
 #undef HAVE_STD_EXT_HASH_SET



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


[llvm-commits] CVS: llvm-test/MultiSource/Applications/hexxagon/bitboard64.h

2005-10-26 Thread John Criswell


Changes in directory llvm-test/MultiSource/Applications/hexxagon:

bitboard64.h updated: 1.2 -> 1.3
---
Log message:

Add sys/types.h, which seems to fix a silly bug in Apple's netinet/in.h
header file where they don't define in_addr_t.


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

 bitboard64.h |1 +
 1 files changed, 1 insertion(+)


Index: llvm-test/MultiSource/Applications/hexxagon/bitboard64.h
diff -u llvm-test/MultiSource/Applications/hexxagon/bitboard64.h:1.2 
llvm-test/MultiSource/Applications/hexxagon/bitboard64.h:1.3
--- llvm-test/MultiSource/Applications/hexxagon/bitboard64.h:1.2Thu Aug 
 4 15:05:30 2005
+++ llvm-test/MultiSource/Applications/hexxagon/bitboard64.hWed Oct 26 
10:06:47 2005
@@ -23,6 +23,7 @@
 #ifndef _BITBOARD64_H
 #define _BITBOARD64_H
 
+#include 
 #include 
 #include 
 #include 



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


[llvm-commits] CVS: llvm-test/MultiSource/Applications/hexxagon/hexxagonmove.cpp

2005-10-26 Thread John Criswell


Changes in directory llvm-test/MultiSource/Applications/hexxagon:

hexxagonmove.cpp updated: 1.2 -> 1.3
---
Log message:

Darwin (__APPLE__) uses gettimeofday.
This fixes compilation on MacOS X.


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

 hexxagonmove.cpp |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)


Index: llvm-test/MultiSource/Applications/hexxagon/hexxagonmove.cpp
diff -u llvm-test/MultiSource/Applications/hexxagon/hexxagonmove.cpp:1.2 
llvm-test/MultiSource/Applications/hexxagon/hexxagonmove.cpp:1.3
--- llvm-test/MultiSource/Applications/hexxagon/hexxagonmove.cpp:1.2Mon Mar 
 7 10:41:13 2005
+++ llvm-test/MultiSource/Applications/hexxagon/hexxagonmove.cppWed Oct 
26 10:34:35 2005
@@ -25,7 +25,7 @@
 
 #include 
 #include 
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__APPLE__)
 #include 
 #else
 #include 
@@ -87,7 +87,7 @@
 
 int getTime()
 {
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__APPLE__)
struct timeval tv;
 
gettimeofday(&tv, NULL);



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


[llvm-commits] CVS: llvm-test/TEST.nightly.Makefile TEST.nightly.report

2005-10-26 Thread Chris Lattner


Changes in directory llvm-test:

TEST.nightly.Makefile updated: 1.41 -> 1.42
TEST.nightly.report updated: 1.36 -> 1.37
---
Log message:

remove a column from the nightly tester that isn't what it claims to be


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

 TEST.nightly.Makefile |3 ---
 TEST.nightly.report   |1 -
 2 files changed, 4 deletions(-)


Index: llvm-test/TEST.nightly.Makefile
diff -u llvm-test/TEST.nightly.Makefile:1.41 
llvm-test/TEST.nightly.Makefile:1.42
--- llvm-test/TEST.nightly.Makefile:1.41Tue Feb  8 13:35:21 2005
+++ llvm-test/TEST.nightly.Makefile Wed Oct 26 11:45:24 2005
@@ -117,9 +117,6 @@
  printf "TEST-RESULT-jit-comptime: " >> $@;\
  grep "Total Execution Time" Output/$*.out-jit.info >> $@;\
  echo >> $@;\
- printf "TEST-RESULT-jit-machcode: " >> $@;\
- grep "bytes of machine code compiled" Output/$*.out-jit.info >> $@;\
- echo >> $@;\
else  \
  echo "TEST-FAIL: jit $(RELDIR)/$*" >> $@;\
fi


Index: llvm-test/TEST.nightly.report
diff -u llvm-test/TEST.nightly.report:1.36 llvm-test/TEST.nightly.report:1.37
--- llvm-test/TEST.nightly.report:1.36  Tue Apr  5 13:51:46 2005
+++ llvm-test/TEST.nightly.report   Wed Oct 26 11:45:24 2005
@@ -60,7 +60,6 @@
  ["LLCcompile" , "TEST-RESULT-llc: .*$WallTimeRE"],
  ["LLC-BETAcompile" , "TEST-RESULT-llc-beta: .*$WallTimeRE"],
  ["JITcodegen" , "TEST-RESULT-jit-comptime: .*$WallTimeRE"],
- ["Machinecode", 'TEST-RESULT-jit-machcode: *([0-9]+).*bytes of machine 
code'],
  [],
  ["GCC"  , 'TEST-RESULT-nat-time: program\s*([.0-9m:]+)', \&FormatTime],
  ["CBE"  , 'TEST-RESULT-cbe-time: program\s*([.0-9m:]+)', \&FormatTime],



___
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-10-26 Thread Chris Lattner


Changes in directory llvm/lib/Target:

TargetSelectionDAG.td updated: 1.6 -> 1.7
---
Log message:

Add nodes for CondCodeSDNode and setcc, and add a bunch of pattern fragments
to make it easy to use them.  This lets you write patterns like:

(set PRRC:$rd, (setne GPRC:$rS, imm:$SH))

and stuff.



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

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


Index: llvm/lib/Target/TargetSelectionDAG.td
diff -u llvm/lib/Target/TargetSelectionDAG.td:1.6 
llvm/lib/Target/TargetSelectionDAG.td:1.7
--- llvm/lib/Target/TargetSelectionDAG.td:1.6   Tue Oct 25 16:03:14 2005
+++ llvm/lib/Target/TargetSelectionDAG.td   Wed Oct 26 12:00:25 2005
@@ -99,6 +99,10 @@
   SDTCisVTSmallerThanOp<2, 1>
 ]>;
 
+def SDTSetCC : SDTypeProfile<1, 3, [ // setcc
+  SDTCisInt<0>, SDTCisSameAs<1, 2>, SDTCisVT<3, OtherVT>
+]>;
+
 
//===--===//
 // Selection DAG Node Properties.
 //
@@ -124,6 +128,7 @@
 
 def imm: SDNode<"ISD::Constant"  , SDTImm , [], "ConstantSDNode">;
 def vt : SDNode<"ISD::VALUETYPE" , SDTVT  , [], "VTSDNode">;
+def cond   : SDNode<"ISD::CONDCODE"  , SDTVT  , [], "CondCodeSDNode">;
 def undef  : SDNode<"ISD::UNDEF" , SDTUNDEF   , []>;
 def add: SDNode<"ISD::ADD"   , SDTIntBinOp   ,
 [SDNPCommutative, SDNPAssociative]>;
@@ -167,6 +172,22 @@
 def fround : SDNode<"ISD::FP_ROUND"   , SDTFPRoundOp>;
 def fextend: SDNode<"ISD::FP_EXTEND"  , SDTFPExtendOp>;
 
+def setcc  : SDNode<"ISD::SETCC"  , SDTSetCC>;
+
+//===--===//
+// Selection DAG Condition Codes
+
+class CondCode; // ISD::CondCode enums
+def SETOEQ : CondCode; def SETOGT : CondCode;
+def SETOGE : CondCode; def SETOLT : CondCode; def SETOLE : CondCode;
+def SETONE : CondCode; def SETO   : CondCode; def SETUO  : CondCode;
+def SETUEQ : CondCode; def SETUGT : CondCode; def SETUGE : CondCode;
+def SETULT : CondCode; def SETULE : CondCode; def SETUNE : CondCode;
+
+def SETEQ : CondCode; def SETGT : CondCode; def SETGE : CondCode;
+def SETLT : CondCode; def SETLE : CondCode; def SETNE : CondCode;
+
+
 
//===--===//
 // Selection DAG Node Transformation Functions.
 //
@@ -219,6 +240,49 @@
 def not  : PatFrag<(ops node:$in), (xor node:$in, immAllOnes)>;
 def ineg : PatFrag<(ops node:$in), (sub 0, node:$in)>;
 
+
+// setcc convenience fragments.
+def setoeq : PatFrag<(ops node:$lhs, node:$rhs),
+ (setcc node:$lhs, node:$rhs, SETOEQ)>;
+def setogt : PatFrag<(ops node:$lhs, node:$rhs),
+ (setcc node:$lhs, node:$rhs, SETOGT)>;
+def setoge : PatFrag<(ops node:$lhs, node:$rhs),
+ (setcc node:$lhs, node:$rhs, SETOGE)>;
+def setolt : PatFrag<(ops node:$lhs, node:$rhs),
+ (setcc node:$lhs, node:$rhs, SETOLT)>;
+def setole : PatFrag<(ops node:$lhs, node:$rhs),
+ (setcc node:$lhs, node:$rhs, SETOLE)>;
+def setone : PatFrag<(ops node:$lhs, node:$rhs),
+ (setcc node:$lhs, node:$rhs, SETONE)>;
+def seto   : PatFrag<(ops node:$lhs, node:$rhs),
+ (setcc node:$lhs, node:$rhs, SETO)>;
+def setuo  : PatFrag<(ops node:$lhs, node:$rhs),
+ (setcc node:$lhs, node:$rhs, SETUO)>;
+def setueq : PatFrag<(ops node:$lhs, node:$rhs),
+ (setcc node:$lhs, node:$rhs, SETUEQ)>;
+def setugt : PatFrag<(ops node:$lhs, node:$rhs),
+ (setcc node:$lhs, node:$rhs, SETUGT)>;
+def setuge : PatFrag<(ops node:$lhs, node:$rhs),
+ (setcc node:$lhs, node:$rhs, SETUGE)>;
+def setult : PatFrag<(ops node:$lhs, node:$rhs),
+ (setcc node:$lhs, node:$rhs, SETULT)>;
+def setule : PatFrag<(ops node:$lhs, node:$rhs),
+ (setcc node:$lhs, node:$rhs, SETULE)>;
+def setune : PatFrag<(ops node:$lhs, node:$rhs),
+ (setcc node:$lhs, node:$rhs, SETUNE)>;
+def seteq  : PatFrag<(ops node:$lhs, node:$rhs),
+ (setcc node:$lhs, node:$rhs, SETEQ)>;
+def setgt  : PatFrag<(ops node:$lhs, node:$rhs),
+ (setcc node:$lhs, node:$rhs, SETGT)>;
+def setge  : PatFrag<(ops node:$lhs, node:$rhs),
+ (setcc node:$lhs, node:$rhs, SETGE)>;
+def setlt  : PatFrag<(ops node:$lhs, node:$rhs),
+ (setcc node:$lhs, node:$rhs, SETLT)>;
+def setle  : PatFrag<(ops node:$lhs, node:$rhs),
+ (setcc node:$lhs, node:$rhs, SETLE)>;
+def setne  : PatFrag<(ops node:$lhs, node:$rhs),
+ (setcc node:$lhs, node:$rhs, SETNE)>;
+
 
//===--===//
 // Selection DAG Pattern Support.
 //



___

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

2005-10-26 Thread Chris Lattner


Changes in directory llvm/utils/TableGen:

DAGISelEmitter.cpp updated: 1.67 -> 1.68
---
Log message:

Condcodes are in the ISD namespace


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

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


Index: llvm/utils/TableGen/DAGISelEmitter.cpp
diff -u llvm/utils/TableGen/DAGISelEmitter.cpp:1.67 
llvm/utils/TableGen/DAGISelEmitter.cpp:1.68
--- llvm/utils/TableGen/DAGISelEmitter.cpp:1.67 Wed Oct 26 11:59:37 2005
+++ llvm/utils/TableGen/DAGISelEmitter.cpp  Wed Oct 26 12:02:02 2005
@@ -1590,7 +1590,7 @@
 } else if (LeafRec->isSubClassOf("CondCode")) {
   // Make sure this is the specified cond code.
   OS << "  if (cast(" << RootName << i
- << ")->get() != " << "MVT::" << LeafRec->getName()
+ << ")->get() != " << "ISD::" << LeafRec->getName()
  << ") goto P" << PatternNo << "Fail;\n";
 } else {
   Child->dump();



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


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

2005-10-26 Thread Chris Lattner


Changes in directory llvm/utils/TableGen:

DAGISelEmitter.cpp updated: 1.66 -> 1.67
---
Log message:

Add support for CondCode's


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

 DAGISelEmitter.cpp |   18 ++
 1 files changed, 14 insertions(+), 4 deletions(-)


Index: llvm/utils/TableGen/DAGISelEmitter.cpp
diff -u llvm/utils/TableGen/DAGISelEmitter.cpp:1.66 
llvm/utils/TableGen/DAGISelEmitter.cpp:1.67
--- llvm/utils/TableGen/DAGISelEmitter.cpp:1.66 Tue Oct 25 15:35:14 2005
+++ llvm/utils/TableGen/DAGISelEmitter.cpp  Wed Oct 26 11:59:37 2005
@@ -291,8 +291,13 @@
 return true;
   }  
 
-  TP.error("Type inference contradiction found in node " + 
-   getOperator()->getName() + "!");
+  if (isLeaf()) {
+dump();
+TP.error("Type inference contradiction found in node!");
+  } else {
+TP.error("Type inference contradiction found in node " + 
+ getOperator()->getName() + "!");
+  }
   return true; // unreachable
 }
 
@@ -466,8 +471,8 @@
 // TODO: if a register appears in exactly one regclass, we could use that
 // type info.
 return MVT::isUnknown;
-  } else if (R->isSubClassOf("ValueType")) {
-// Using a VTSDNode.
+  } else if (R->isSubClassOf("ValueType") || R->isSubClassOf("CondCode")) {
+// Using a VTSDNode or CondCodeSDNode.
 return MVT::Other;
   } else if (R->getName() == "node") {
 // Placeholder.
@@ -1582,6 +1587,11 @@
   OS << "  if (cast(" << RootName << i << ")->getVT() != 
"
   << "MVT::" << LeafRec->getName() << ") goto P" << PatternNo
   << "Fail;\n";
+} else if (LeafRec->isSubClassOf("CondCode")) {
+  // Make sure this is the specified cond code.
+  OS << "  if (cast(" << RootName << i
+ << ")->get() != " << "MVT::" << LeafRec->getName()
+ << ") goto P" << PatternNo << "Fail;\n";
 } else {
   Child->dump();
   assert(0 && "Unknown leaf type!");



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


[llvm-commits] CVS: llvm/lib/Transforms/Scalar/InstructionCombining.cpp

2005-10-26 Thread Chris Lattner


Changes in directory llvm/lib/Transforms/Scalar:

InstructionCombining.cpp updated: 1.392 -> 1.393
---
Log message:

fold nested and's early to avoid inefficiencies in MaskedValueIsZero.  This
fixes a very slow compile in PR639: http://llvm.cs.uiuc.edu/PR639 .


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

 InstructionCombining.cpp |9 +
 1 files changed, 9 insertions(+)


Index: llvm/lib/Transforms/Scalar/InstructionCombining.cpp
diff -u llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.392 
llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.393
--- llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.392   Mon Oct 24 
01:35:18 2005
+++ llvm/lib/Transforms/Scalar/InstructionCombining.cpp Wed Oct 26 12:18:16 2005
@@ -1725,6 +1725,15 @@
 // and X, -1 == X
 if (AndRHS->isAllOnesValue())
   return ReplaceInstUsesWith(I, Op0);
+
+// and (and X, c1), c2 -> and (x, c1&c2).  Handle this case here, before
+// calling MaskedValueIsZero, to avoid inefficient cases where we traipse
+// through many levels of ands.
+{
+  Value *X; ConstantInt *C1;
+  if (match(Op0, m_And(m_Value(X), m_ConstantInt(C1
+return BinaryOperator::createAnd(X, ConstantExpr::getAnd(C1, AndRHS));
+}
 
 if (MaskedValueIsZero(Op0, AndRHS))// LHS & RHS == 0
   return ReplaceInstUsesWith(I, Constant::getNullValue(I.getType()));



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


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

2005-10-26 Thread Jim Laskey


Changes in directory llvm/lib/Target:

Target.td updated: 1.55 -> 1.56
---
Log message:

Add attribute name and type to SubtargetFeatures.



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

 Target.td |   10 +-
 1 files changed, 9 insertions(+), 1 deletion(-)


Index: llvm/lib/Target/Target.td
diff -u llvm/lib/Target/Target.td:1.55 llvm/lib/Target/Target.td:1.56
--- llvm/lib/Target/Target.td:1.55  Fri Oct 21 14:05:19 2005
+++ llvm/lib/Target/Target.td   Wed Oct 26 12:28:23 2005
@@ -252,12 +252,20 @@
 
//===--===//
 // SubtargetFeature - A characteristic of the chip set.
 //
-class SubtargetFeature {
+class SubtargetFeature {
   // Name - Feature name.  Used by command line (-mattr=) to determine the
   // appropriate target chip.
   //
   string Name = n;
   
+  // Type - Type of attribute to be set by feature.
+  //
+  string Type = t;
+  
+  // Attribute - Attribute to be set by feature.
+  //
+  string Attribute = a;
+  
   // Desc - Feature description.  Used by command line (-mattr=) to display 
help
   // information.
   //



___
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/PPC.td

2005-10-26 Thread Jim Laskey


Changes in directory llvm/lib/Target/PowerPC:

PPC.td updated: 1.9 -> 1.10
---
Log message:

Add attribute name and type to SubtargetFeatures.



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

 PPC.td |   10 +-
 1 files changed, 5 insertions(+), 5 deletions(-)


Index: llvm/lib/Target/PowerPC/PPC.td
diff -u llvm/lib/Target/PowerPC/PPC.td:1.9 llvm/lib/Target/PowerPC/PPC.td:1.10
--- llvm/lib/Target/PowerPC/PPC.td:1.9  Sun Oct 23 17:23:45 2005
+++ llvm/lib/Target/PowerPC/PPC.td  Wed Oct 26 12:28:23 2005
@@ -19,15 +19,15 @@
 // PowerPC Subtarget features.
 //
  
-def Feature64Bit : SubtargetFeature<"64bit",
+def Feature64Bit : SubtargetFeature<"64bit", "bool", "Is64Bit",
 "Enable 64-bit instructions">;
-def Feature64BitRegs : SubtargetFeature<"64bitregs",
+def Feature64BitRegs : SubtargetFeature<"64bitregs", "bool", "Has64BitRegs",
 "Enable 64-bit registers [beta]">;
-def FeatureAltivec   : SubtargetFeature<"altivec",
+def FeatureAltivec   : SubtargetFeature<"altivec", "bool", "HasAltivec",
 "Enable Altivec instructions">;
-def FeatureGPUL  : SubtargetFeature<"gpul",
+def FeatureGPUL  : SubtargetFeature<"gpul", "bool", "IsGigaProcessor",
 "Enable GPUL instructions">;
-def FeatureFSqrt : SubtargetFeature<"fsqrt",
+def FeatureFSqrt : SubtargetFeature<"fsqrt", "bool", "HasFSQRT",
 "Enable the fsqrt instruction">; 
 
 
//===--===//



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


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

2005-10-26 Thread Jim Laskey


Changes in directory llvm/lib/Target/Alpha:

Alpha.td updated: 1.5 -> 1.6
---
Log message:

Add attribute name and type to SubtargetFeatures.



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

 Alpha.td |6 --
 1 files changed, 4 insertions(+), 2 deletions(-)


Index: llvm/lib/Target/Alpha/Alpha.td
diff -u llvm/lib/Target/Alpha/Alpha.td:1.5 llvm/lib/Target/Alpha/Alpha.td:1.6
--- llvm/lib/Target/Alpha/Alpha.td:1.5  Sun Oct 23 17:08:45 2005
+++ llvm/lib/Target/Alpha/Alpha.td  Wed Oct 26 12:28:23 2005
@@ -20,8 +20,10 @@
 // Subtarget Features
 
//===--===//
 
-def FeatureCIX : SubtargetFeature<"CIX", "Enable CIX extentions">;
-def FeatureFIX : SubtargetFeature<"FIX", "Enable FIX extentions">;
+def FeatureCIX : SubtargetFeature<"CIX", "bool", "HasCT",
+  "Enable CIX extentions">;
+def FeatureFIX : SubtargetFeature<"FIX", "bool", "HasF2I",
+  "Enable FIX extentions">;
 
 
//===--===//
 // Register File Description



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


[llvm-commits] CVS: llvm/lib/Target/Alpha/AlphaSubtarget.cpp AlphaSubtarget.h

2005-10-26 Thread Jim Laskey


Changes in directory llvm/lib/Target/Alpha:

AlphaSubtarget.cpp updated: 1.6 -> 1.7
AlphaSubtarget.h updated: 1.1 -> 1.2
---
Log message:

Give full control of subtarget features over to table generated code.


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

 AlphaSubtarget.cpp |9 +++--
 AlphaSubtarget.h   |4 
 2 files changed, 7 insertions(+), 6 deletions(-)


Index: llvm/lib/Target/Alpha/AlphaSubtarget.cpp
diff -u llvm/lib/Target/Alpha/AlphaSubtarget.cpp:1.6 
llvm/lib/Target/Alpha/AlphaSubtarget.cpp:1.7
--- llvm/lib/Target/Alpha/AlphaSubtarget.cpp:1.6Tue Oct 25 10:15:28 2005
+++ llvm/lib/Target/Alpha/AlphaSubtarget.cppWed Oct 26 12:30:34 2005
@@ -19,10 +19,7 @@
 AlphaSubtarget::AlphaSubtarget(const Module &M, const std::string &FS)
   : HasF2I(false), HasCT(false) {
   std::string CPU = "generic";
-  SubtargetFeatures Features(FS);
-  Features.setCPUIfNone(CPU);
-  uint32_t Bits =Features.getBits(SubTypeKV, SubTypeKVSize,
-  FeatureKV, FeatureKVSize);
-  HasF2I = (Bits & FeatureFIX) != 0;
-  HasCT  = (Bits & FeatureCIX) != 0;
+
+  // Parse features string.
+  ParseSubtargetFeatures(FS, CPU);
 }


Index: llvm/lib/Target/Alpha/AlphaSubtarget.h
diff -u llvm/lib/Target/Alpha/AlphaSubtarget.h:1.1 
llvm/lib/Target/Alpha/AlphaSubtarget.h:1.2
--- llvm/lib/Target/Alpha/AlphaSubtarget.h:1.1  Thu Sep 29 17:54:56 2005
+++ llvm/lib/Target/Alpha/AlphaSubtarget.h  Wed Oct 26 12:30:34 2005
@@ -33,6 +33,10 @@
   /// of the specified module.
   ///
   AlphaSubtarget(const Module &M, const std::string &FS);
+  
+  /// ParseSubtargetFeatures - Parses features string setting specified 
+  /// subtarget options.  Definition of function is usto generated by tblgen.
+  void ParseSubtargetFeatures(const std::string &FS, const std::string &CPU);
 
   bool hasF2I() const { return HasF2I; }
   bool hasCT() const { return HasCT; }



___
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/PPCSubtarget.cpp PPCSubtarget.h

2005-10-26 Thread Jim Laskey


Changes in directory llvm/lib/Target/PowerPC:

PPCSubtarget.cpp updated: 1.13 -> 1.14
PPCSubtarget.h updated: 1.8 -> 1.9
---
Log message:

Give full control of subtarget features over to table generated code.


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

 PPCSubtarget.cpp |   21 -
 PPCSubtarget.h   |8 +++-
 2 files changed, 19 insertions(+), 10 deletions(-)


Index: llvm/lib/Target/PowerPC/PPCSubtarget.cpp
diff -u llvm/lib/Target/PowerPC/PPCSubtarget.cpp:1.13 
llvm/lib/Target/PowerPC/PPCSubtarget.cpp:1.14
--- llvm/lib/Target/PowerPC/PPCSubtarget.cpp:1.13   Tue Oct 25 10:15:28 2005
+++ llvm/lib/Target/PowerPC/PPCSubtarget.cppWed Oct 26 12:30:34 2005
@@ -68,22 +68,25 @@
 }
 #endif
 
+
 PPCSubtarget::PPCSubtarget(const Module &M, const std::string &FS)
-  : StackAlignment(16), IsGigaProcessor(false), IsAIX(false), IsDarwin(false) {
+  : StackAlignment(16)
+  , IsGigaProcessor(false)
+  , Is64Bit(false)
+  , Has64BitRegs(false)
+  , HasAltivec(false)
+  , HasFSQRT(false)
+  , IsAIX(false)
+  , IsDarwin(false) {
 
   // Determine default and user specified characteristics
   std::string CPU = "generic";
 #if defined(__APPLE__)
   CPU = GetCurrentPowerPCCPU();
 #endif
-  SubtargetFeatures Features(FS);
-  Features.setCPUIfNone(CPU);
-  uint32_t Bits =  Features.getBits(SubTypeKV, SubTypeKVSize,
-FeatureKV, FeatureKVSize);
-  IsGigaProcessor = (Bits & FeatureGPUL ) != 0;
-  Is64Bit = (Bits & Feature64Bit) != 0;
-  HasFSQRT= (Bits & FeatureFSqrt) != 0;
-  Has64BitRegs= (Bits & Feature64BitRegs) != 0;
+
+  // Parse features string.
+  ParseSubtargetFeatures(FS, CPU);
 
   // Set the boolean corresponding to the current target triple, or the default
   // if one cannot be determined, to true.


Index: llvm/lib/Target/PowerPC/PPCSubtarget.h
diff -u llvm/lib/Target/PowerPC/PPCSubtarget.h:1.8 
llvm/lib/Target/PowerPC/PPCSubtarget.h:1.9
--- llvm/lib/Target/PowerPC/PPCSubtarget.h:1.8  Mon Oct 17 19:56:42 2005
+++ llvm/lib/Target/PowerPC/PPCSubtarget.h  Wed Oct 26 12:30:34 2005
@@ -31,6 +31,7 @@
   bool IsGigaProcessor;
   bool Is64Bit;
   bool Has64BitRegs;
+  bool HasAltivec;
   bool HasFSQRT;
   bool IsAIX;
   bool IsDarwin;
@@ -39,6 +40,10 @@
   /// of the specified module.
   ///
   PPCSubtarget(const Module &M, const std::string &FS);
+  
+  /// ParseSubtargetFeatures - Parses features string setting specified 
+  /// subtarget options.  Definition of function is usto generated by tblgen.
+  void ParseSubtargetFeatures(const std::string &FS, const std::string &CPU);
 
   /// getStackAlignment - Returns the minimum alignment known to hold of the
   /// stack frame on entry to the function and which must be maintained by 
every
@@ -46,11 +51,12 @@
   unsigned getStackAlignment() const { return StackAlignment; }
 
   bool hasFSQRT() const { return HasFSQRT; }
+  bool has64BitRegs() const { return Has64BitRegs; }
+  bool hasAltivec() const { return HasAltivec; }
   
   bool isAIX() const { return IsAIX; }
   bool isDarwin() const { return IsDarwin; }
   bool is64Bit() const { return Is64Bit; }
-  bool has64BitRegs() const { return Has64BitRegs; }
   bool isGigaProcessor() const { return IsGigaProcessor; }
 };
 } // End llvm namespace



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


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

2005-10-26 Thread Jim Laskey


Changes in directory llvm/utils/TableGen:

SubtargetEmitter.cpp updated: 1.4 -> 1.5
SubtargetEmitter.h updated: 1.2 -> 1.3
---
Log message:

Give full control of subtarget features over to table generated code.


---
Diffs of the changes:  (+65 -15)

 SubtargetEmitter.cpp |   76 +--
 SubtargetEmitter.h   |4 ++
 2 files changed, 65 insertions(+), 15 deletions(-)


Index: llvm/utils/TableGen/SubtargetEmitter.cpp
diff -u llvm/utils/TableGen/SubtargetEmitter.cpp:1.4 
llvm/utils/TableGen/SubtargetEmitter.cpp:1.5
--- llvm/utils/TableGen/SubtargetEmitter.cpp:1.4Tue Oct 25 10:16:36 2005
+++ llvm/utils/TableGen/SubtargetEmitter.cppWed Oct 26 12:30:34 2005
@@ -45,24 +45,28 @@
 };
 
 //
-// FeatureEnumeration - Emit an enumeration of all the subtarget features.
+// Enumeration - Emit the specified class as an enumeration.
 //
-void SubtargetEmitter::FeatureEnumeration(std::ostream &OS) {
-  RecordList Features = Records.getAllDerivedDefinitions("SubtargetFeature");
-  sort(Features.begin(), Features.end(), LessRecord());
+void SubtargetEmitter::Enumeration(std::ostream &OS,
+   const char *ClassName,
+   bool isBits) {
+  RecordList Defs = Records.getAllDerivedDefinitions(ClassName);
+  sort(Defs.begin(), Defs.end(), LessRecord());
 
   int i = 0;
   
   OS << "enum {\n";
   
-  for (RecordListIter RI = Features.begin(), E = Features.end(); RI != E;){
+  for (RecordListIter RI = Defs.begin(), E = Defs.end(); RI != E;) {
 Record *R = *RI++;
 std::string Instance = R->getName();
 OS << "  "
-   << Instance
-   << " = "
-   << " 1 << " << i++
-   << ((RI != E) ? ",\n" : "\n");
+   << Instance;
+if (isBits) {
+  OS << " = "
+ << " 1 << " << i++;
+}
+OS << ((RI != E) ? ",\n" : "\n");
   }
   
   OS << "};\n";
@@ -76,8 +80,7 @@
   RecordList Features = Records.getAllDerivedDefinitions("SubtargetFeature");
   sort(Features.begin(), Features.end(), LessRecord());
 
-  OS << "\n"
- << "// Sorted (by key) array of values for CPU features.\n"
+  OS << "// Sorted (by key) array of values for CPU features.\n"
  << "static llvm::SubtargetFeatureKV FeatureKV[] = {\n";
   for (RecordListIter RI = Features.begin(), E = Features.end(); RI != E;) {
 Record *R = *RI++;
@@ -105,8 +108,7 @@
   RecordList Processors = Records.getAllDerivedDefinitions("Processor");
   sort(Processors.begin(), Processors.end(), LessRecordFieldName());
 
-  OS << "\n"
- << "// Sorted (by key) array of values for CPU subtype.\n"
+  OS << "// Sorted (by key) array of values for CPU subtype.\n"
  << "static const llvm::SubtargetFeatureKV SubTypeKV[] = {\n";
   for (RecordListIter RI = Processors.begin(), E = Processors.end();
RI != E;) {
@@ -145,15 +147,61 @@
   OS<<"};\n";
 }
 
+//
+// ParseFeaturesFunction - Produces a subtarget specific function for parsing
+// the subtarget features string.
+//
+void SubtargetEmitter::ParseFeaturesFunction(std::ostream &OS) {
+  RecordList Features = Records.getAllDerivedDefinitions("SubtargetFeature");
+  sort(Features.begin(), Features.end(), LessRecord());
+
+  OS << "// ParseSubtargetFeatures - Parses features string setting 
specified\n" 
+"// subtarget options.\n" 
+"void llvm::";
+  OS << Target;
+  OS << "Subtarget::ParseSubtargetFeatures(const std::string &FS,\n"
+"  const std::string &CPU) {\n"
+"  SubtargetFeatures Features(FS);\n"
+"  Features.setCPUIfNone(CPU);\n"
+"  uint32_t Bits =  Features.getBits(SubTypeKV, SubTypeKVSize,\n"
+"FeatureKV, FeatureKVSize);\n";
+
+  for (RecordListIter RI = Features.begin(), E = Features.end(); RI != E;) {
+Record *R = *RI++;
+std::string Instance = R->getName();
+std::string Name = R->getValueAsString("Name");
+std::string Type = R->getValueAsString("Type");
+std::string Attribute = R->getValueAsString("Attribute");
+
+OS << "  " << Attribute << " = (Bits & " << Instance << ") != 0;\n";
+  }
+  OS << "}\n";
+}
+
 // 
 // SubtargetEmitter::run - Main subtarget enumeration emitter.
 //
 void SubtargetEmitter::run(std::ostream &OS) {
+  std::vector Targets = Records.getAllDerivedDefinitions("Target");
+  if (Targets.size() == 0)
+throw std::string("ERROR: No 'Target' subclasses defined!");
+  if (Targets.size() != 1)
+throw std::string("ERROR: Multiple subclasses of Target defined!");
+  Target = Targets[0]->getName();
+
   EmitSourceFileHeader("Subtarget Enumeration Source Fragment", OS);
 
   OS << "#include \"llvm/Target/SubtargetFeature.h\"\n\n";
   
-  FeatureEnumeration(OS);
+  Enumeration(OS, "FuncUnit", true);
+  OS<<"\n";
+  Enumeration(OS, "InstrItinClass", false);
+  OS<<"\n";
+  Enumeration(OS, "SubtargetFeature", true);
+  OS<<"\n";
   FeatureKeyValues(OS);
+  OS<<"\n";
   CPUKeyValues(OS);
+

[llvm-commits] CVS: llvm/lib/Target/Alpha/AlphaInstrFormats.td AlphaInstrInfo.td

2005-10-26 Thread Andrew Lenharth


Changes in directory llvm/lib/Target/Alpha:

AlphaInstrFormats.td updated: 1.10 -> 1.11
AlphaInstrInfo.td updated: 1.68 -> 1.69
---
Log message:

Simplify instinfo, set random bits on more fp insts, and fix 1 opcode

---
Diffs of the changes:  (+18 -24)

 AlphaInstrFormats.td |5 +++--
 AlphaInstrInfo.td|   37 +++--
 2 files changed, 18 insertions(+), 24 deletions(-)


Index: llvm/lib/Target/Alpha/AlphaInstrFormats.td
diff -u llvm/lib/Target/Alpha/AlphaInstrFormats.td:1.10 
llvm/lib/Target/Alpha/AlphaInstrFormats.td:1.11
--- llvm/lib/Target/Alpha/AlphaInstrFormats.td:1.10 Sat Oct 22 17:06:58 2005
+++ llvm/lib/Target/Alpha/AlphaInstrFormats.td  Wed Oct 26 12:41:46 2005
@@ -196,13 +196,14 @@
   let Inst{4-0} = Fc;
 }
 
-class FPFormCM opcode, bits<11> fun, dag OL, string asmstr> 
-: InstAlpha {
+class FPFormCM opcode, bits<11> fun, string asmstr> 
+: InstAlpha {
   bits<5> Fc;
   bits<5> Fa;
   bits<5> Fb;
   bits<11> Function = fun;
 
+  let isTwoAddress = 1;
   let Inst{25-21} = Fa;
   let Inst{20-16} = Fb;
   let Inst{15-5} = Function;


Index: llvm/lib/Target/Alpha/AlphaInstrInfo.td
diff -u llvm/lib/Target/Alpha/AlphaInstrInfo.td:1.68 
llvm/lib/Target/Alpha/AlphaInstrInfo.td:1.69
--- llvm/lib/Target/Alpha/AlphaInstrInfo.td:1.68Sat Oct 22 22:43:48 2005
+++ llvm/lib/Target/Alpha/AlphaInstrInfo.td Wed Oct 26 12:41:46 2005
@@ -136,21 +136,14 @@
 def CMOVNE   : OForm4<  0x11, 0x26, "cmovne $RCOND,$RSRC,$RDEST">; //CMOVE if 
RCOND != zero
 def CMOVNEi  : OForm4L< 0x11, 0x26, "cmovne $RCOND,$L,$RDEST">; //CMOVE if 
RCOND != zero
 
-let isTwoAddress = 1 in {
 //conditional moves, fp
- def FCMOVEQ : FPFormCM<0x17, 0x02A, (ops FPRC:$RDEST, FPRC:$RSRC2, 
FPRC:$RSRC, FPRC:$RCOND),
-"fcmoveq $RCOND,$RSRC,$RDEST">; //FCMOVE if = zero
- def FCMOVGE : FPFormCM<0x17, 0x02D, (ops FPRC:$RDEST, FPRC:$RSRC2, 
FPRC:$RSRC, FPRC:$RCOND),
-"fcmovge $RCOND,$RSRC,$RDEST">; //FCMOVE if >= zero
- def FCMOVGT : FPFormCM<0x17, 0x02F, (ops FPRC:$RDEST, FPRC:$RSRC2, 
FPRC:$RSRC, FPRC:$RCOND),
-"fcmovgt $RCOND,$RSRC,$RDEST">; //FCMOVE if > zero
- def FCMOVLE : FPFormCM<0x17, 0x02E, (ops FPRC:$RDEST, FPRC:$RSRC2, 
FPRC:$RSRC, FPRC:$RCOND),
-"fcmovle $RCOND,$RSRC,$RDEST">; //FCMOVE if <= zero
- def FCMOVLT : FPFormCM<0x17, 0x02, (ops FPRC:$RDEST, FPRC:$RSRC2, FPRC:$RSRC, 
FPRC:$RCOND),
-"fcmovlt $RCOND,$RSRC,$RDEST">; // FCMOVE if < zero
- def FCMOVNE : FPFormCM<0x17, 0x02B, (ops FPRC:$RDEST, FPRC:$RSRC2, 
FPRC:$RSRC, FPRC:$RCOND),
-"fcmovne $RCOND,$RSRC,$RDEST">; //FCMOVE if != zero
-}
+def FCMOVEQ : FPFormCM<0x17, 0x02A, "fcmoveq $RCOND,$RSRC,$RDEST">; //FCMOVE 
if = zero
+def FCMOVGE : FPFormCM<0x17, 0x02D, "fcmovge $RCOND,$RSRC,$RDEST">; //FCMOVE 
if >= zero
+def FCMOVGT : FPFormCM<0x17, 0x02F, "fcmovgt $RCOND,$RSRC,$RDEST">; //FCMOVE 
if > zero
+def FCMOVLE : FPFormCM<0x17, 0x02E, "fcmovle $RCOND,$RSRC,$RDEST">; //FCMOVE 
if <= zero
+def FCMOVLT : FPFormCM<0x17, 0x02C, "fcmovlt $RCOND,$RSRC,$RDEST">; // FCMOVE 
if < zero
+def FCMOVNE : FPFormCM<0x17, 0x02B, "fcmovne $RCOND,$RSRC,$RDEST">; //FCMOVE 
if != zero
+
 
 def ADDL : OForm< 0x10, 0x00, "addl $RA,$RB,$RC",
   [(set GPRC:$RC, (intop (add GPRC:$RA, GPRC:$RB)))]>;
@@ -329,10 +322,10 @@
 def CMPULTi  : OFormL<0x10, 0x1D, "cmpult $RA,$L,$RC", []>; //Compare unsigned 
quadword less than
 
 //Comparison, FP
-def CMPTEQ : FPForm<0x16, 0x0A5, "cmpteq/su $RA,$RB,$RC">;  //Compare 
T_floating equal
-def CMPTLE : FPForm<0x16, 0x0A7, "cmptle/su $RA,$RB,$RC">;  //Compare 
T_floating less than or equal
-def CMPTLT : FPForm<0x16, 0x0A6, "cmptlt/su $RA,$RB,$RC">;  //Compare 
T_floating less than
-def CMPTUN : FPForm<0x16, 0x0A4, "cmptun/su $RA,$RB,$RC">;  //Compare 
T_floating unordered
+def CMPTEQ : FPForm<0x16, 0x5A5, "cmpteq/su $RA,$RB,$RC">;  //Compare 
T_floating equal
+def CMPTLE : FPForm<0x16, 0x5A7, "cmptle/su $RA,$RB,$RC">;  //Compare 
T_floating less than or equal
+def CMPTLT : FPForm<0x16, 0x5A6, "cmptlt/su $RA,$RB,$RC">;  //Compare 
T_floating less than
+def CMPTUN : FPForm<0x16, 0x5A4, "cmptun/su $RA,$RB,$RC">;  //Compare 
T_floating unordered
 
 //There are in the Multimedia extentions, so let's not use them yet
 //def MAXSB8  : OForm<0x1C, 0x3E, "MAXSB8 $RA,$RB,$RC">; //Vector signed byte 
maximum
@@ -486,11 +479,11 @@
 //CVTLQ F-P 17.010 Convert longword to quadword
 //CVTQL F-P 17.030 Convert quadword to longword
 //These use SW completion, may not have function code for that set right 
(matters for JIT)
-def CVTQS : FPForm<0x16, 0x0BC, "cvtqs $RB,$RC">; //Convert quadword to 
S_floating
-def CVTQT : FPForm<0x16, 0x0BE, "cvtqt $RB,$RC">; //Convert quadword to 
T_floating
-def CVTST : FPForm<0x16, 0x2AC, "cvtsts $RB,$RC">; //Convert S_floating to 
T_floating
+def CVTQS : FPForm<0x16, 0x7BC, "cvtqs/sui $RB,$RC">; //Convert quadword to 
S_floating
+def CVTQT : FPForm<0x16, 0x7BE, "cvtqt/sui $RB,$RC">; //Convert quadword to 
T_floating
+de

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

2005-10-26 Thread Jim Laskey


Changes in directory llvm/utils/TableGen:

SubtargetEmitter.cpp updated: 1.5 -> 1.6
---
Log message:

Simplify.


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

 SubtargetEmitter.cpp |7 +--
 1 files changed, 1 insertion(+), 6 deletions(-)


Index: llvm/utils/TableGen/SubtargetEmitter.cpp
diff -u llvm/utils/TableGen/SubtargetEmitter.cpp:1.5 
llvm/utils/TableGen/SubtargetEmitter.cpp:1.6
--- llvm/utils/TableGen/SubtargetEmitter.cpp:1.5Wed Oct 26 12:30:34 2005
+++ llvm/utils/TableGen/SubtargetEmitter.cppWed Oct 26 12:49:21 2005
@@ -182,12 +182,7 @@
 // SubtargetEmitter::run - Main subtarget enumeration emitter.
 //
 void SubtargetEmitter::run(std::ostream &OS) {
-  std::vector Targets = Records.getAllDerivedDefinitions("Target");
-  if (Targets.size() == 0)
-throw std::string("ERROR: No 'Target' subclasses defined!");
-  if (Targets.size() != 1)
-throw std::string("ERROR: Multiple subclasses of Target defined!");
-  Target = Targets[0]->getName();
+  Target = CodeGenTarget().getName();
 
   EmitSourceFileHeader("Subtarget Enumeration Source Fragment", OS);
 



___
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/PPCSubtarget.h

2005-10-26 Thread Jim Laskey


Changes in directory llvm/lib/Target/PowerPC:

PPCSubtarget.h updated: 1.9 -> 1.10
---
Log message:

Typo x 2


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

 PPCSubtarget.h |2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)


Index: llvm/lib/Target/PowerPC/PPCSubtarget.h
diff -u llvm/lib/Target/PowerPC/PPCSubtarget.h:1.9 
llvm/lib/Target/PowerPC/PPCSubtarget.h:1.10
--- llvm/lib/Target/PowerPC/PPCSubtarget.h:1.9  Wed Oct 26 12:30:34 2005
+++ llvm/lib/Target/PowerPC/PPCSubtarget.h  Wed Oct 26 12:50:22 2005
@@ -42,7 +42,7 @@
   PPCSubtarget(const Module &M, const std::string &FS);
   
   /// ParseSubtargetFeatures - Parses features string setting specified 
-  /// subtarget options.  Definition of function is usto generated by tblgen.
+  /// subtarget options.  Definition of function is into generated by tblgen.
   void ParseSubtargetFeatures(const std::string &FS, const std::string &CPU);
 
   /// getStackAlignment - Returns the minimum alignment known to hold of the



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


[llvm-commits] CVS: llvm/lib/Target/Alpha/AlphaSubtarget.h

2005-10-26 Thread Jim Laskey


Changes in directory llvm/lib/Target/Alpha:

AlphaSubtarget.h updated: 1.2 -> 1.3
---
Log message:

Typo x 2


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

 AlphaSubtarget.h |2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)


Index: llvm/lib/Target/Alpha/AlphaSubtarget.h
diff -u llvm/lib/Target/Alpha/AlphaSubtarget.h:1.2 
llvm/lib/Target/Alpha/AlphaSubtarget.h:1.3
--- llvm/lib/Target/Alpha/AlphaSubtarget.h:1.2  Wed Oct 26 12:30:34 2005
+++ llvm/lib/Target/Alpha/AlphaSubtarget.h  Wed Oct 26 12:50:22 2005
@@ -35,7 +35,7 @@
   AlphaSubtarget(const Module &M, const std::string &FS);
   
   /// ParseSubtargetFeatures - Parses features string setting specified 
-  /// subtarget options.  Definition of function is usto generated by tblgen.
+  /// subtarget options.  Definition of function is into generated by tblgen.
   void ParseSubtargetFeatures(const std::string &FS, const std::string &CPU);
 
   bool hasF2I() const { return HasF2I; }



___
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/PPCISelLowering.cpp

2005-10-26 Thread Chris Lattner


Changes in directory llvm/lib/Target/PowerPC:

PPCISelLowering.cpp updated: 1.38 -> 1.39
---
Log message:

Fix an assert compiling MallocBench/gs


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

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


Index: llvm/lib/Target/PowerPC/PPCISelLowering.cpp
diff -u llvm/lib/Target/PowerPC/PPCISelLowering.cpp:1.38 
llvm/lib/Target/PowerPC/PPCISelLowering.cpp:1.39
--- llvm/lib/Target/PowerPC/PPCISelLowering.cpp:1.38Tue Oct 25 18:48:36 2005
+++ llvm/lib/Target/PowerPC/PPCISelLowering.cpp Wed Oct 26 13:01:11 2005
@@ -217,7 +217,7 @@
 if (LHS.getValueType() == MVT::f32)   // Comparison is always 64-bits
   LHS = DAG.getNode(ISD::FP_EXTEND, MVT::f64, LHS);
 return DAG.getNode(PPCISD::FSEL, ResVT,
-   DAG.getNode(ISD::FNEG, ResVT, LHS), TV, FV);
+   DAG.getNode(ISD::FNEG, MVT::f64, LHS), TV, FV);
   }
 
 SDOperand Cmp;



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


[llvm-commits] CVS: llvm/lib/Target/Alpha/AlphaSubtarget.h

2005-10-26 Thread Jim Laskey


Changes in directory llvm/lib/Target/Alpha:

AlphaSubtarget.h updated: 1.3 -> 1.4
---
Log message:

Typo made worse x 2 - take 2.


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

 AlphaSubtarget.h |2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)


Index: llvm/lib/Target/Alpha/AlphaSubtarget.h
diff -u llvm/lib/Target/Alpha/AlphaSubtarget.h:1.3 
llvm/lib/Target/Alpha/AlphaSubtarget.h:1.4
--- llvm/lib/Target/Alpha/AlphaSubtarget.h:1.3  Wed Oct 26 12:50:22 2005
+++ llvm/lib/Target/Alpha/AlphaSubtarget.h  Wed Oct 26 13:07:50 2005
@@ -35,7 +35,7 @@
   AlphaSubtarget(const Module &M, const std::string &FS);
   
   /// ParseSubtargetFeatures - Parses features string setting specified 
-  /// subtarget options.  Definition of function is into generated by tblgen.
+  /// subtarget options.  Definition of function is auto generated by tblgen.
   void ParseSubtargetFeatures(const std::string &FS, const std::string &CPU);
 
   bool hasF2I() const { return HasF2I; }



___
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/PPCSubtarget.h

2005-10-26 Thread Jim Laskey


Changes in directory llvm/lib/Target/PowerPC:

PPCSubtarget.h updated: 1.10 -> 1.11
---
Log message:

Typo made worse x 2 - take 2.


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

 PPCSubtarget.h |2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)


Index: llvm/lib/Target/PowerPC/PPCSubtarget.h
diff -u llvm/lib/Target/PowerPC/PPCSubtarget.h:1.10 
llvm/lib/Target/PowerPC/PPCSubtarget.h:1.11
--- llvm/lib/Target/PowerPC/PPCSubtarget.h:1.10 Wed Oct 26 12:50:22 2005
+++ llvm/lib/Target/PowerPC/PPCSubtarget.h  Wed Oct 26 13:07:50 2005
@@ -42,7 +42,7 @@
   PPCSubtarget(const Module &M, const std::string &FS);
   
   /// ParseSubtargetFeatures - Parses features string setting specified 
-  /// subtarget options.  Definition of function is into generated by tblgen.
+  /// subtarget options.  Definition of function is auto generated by tblgen.
   void ParseSubtargetFeatures(const std::string &FS, const std::string &CPU);
 
   /// getStackAlignment - Returns the minimum alignment known to hold of the



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


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

2005-10-26 Thread Chris Lattner


Changes in directory llvm/lib/CodeGen:

LiveIntervalAnalysis.cpp updated: 1.150 -> 1.151
TwoAddressInstructionPass.cpp updated: 1.30 -> 1.31
---
Log message:

Fix some spello's pointed out by Gabor Greif


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

 LiveIntervalAnalysis.cpp  |4 ++--
 TwoAddressInstructionPass.cpp |4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)


Index: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp
diff -u llvm/lib/CodeGen/LiveIntervalAnalysis.cpp:1.150 
llvm/lib/CodeGen/LiveIntervalAnalysis.cpp:1.151
--- llvm/lib/CodeGen/LiveIntervalAnalysis.cpp:1.150 Fri Oct 21 01:49:50 2005
+++ llvm/lib/CodeGen/LiveIntervalAnalysis.cpp   Wed Oct 26 13:41:41 2005
@@ -637,7 +637,7 @@
 /// number.  If all of the places that IntA and IntB overlap are defined by
 /// copies from IntA to IntB, we know that these two ranges can really be
 /// merged if we adjust the value numbers.  If it is safe, adjust the value
-/// numbers and return true, allowing coallescing to occur.
+/// numbers and return true, allowing coalescing to occur.
 bool LiveIntervals::
 AdjustIfAllOverlappingRangesAreCopiesFrom(LiveInterval &IntA,
   LiveInterval &IntB,
@@ -729,7 +729,7 @@
   // If DestInt is actually a copy from SrcInt (which we know) that is used
   // to define another value of SrcInt, we can change the other range of
   // SrcInt to be the value of the range that defines DestInt, allowing a
-  // coallesce.
+  // coalesce.
   if (!Joinable && DestInt.containsOneValue() &&
   AdjustIfAllOverlappingRangesAreCopiesFrom(SrcInt, DestInt, MIDefIdx))
 Joinable = true;


Index: llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
diff -u llvm/lib/CodeGen/TwoAddressInstructionPass.cpp:1.30 
llvm/lib/CodeGen/TwoAddressInstructionPass.cpp:1.31
--- llvm/lib/CodeGen/TwoAddressInstructionPass.cpp:1.30 Thu Apr 21 17:33:33 2005
+++ llvm/lib/CodeGen/TwoAddressInstructionPass.cpp  Wed Oct 26 13:41:41 2005
@@ -46,7 +46,7 @@
   Statistic<> NumTwoAddressInstrs("twoaddressinstruction",
   "Number of two-address instructions");
   Statistic<> NumCommuted("twoaddressinstruction",
-  "Number of instructions commuted to coallesce");
+  "Number of instructions commuted to coalesce");
   Statistic<> NumConvertedTo3Addr("twoaddressinstruction",
 "Number of instructions promoted to 
3-address");
 
@@ -127,7 +127,7 @@
 
 // If this instruction is not the killing user of B, see if we can
 // rearrange the code to make it so.  Making it the killing user will
-// allow us to coallesce A and B together, eliminating the copy we are
+// allow us to coalesce A and B together, eliminating the copy we are
 // about to insert.
 if (!LV.KillsRegister(mi, regB)) {
   const TargetInstrDescriptor &TID = TII.get(opcode);



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


[llvm-commits] CVS: llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp AlphaInstrInfo.td

2005-10-26 Thread Andrew Lenharth


Changes in directory llvm/lib/Target/Alpha:

AlphaISelDAGToDAG.cpp updated: 1.4 -> 1.5
AlphaInstrInfo.td updated: 1.69 -> 1.70
---
Log message:

int comparison patterns

---
Diffs of the changes:  (+48 -40)

 AlphaISelDAGToDAG.cpp |   28 ---
 AlphaInstrInfo.td |   60 --
 2 files changed, 48 insertions(+), 40 deletions(-)


Index: llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp
diff -u llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp:1.4 
llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp:1.5
--- llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp:1.4 Tue Oct 25 15:36:10 2005
+++ llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp Wed Oct 26 13:44:46 2005
@@ -111,34 +111,6 @@
   case ISD::DYNAMIC_STACKALLOC:
 assert(0 && "You want these too?");
 
-  case ISD::SETCC: {
-ISD::CondCode CC = cast(N->getOperand(2))->get();
-assert(MVT::isInteger(N->getOperand(0).getValueType()) && "FP numbers are 
unnecessary");
-SDOperand Op1 = Select(N->getOperand(0));
-SDOperand Op2 = Select(N->getOperand(1));
-unsigned Opc = Alpha::WTF;
-int dir;
-switch (CC) {
-default: N->dump(); assert(0 && "Unknown integer comparison!");
-case ISD::SETEQ:  Opc = Alpha::CMPEQ; dir=1; break;
-case ISD::SETLT:  Opc = Alpha::CMPLT; dir = 1; break;
-case ISD::SETLE:  Opc = Alpha::CMPLE; dir = 1; break;
-case ISD::SETGT:  Opc = Alpha::CMPLT; dir = 0; break;
-case ISD::SETGE:  Opc = Alpha::CMPLE; dir = 0; break;
-case ISD::SETULT: Opc = Alpha::CMPULT; dir = 1; break;
-case ISD::SETUGT: Opc = Alpha::CMPULT; dir = 0; break;
-case ISD::SETULE: Opc = Alpha::CMPULE; dir = 1; break;
-case ISD::SETUGE: Opc = Alpha::CMPULE; dir = 0; break;
-case ISD::SETNE: {//Handle this one special
-  SDOperand Tmp  = CurDAG->getTargetNode(Alpha::CMPEQ, MVT::i64, Op1, Op2);
-  CurDAG->SelectNodeTo(N, Alpha::CMPEQ, MVT::i64, 
CurDAG->getRegister(Alpha::R31, MVT::i64), Tmp);
-  return SDOperand(N, 0);
-}
-}
-CurDAG->SelectNodeTo(N, Opc, MVT::i64, dir ? Op1 : Op2, dir ? Op2 : Op1);
-return SDOperand(N, 0);
-  }
-
   case ISD::BRCOND: {
 SDOperand Chain = Select(N->getOperand(0));
 SDOperand CC = Select(N->getOperand(1));


Index: llvm/lib/Target/Alpha/AlphaInstrInfo.td
diff -u llvm/lib/Target/Alpha/AlphaInstrInfo.td:1.69 
llvm/lib/Target/Alpha/AlphaInstrInfo.td:1.70
--- llvm/lib/Target/Alpha/AlphaInstrInfo.td:1.69Wed Oct 26 12:41:46 2005
+++ llvm/lib/Target/Alpha/AlphaInstrInfo.td Wed Oct 26 13:44:46 2005
@@ -308,18 +308,54 @@
   [(set GPRC:$RC, (and GPRC:$RA, immZAP:$L))]>; 
 
 //Comparison, int
-def CMPBGE   : OForm< 0x10, 0x0F, "cmpbge $RA,$RB,$RC", []>; //Compare byte
-def CMPBGEi  : OFormL<0x10, 0x0F, "cmpbge $RA,$L,$RC", []>; //Compare byte
-def CMPEQ: OForm< 0x10, 0x2D, "cmpeq $RA,$RB,$RC", []>; //Compare signed 
quadword equal
-def CMPEQi   : OFormL<0x10, 0x2D, "cmpeq $RA,$L,$RC", []>; //Compare signed 
quadword equal
-def CMPLE: OForm< 0x10, 0x6D, "cmple $RA,$RB,$RC", []>; //Compare signed 
quadword less than or equal
-def CMPLEi   : OFormL<0x10, 0x6D, "cmple $RA,$L,$RC", []>; //Compare signed 
quadword less than or equal
-def CMPLT: OForm< 0x10, 0x4D, "cmplt $RA,$RB,$RC", []>; //Compare signed 
quadword less than
-def CMPLTi   : OFormL<0x10, 0x4D, "cmplt $RA,$L,$RC", []>; //Compare signed 
quadword less than
-def CMPULE   : OForm< 0x10, 0x3D, "cmpule $RA,$RB,$RC", []>; //Compare 
unsigned quadword less than or equal
-def CMPULEi  : OFormL<0x10, 0x3D, "cmpule $RA,$L,$RC", []>; //Compare unsigned 
quadword less than or equal
-def CMPULT   : OForm< 0x10, 0x1D, "cmpult $RA,$RB,$RC", []>; //Compare 
unsigned quadword less than
-def CMPULTi  : OFormL<0x10, 0x1D, "cmpult $RA,$L,$RC", []>; //Compare unsigned 
quadword less than
+//So this is a waste of what this instruction can do, but it still saves 
something
+def CMPBGE  : OForm< 0x10, 0x0F, "cmpbge $RA,$RB,$RC", 
+ [(set GPRC:$RC, (setuge (and GPRC:$RA, 255), (and 
GPRC:$RB, 255)))]>;
+def CMPBGEi : OFormL<0x10, 0x0F, "cmpbge $RA,$L,$RC",
+ [(set GPRC:$RC, (setuge (and GPRC:$RA, 255), 
immUExt8:$L))]>;
+def CMPEQ   : OForm< 0x10, 0x2D, "cmpeq $RA,$RB,$RC", 
+ [(set GPRC:$RC, (seteq GPRC:$RA, GPRC:$RB))]>;
+def CMPEQi  : OFormL<0x10, 0x2D, "cmpeq $RA,$L,$RC", 
+ [(set GPRC:$RC, (seteq GPRC:$RA, immUExt8:$L))]>;
+def CMPLE   : OForm< 0x10, 0x6D, "cmple $RA,$RB,$RC", 
+ [(set GPRC:$RC, (setle GPRC:$RA, GPRC:$RB))]>;
+def CMPLEi  : OFormL<0x10, 0x6D, "cmple $RA,$L,$RC",
+ [(set GPRC:$RC, (setle GPRC:$RA, immUExt8:$L))]>;
+def CMPLT   : OForm< 0x10, 0x4D, "cmplt $RA,$RB,$RC",
+ [(set GPRC:$RC, (setlt GPRC:$RA, GPRC:$RB))]>;
+def CMPLTi  : OFormL<0x10, 0x4D, "cmplt $RA,$L,$RC",
+ [(set GPRC:$RC, (setlt GPRC:$RA, immUExt8:$L))]>;
+def CMPULE  : OForm< 0x10, 0x3D, "c

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

2005-10-26 Thread Jim Laskey


Changes in directory llvm-www:

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

Finally figured out the correct syntax.


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

 developers.cgi |   15 ---
 1 files changed, 8 insertions(+), 7 deletions(-)


Index: llvm-www/developers.cgi
diff -u llvm-www/developers.cgi:1.3 llvm-www/developers.cgi:1.4
--- llvm-www/developers.cgi:1.3 Mon Oct 24 20:11:35 2005
+++ llvm-www/developers.cgi Wed Oct 26 14:06:13 2005
@@ -132,13 +132,14 @@
 # For each developer in sorted order
 for my $Fullname (@Fullnames) {
   # Extract fields
-  my $Name = $Developers{$Fullname}{name};
-  my $Surname = $Developers{$Fullname}{surname};
-  my $HRef = $Developers{$Fullname}{href};
-  my $Image = $Developers{$Fullname}{img};
-  my $Width = $Developers{$Fullname}{width};
-  my $Height = $Developers{$Fullname}{height};
-  my $Alt = $Developers{$Fullname}{alt};
+  my $thisDeveloper = $Developers{$Fullname};
+  my $Name = $thisDeveloper->{name};
+  my $Surname = $thisDeveloper->{surname};
+  my $HRef = $thisDeveloper->{href};
+  my $Image = $thisDeveloper->{img};
+  my $Width = $thisDeveloper->{width};
+  my $Height = $thisDeveloper->{height};
+  my $Alt = $thisDeveloper->{alt};
   
   print "  \n" if $Column == 0;
   print "\n";



___
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-10-26 Thread Jim Laskey


Changes in directory llvm-www:

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

Consistency

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

 developers.cgi |   16 
 1 files changed, 8 insertions(+), 8 deletions(-)


Index: llvm-www/developers.cgi
diff -u llvm-www/developers.cgi:1.4 llvm-www/developers.cgi:1.5
--- llvm-www/developers.cgi:1.4 Wed Oct 26 14:06:13 2005
+++ llvm-www/developers.cgi Wed Oct 26 14:10:54 2005
@@ -132,14 +132,14 @@
 # For each developer in sorted order
 for my $Fullname (@Fullnames) {
   # Extract fields
-  my $thisDeveloper = $Developers{$Fullname};
-  my $Name = $thisDeveloper->{name};
-  my $Surname = $thisDeveloper->{surname};
-  my $HRef = $thisDeveloper->{href};
-  my $Image = $thisDeveloper->{img};
-  my $Width = $thisDeveloper->{width};
-  my $Height = $thisDeveloper->{height};
-  my $Alt = $thisDeveloper->{alt};
+  my $Person = $Developers{$Fullname};
+  my $Name = $Person->{name};
+  my $Surname = $Person->{surname};
+  my $HRef = $Person->{href};
+  my $Image = $Person->{img};
+  my $Width = $Person->{width};
+  my $Height = $Person->{height};
+  my $Alt = $Person->{alt};
   
   print "  \n" if $Column == 0;
   print "\n";



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


[llvm-commits] CVS: llvm/tools/llc/Makefile

2005-10-26 Thread John Criswell


Changes in directory llvm/tools/llc:

Makefile updated: 1.75 -> 1.76
---
Log message:

1. Remove libraries no longer created from the list of libraries linked into the
   SparcV9 JIT.
2. Make LLVMTransformUtils a relinked object file and always link it before
   LLVMAnalysis.a.  These two libraries have circular dependencies on each
   other which creates problem when building the SparcV9 JIT.  This change
   fixes the dependency on all platforms problems with a minimum of fuss.



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

 Makefile |2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)


Index: llvm/tools/llc/Makefile
diff -u llvm/tools/llc/Makefile:1.75 llvm/tools/llc/Makefile:1.76
--- llvm/tools/llc/Makefile:1.75Tue Oct 25 12:10:30 2005
+++ llvm/tools/llc/Makefile Wed Oct 26 15:35:12 2005
@@ -70,7 +70,7 @@
LLVMipa.a \
LLVMTransforms.a \
LLVMScalarOpts.a \
-   LLVMTransformUtils.a \
+   LLVMTransformUtils \
LLVMAnalysis.a \
LLVMBCReader \
LLVMBCWriter \



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


[llvm-commits] CVS: llvm/tools/llvm-extract/Makefile

2005-10-26 Thread John Criswell


Changes in directory llvm/tools/llvm-extract:

Makefile updated: 1.1 -> 1.2
---
Log message:

1. Remove libraries no longer created from the list of libraries linked into the
   SparcV9 JIT.
2. Make LLVMTransformUtils a relinked object file and always link it before
   LLVMAnalysis.a.  These two libraries have circular dependencies on each
   other which creates problem when building the SparcV9 JIT.  This change
   fixes the dependency on all platforms problems with a minimum of fuss.



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

 Makefile |2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)


Index: llvm/tools/llvm-extract/Makefile
diff -u llvm/tools/llvm-extract/Makefile:1.1 
llvm/tools/llvm-extract/Makefile:1.2
--- llvm/tools/llvm-extract/Makefile:1.1Sun Apr 24 12:35:15 2005
+++ llvm/tools/llvm-extract/MakefileWed Oct 26 15:35:12 2005
@@ -10,7 +10,7 @@
 
 TOOLNAME = llvm-extract
 USEDLIBS = LLVMBCReader LLVMBCWriter LLVMTransforms.a LLVMipo.a LLVMTarget.a \
-   LLVMAnalysis.a LLVMTransformUtils.a LLVMipa.a \
+   LLVMAnalysis.a LLVMTransformUtils LLVMipa.a \
LLVMCore LLVMSupport.a LLVMbzip2 LLVMSystem.a
 
 include $(LEVEL)/Makefile.common



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


[llvm-commits] CVS: llvm/tools/opt/Makefile

2005-10-26 Thread John Criswell


Changes in directory llvm/tools/opt:

Makefile updated: 1.51 -> 1.52
---
Log message:

1. Remove libraries no longer created from the list of libraries linked into the
   SparcV9 JIT.
2. Make LLVMTransformUtils a relinked object file and always link it before
   LLVMAnalysis.a.  These two libraries have circular dependencies on each
   other which creates problem when building the SparcV9 JIT.  This change
   fixes the dependency on all platforms problems with a minimum of fuss.



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

 Makefile |2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)


Index: llvm/tools/opt/Makefile
diff -u llvm/tools/opt/Makefile:1.51 llvm/tools/opt/Makefile:1.52
--- llvm/tools/opt/Makefile:1.51Sun Oct 23 21:31:05 2005
+++ llvm/tools/opt/Makefile Wed Oct 26 15:35:13 2005
@@ -11,7 +11,7 @@
 
 USEDLIBS = LLVMBCReader LLVMBCWriter LLVMInstrumentation.a \
   LLVMScalarOpts.a LLVMipo.a LLVMipa.a LLVMDataStructure 
LLVMTransforms.a \
-  LLVMTarget.a LLVMAnalysis.a LLVMTransformUtils.a LLVMCore 
LLVMSupport.a \
+  LLVMTarget.a LLVMAnalysis.a LLVMTransformUtils LLVMCore 
LLVMSupport.a \
   LLVMbzip2 LLVMSystem.a 
 
 include $(LEVEL)/Makefile.common



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


[llvm-commits] CVS: llvm/lib/Transforms/Utils/Makefile

2005-10-26 Thread John Criswell


Changes in directory llvm/lib/Transforms/Utils:

Makefile updated: 1.6 -> 1.7
---
Log message:

1. Remove libraries no longer created from the list of libraries linked into the
   SparcV9 JIT.
2. Make LLVMTransformUtils a relinked object file and always link it before
   LLVMAnalysis.a.  These two libraries have circular dependencies on each
   other which creates problem when building the SparcV9 JIT.  This change
   fixes the dependency on all platforms problems with a minimum of fuss.



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

 Makefile |1 -
 1 files changed, 1 deletion(-)


Index: llvm/lib/Transforms/Utils/Makefile
diff -u llvm/lib/Transforms/Utils/Makefile:1.6 
llvm/lib/Transforms/Utils/Makefile:1.7
--- llvm/lib/Transforms/Utils/Makefile:1.6  Sun Oct 23 21:26:13 2005
+++ llvm/lib/Transforms/Utils/Makefile  Wed Oct 26 15:35:12 2005
@@ -9,7 +9,6 @@
 
 LEVEL = ../../..
 LIBRARYNAME = LLVMTransformUtils
-BUILD_ARCHIVE = 1
 
 include $(LEVEL)/Makefile.common
 



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


[llvm-commits] CVS: llvm/tools/analyze/Makefile

2005-10-26 Thread John Criswell


Changes in directory llvm/tools/analyze:

Makefile updated: 1.28 -> 1.29
---
Log message:

1. Remove libraries no longer created from the list of libraries linked into the
   SparcV9 JIT.
2. Make LLVMTransformUtils a relinked object file and always link it before
   LLVMAnalysis.a.  These two libraries have circular dependencies on each
   other which creates problem when building the SparcV9 JIT.  This change
   fixes the dependency on all platforms problems with a minimum of fuss.



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

 Makefile |2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)


Index: llvm/tools/analyze/Makefile
diff -u llvm/tools/analyze/Makefile:1.28 llvm/tools/analyze/Makefile:1.29
--- llvm/tools/analyze/Makefile:1.28Sun Oct 23 20:07:56 2005
+++ llvm/tools/analyze/Makefile Wed Oct 26 15:35:12 2005
@@ -11,6 +11,6 @@
 USEDLIBS = LLVMAsmParser LLVMBCReader LLVMAnalysis.a LLVMipa.a \
LLVMDataStructure \
   LLVMScalarOpts.a LLVMTransforms.a LLVMTarget.a LLVMScalarOpts.a \
-  LLVMTransformUtils.a LLVMCore LLVMSupport.a LLVMbzip2 LLVMSystem.a
+  LLVMTransformUtils LLVMCore LLVMSupport.a LLVMbzip2 LLVMSystem.a
 
 include $(LEVEL)/Makefile.common



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


[llvm-commits] CVS: llvm/tools/llvm-ld/Makefile

2005-10-26 Thread John Criswell


Changes in directory llvm/tools/llvm-ld:

Makefile updated: 1.5 -> 1.6
---
Log message:

1. Remove libraries no longer created from the list of libraries linked into the
   SparcV9 JIT.
2. Make LLVMTransformUtils a relinked object file and always link it before
   LLVMAnalysis.a.  These two libraries have circular dependencies on each
   other which creates problem when building the SparcV9 JIT.  This change
   fixes the dependency on all platforms problems with a minimum of fuss.



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

 Makefile |2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)


Index: llvm/tools/llvm-ld/Makefile
diff -u llvm/tools/llvm-ld/Makefile:1.5 llvm/tools/llvm-ld/Makefile:1.6
--- llvm/tools/llvm-ld/Makefile:1.5 Thu Nov 25 14:22:07 2004
+++ llvm/tools/llvm-ld/Makefile Wed Oct 26 15:35:13 2005
@@ -11,7 +11,7 @@
 
 TOOLNAME = llvm-ld
 USEDLIBS = LLVMipo.a LLVMTransforms.a LLVMScalarOpts.a LLVMAnalysis.a \
-  LLVMipa.a LLVMTransformUtils.a LLVMTarget.a LLVMLinker.a \
+  LLVMipa.a LLVMTransformUtils LLVMTarget.a LLVMLinker.a \
   LLVMArchive.a LLVMBCReader LLVMBCWriter \
   LLVMCore LLVMSupport.a LLVMbzip2 LLVMSystem.a
 



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


[llvm-commits] CVS: llvm/tools/gccas/Makefile

2005-10-26 Thread John Criswell


Changes in directory llvm/tools/gccas:

Makefile updated: 1.22 -> 1.23
---
Log message:

1. Remove libraries no longer created from the list of libraries linked into the
   SparcV9 JIT.
2. Make LLVMTransformUtils a relinked object file and always link it before
   LLVMAnalysis.a.  These two libraries have circular dependencies on each
   other which creates problem when building the SparcV9 JIT.  This change
   fixes the dependency on all platforms problems with a minimum of fuss.



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

 Makefile |2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)


Index: llvm/tools/gccas/Makefile
diff -u llvm/tools/gccas/Makefile:1.22 llvm/tools/gccas/Makefile:1.23
--- llvm/tools/gccas/Makefile:1.22  Sun Oct 23 20:12:14 2005
+++ llvm/tools/gccas/Makefile   Wed Oct 26 15:35:12 2005
@@ -10,7 +10,7 @@
 
 TOOLNAME = gccas
 USEDLIBS = LLVMAsmParser LLVMBCWriter LLVMTransforms.a LLVMipo.a LLVMipa.a \
-   LLVMScalarOpts.a LLVMAnalysis.a LLVMTarget.a LLVMTransformUtils.a \
+   LLVMScalarOpts.a LLVMAnalysis.a LLVMTarget.a LLVMTransformUtils \
LLVMCore LLVMSupport.a LLVMbzip2 LLVMSystem.a
 
 include $(LEVEL)/Makefile.common



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


[llvm-commits] CVS: llvm/tools/bugpoint/Makefile

2005-10-26 Thread John Criswell


Changes in directory llvm/tools/bugpoint:

Makefile updated: 1.14 -> 1.15
---
Log message:

1. Remove libraries no longer created from the list of libraries linked into the
   SparcV9 JIT.
2. Make LLVMTransformUtils a relinked object file and always link it before
   LLVMAnalysis.a.  These two libraries have circular dependencies on each
   other which creates problem when building the SparcV9 JIT.  This change
   fixes the dependency on all platforms problems with a minimum of fuss.



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

 Makefile |2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)


Index: llvm/tools/bugpoint/Makefile
diff -u llvm/tools/bugpoint/Makefile:1.14 llvm/tools/bugpoint/Makefile:1.15
--- llvm/tools/bugpoint/Makefile:1.14   Sun Oct 23 21:31:05 2005
+++ llvm/tools/bugpoint/MakefileWed Oct 26 15:35:12 2005
@@ -14,7 +14,7 @@
 ANALIBS  = LLVMDataStructure LLVMipa.a LLVMTarget.a 
 
 USEDLIBS = LLVMipo.a LLVMScalarOpts.a $(OPTLIBS) $(ANALIBS) LLVMAnalysis.a \
-  LLVMTransformUtils.a \
+  LLVMTransformUtils \
   LLVMAsmParser LLVMLinker.a LLVMBCReader LLVMBCWriter \
   LLVMCore LLVMSupport.a LLVMbzip2 LLVMSystem.a
 



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


[llvm-commits] CVS: llvm/tools/gccld/Makefile

2005-10-26 Thread John Criswell


Changes in directory llvm/tools/gccld:

Makefile updated: 1.12 -> 1.13
---
Log message:

1. Remove libraries no longer created from the list of libraries linked into the
   SparcV9 JIT.
2. Make LLVMTransformUtils a relinked object file and always link it before
   LLVMAnalysis.a.  These two libraries have circular dependencies on each
   other which creates problem when building the SparcV9 JIT.  This change
   fixes the dependency on all platforms problems with a minimum of fuss.



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

 Makefile |2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)


Index: llvm/tools/gccld/Makefile
diff -u llvm/tools/gccld/Makefile:1.12 llvm/tools/gccld/Makefile:1.13
--- llvm/tools/gccld/Makefile:1.12  Sun Apr 24 12:43:38 2005
+++ llvm/tools/gccld/Makefile   Wed Oct 26 15:35:12 2005
@@ -11,7 +11,7 @@
 
 TOOLNAME = gccld
 USEDLIBS = LLVMipo.a LLVMTransforms.a LLVMScalarOpts.a LLVMAnalysis.a \
-   LLVMipa.a LLVMTransformUtils.a LLVMTarget.a LLVMLinker.a \
+   LLVMipa.a LLVMTransformUtils LLVMTarget.a LLVMLinker.a \
LLVMArchive.a LLVMBCReader LLVMBCWriter \
LLVMCore LLVMSupport.a LLVMbzip2 LLVMSystem.a
 



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


[llvm-commits] CVS: llvm/Makefile.rules

2005-10-26 Thread John Criswell


Changes in directory llvm:

Makefile.rules updated: 1.333 -> 1.334
---
Log message:

1. Remove libraries no longer created from the list of libraries linked into the
   SparcV9 JIT.
2. Make LLVMTransformUtils a relinked object file and always link it before
   LLVMAnalysis.a.  These two libraries have circular dependencies on each
   other which creates problem when building the SparcV9 JIT.  This change
   fixes the dependency on all platforms problems with a minimum of fuss.


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

 Makefile.rules |6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)


Index: llvm/Makefile.rules
diff -u llvm/Makefile.rules:1.333 llvm/Makefile.rules:1.334
--- llvm/Makefile.rules:1.333   Tue Oct 25 12:54:19 2005
+++ llvm/Makefile.rules Wed Oct 26 15:35:01 2005
@@ -588,9 +588,9 @@
 # What the Sparc JIT requires
 ifdef ENABLE_SPARCV9_JIT
   JIT_LIBS += LLVMSparcV9 LLVMSparcV9ModuloSched LLVMSparcV9InstrSched \
-  LLVMSparcV9LiveVar LLVMInstrumentation.a LLVMProfilePaths \
+  LLVMSparcV9LiveVar LLVMInstrumentation.a \
   LLVMBCWriter LLVMTransforms.a LLVMipo.a LLVMipa.a \
-  LLVMDataStructure.a LLVMSparcV9RegAlloc
+  LLVMDataStructure LLVMSparcV9RegAlloc
 endif
 
 # You can enable the PowerPC JIT on a non-PowerPC host by setting the flag
@@ -617,7 +617,7 @@
   JIT_LIBS += LLVMAlpha LLVMSelectionDAG
 endif
 
-LLVMLIBS := $(JIT_LIBS) LLVMScalarOpts.a LLVMTransformUtils.a LLVMAnalysis.a \
+LLVMLIBS := $(JIT_LIBS) LLVMScalarOpts.a LLVMTransformUtils LLVMAnalysis.a \
 LLVMBCReader LLVMCore LLVMSupport.a LLVMTarget.a LLVMbzip2 \
 LLVMSystem.a $(PLATFORMLIBDL)
 endif



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


[llvm-commits] CVS: llvm/projects/Stacker/tools/stkrc/Makefile

2005-10-26 Thread Chris Lattner


Changes in directory llvm/projects/Stacker/tools/stkrc:

Makefile updated: 1.8 -> 1.9
---
Log message:

Make sure to build things in the right order, build with the .o file, not the
.a file to unbreak the build after john's change


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

 Makefile |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)


Index: llvm/projects/Stacker/tools/stkrc/Makefile
diff -u llvm/projects/Stacker/tools/stkrc/Makefile:1.8 
llvm/projects/Stacker/tools/stkrc/Makefile:1.9
--- llvm/projects/Stacker/tools/stkrc/Makefile:1.8  Sun Oct 23 20:52:15 2005
+++ llvm/projects/Stacker/tools/stkrc/Makefile  Wed Oct 26 19:53:16 2005
@@ -9,8 +9,8 @@
 # Give the name of a library.  This will build a dynamic version.
 #
 TOOLNAME = stkrc
-LLVMLIBS = LLVMAsmParser LLVMBCWriter LLVMTransforms.a LLVMipo.a LLVMipa.a \
-  LLVMScalarOpts.a LLVMAnalysis.a LLVMTarget.a LLVMTransformUtils.a \
+LLVMLIBS = LLVMAsmParser LLVMBCWriter LLVMipo.a \
+  LLVMScalarOpts.a LLVMTransforms.a LLVMTransformUtils LLVMipa.a 
LLVMAnalysis.a LLVMTarget.a \
   LLVMCore LLVMSupport.a LLVMbzip2 LLVMSystem.a 
 CONFIG_FILES = st
 EXTRA_DIST = st



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


[llvm-commits] CVS: llvm/win32/dobison.cmd doflex.cmd

2005-10-26 Thread Jeff Cohen


Changes in directory llvm/win32:

dobison.cmd updated: 1.1 -> 1.2
doflex.cmd updated: 1.1 -> 1.2
---
Log message:

Fine tune Visual Studio's use of bison/flex.

---
Diffs of the changes:  (+19 -18)

 dobison.cmd |   20 ++--
 doflex.cmd  |   17 +
 2 files changed, 19 insertions(+), 18 deletions(-)


Index: llvm/win32/dobison.cmd
diff -u llvm/win32/dobison.cmd:1.1 llvm/win32/dobison.cmd:1.2
--- llvm/win32/dobison.cmd:1.1  Wed Oct 26 00:37:35 2005
+++ llvm/win32/dobison.cmd  Wed Oct 26 20:10:37 2005
@@ -7,16 +7,16 @@
 
 if "%2"=="debug" (set flags=-tvdo) else (set flags=-vdo)
 
-rem Try and run bison.  If it is present, great.
-bison -p%1 %flags%%3.cpp %4
-if errorlevel 1 goto error
-move %3.hpp %3.h
-goto done
+rem Test for presence of bison.
+bison --help >NUL
+if errorlevel 1 goto nobison
 
-:error
-echo Bison could not run.  Using pre-generated files.
+rem Run bison.
+bison -p%1 %flags%%3.cpp %4 && move %3.hpp %3.h
+exit
+
+:nobison
+echo Bison not found.  Using pre-generated files.
 copy %~pn4.cpp %3.cpp
 copy %~pn4.h %3.h
-
-:done
-exit 0
+exit


Index: llvm/win32/doflex.cmd
diff -u llvm/win32/doflex.cmd:1.1 llvm/win32/doflex.cmd:1.2
--- llvm/win32/doflex.cmd:1.1   Wed Oct 26 00:37:35 2005
+++ llvm/win32/doflex.cmd   Wed Oct 26 20:10:37 2005
@@ -6,14 +6,15 @@
 
 if "%1"=="debug" (set flags=-t) else (set flags=-t)
 
-rem Try and run flex.  If it is present, great.
+rem Test for presence of flex.
+flex --help >NUL
+if errorlevel 1 goto noflex
+
+rem Run flex.
 flex %flags% >%2.cpp %3
-if errorlevel 1 goto error
-goto done
+exit
 
-:error
-echo Flex could not run.  Using pre-generated files.
+:noflex
+echo Flex not found.  Using pre-generated files.
 copy %~pn3.cpp %2.cpp
-
-:done
-exit 0
+exit



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


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

2005-10-26 Thread Jeff Cohen


Changes in directory llvm/win32/Configure:

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

Fine tune Visual Studio's use of bison/flex.

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

 Configure.vcproj |8 
 1 files changed, 4 insertions(+), 4 deletions(-)


Index: llvm/win32/Configure/Configure.vcproj
diff -u llvm/win32/Configure/Configure.vcproj:1.9 
llvm/win32/Configure/Configure.vcproj:1.10
--- llvm/win32/Configure/Configure.vcproj:1.9   Wed Oct 26 09:48:53 2005
+++ llvm/win32/Configure/Configure.vcproj   Wed Oct 26 20:10:37 2005
@@ -102,7 +102,7 @@



@@ -113,7 +113,7 @@



@@ -124,7 +124,7 @@



@@ -135,7 +135,7 @@






___
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-10-26 Thread Jeff Cohen


Changes in directory llvm/win32/TableGen:

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

Fine tune Visual Studio's use of bison/flex.

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

 TableGen.vcproj |   10 --
 1 files changed, 4 insertions(+), 6 deletions(-)


Index: llvm/win32/TableGen/TableGen.vcproj
diff -u llvm/win32/TableGen/TableGen.vcproj:1.17 
llvm/win32/TableGen/TableGen.vcproj:1.18
--- llvm/win32/TableGen/TableGen.vcproj:1.17Wed Oct 26 00:37:35 2005
+++ llvm/win32/TableGen/TableGen.vcproj Wed Oct 26 20:10:37 2005
@@ -161,18 +161,16 @@

+   CommandLine="..\dobison.cmd 
File debug $(InputName) $(InputPath)"
+   
Outputs="$(InputName).cpp;$(InputName).h;$(InputName).output"/>



+   CommandLine="..\dobison.cmd 
File release $(InputName) $(InputPath)"
+   
Outputs="$(InputName).cpp;$(InputName).h;$(InputName).output"/>


http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


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

2005-10-26 Thread Jeff Cohen


Changes in directory llvm/win32/AsmParser:

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

Fine tune Visual Studio's use of bison/flex.

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

 AsmParser.vcproj |   10 --
 1 files changed, 4 insertions(+), 6 deletions(-)


Index: llvm/win32/AsmParser/AsmParser.vcproj
diff -u llvm/win32/AsmParser/AsmParser.vcproj:1.6 
llvm/win32/AsmParser/AsmParser.vcproj:1.7
--- llvm/win32/AsmParser/AsmParser.vcproj:1.6   Wed Oct 26 00:37:35 2005
+++ llvm/win32/AsmParser/AsmParser.vcproj   Wed Oct 26 20:10:37 2005
@@ -133,18 +133,16 @@

+   CommandLine="..\dobison.cmd 
llvmAsm debug $(InputName) $(InputPath)"
+   
Outputs="$(InputName).cpp;$(InputName).h;$(InputName).output"/>



+   CommandLine="..\dobison.cmd 
llvmAsm release $(InputName) $(InputPath)"
+   
Outputs="$(InputName).cpp;$(InputName).h;$(InputName).output"/>


http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


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

2005-10-26 Thread Chris Lattner


Changes in directory llvm/lib/CodeGen/SelectionDAG:

DAGCombiner.cpp updated: 1.55 -> 1.56
---
Log message:

Add a simple xform that is useful for bitfield operations.


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

 DAGCombiner.cpp |9 +
 1 files changed, 9 insertions(+)


Index: llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
diff -u llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:1.55 
llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:1.56
--- llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:1.55  Tue Oct 25 13:57:30 2005
+++ llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp   Thu Oct 27 00:06:38 2005
@@ -1103,7 +1103,16 @@
 if (N01C)
   return DAG.getNode(ISD::OR, VT, N0.getOperand(0),
  DAG.getConstant(N1C->getValue()|N01C->getValue(), 
VT));
+  } else if (N1C && N0.getOpcode() == ISD::AND && N0.Val->hasOneUse() &&
+ isa(N0.getOperand(1))) {
+// Canonicalize (or (and X, c1), c2) -> (and (or X, c2), c1|c2)
+ConstantSDNode *C1 = cast(N0.getOperand(1));
+return DAG.getNode(ISD::AND, VT, DAG.getNode(ISD::OR, VT, N0.getOperand(0),
+ N1),
+   DAG.getConstant(N1C->getValue() | C1->getValue(), VT));
   }
+  
+  
   // fold (or (setcc x), (setcc y)) -> (setcc (or x, y))
   if (isSetCCEquivalent(N0, LL, LR, CC0) && isSetCCEquivalent(N1, RL, RR, 
CC1)){
 ISD::CondCode Op0 = cast(CC0)->get();



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


[llvm-commits] CVS: llvm/lib/Transforms/Scalar/InstructionCombining.cpp

2005-10-26 Thread Chris Lattner


Changes in directory llvm/lib/Transforms/Scalar:

InstructionCombining.cpp updated: 1.393 -> 1.394
---
Log message:

Minor change to this file to support obscure cases with constant array amounts


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

 InstructionCombining.cpp |   21 -
 1 files changed, 16 insertions(+), 5 deletions(-)


Index: llvm/lib/Transforms/Scalar/InstructionCombining.cpp
diff -u llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.393 
llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.394
--- llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.393   Wed Oct 26 
12:18:16 2005
+++ llvm/lib/Transforms/Scalar/InstructionCombining.cpp Thu Oct 27 00:53:56 2005
@@ -1709,7 +1709,6 @@
   return InsertNewInstBefore(New, I);
 }
 
-
 Instruction *InstCombiner::visitAnd(BinaryOperator &I) {
   bool Changed = SimplifyCommutative(I);
   Value *Op0 = I.getOperand(0), *Op1 = I.getOperand(1);
@@ -3776,7 +3775,7 @@
 Instruction *InstCombiner::PromoteCastOfAllocation(CastInst &CI,
AllocationInst &AI) {
   const PointerType *PTy = dyn_cast(CI.getType());
-  if (AI.isArrayAllocation() || !PTy) return 0;
+  if (!PTy) return 0;   // Not casting the allocation to a pointer type.
   
   // Remove any uses of AI that are dead.
   assert(!CI.use_empty() && "Dead instructions should be removed earlier!");
@@ -3813,12 +3812,23 @@
 
   uint64_t AllocElTySize = TD->getTypeSize(AllocElTy);
   uint64_t CastElTySize = TD->getTypeSize(CastElTy);
+  if (CastElTySize == 0 || AllocElTySize == 0) return 0;
 
   // If the allocation is for an even multiple of the cast type size
-  if (CastElTySize == 0 || AllocElTySize % CastElTySize != 0)
+  Value *Amt = 0;
+  if (AllocElTySize % CastElTySize == 0) {
+Amt = ConstantUInt::get(Type::UIntTy, AllocElTySize/CastElTySize);
+if (ConstantUInt *CI = dyn_cast(AI.getOperand(0)))
+  Amt = ConstantExpr::getMul(CI, cast(Amt));
+else {
+  // Perform an explicit scale.
+  Instruction *Tmp = BinaryOperator::createMul(Amt, 
AI.getOperand(0),"tmp");
+  Amt = InsertNewInstBefore(Tmp, AI);
+}
+  } else {
 return 0;
-  Value *Amt = ConstantUInt::get(Type::UIntTy,
- AllocElTySize/CastElTySize);
+  }
+  
   std::string Name = AI.getName(); AI.setName("");
   AllocationInst *New;
   if (isa(AI))
@@ -4061,6 +4071,7 @@
 break;
   }
 }
+  
   return 0;
 }
 



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


[llvm-commits] CVS: llvm/lib/Transforms/Scalar/InstructionCombining.cpp

2005-10-26 Thread Chris Lattner


Changes in directory llvm/lib/Transforms/Scalar:

InstructionCombining.cpp updated: 1.394 -> 1.395
---
Log message:

Promote cases like cast (malloc sbyte, 100) to int* into 
(malloc [25 x int]) directly without having to convert to 
(malloc [100 x sbyte]) first.


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

 InstructionCombining.cpp |   23 ++-
 1 files changed, 22 insertions(+), 1 deletion(-)


Index: llvm/lib/Transforms/Scalar/InstructionCombining.cpp
diff -u llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.394 
llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.395
--- llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.394   Thu Oct 27 
00:53:56 2005
+++ llvm/lib/Transforms/Scalar/InstructionCombining.cpp Thu Oct 27 01:12:00 2005
@@ -3826,7 +3826,28 @@
   Amt = InsertNewInstBefore(Tmp, AI);
 }
   } else {
-return 0;
+// See if we can satisfy the modulus by pulling a scale out of the array
+// size argument.
+unsigned ArraySizeScale = 1;
+Value *NumElements = AI.getOperand(0);
+
+if (ConstantUInt *CI = dyn_cast(NumElements)) {
+  ArraySizeScale = CI->getValue();
+  NumElements = ConstantUInt::get(Type::UIntTy, 1);
+}
+
+// If we can now satisfy the modulus, by using a non-1 scale, we really can
+// do the xform.
+if ((AllocElTySize*ArraySizeScale) % CastElTySize != 0) return 0;
+
+Amt = ConstantUInt::get(Type::UIntTy, 
+(AllocElTySize*ArraySizeScale)/CastElTySize);
+if (ConstantUInt *CI = dyn_cast(NumElements))
+  Amt = ConstantExpr::getMul(CI, cast(Amt));
+else {
+  Instruction *Tmp = BinaryOperator::createMul(Amt, NumElements, "tmp");
+  Amt = InsertNewInstBefore(Tmp, AI);
+}
   }
   
   std::string Name = AI.getName(); AI.setName("");



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


[llvm-commits] CVS: llvm/lib/Transforms/Scalar/InstructionCombining.cpp

2005-10-26 Thread Chris Lattner


Changes in directory llvm/lib/Transforms/Scalar:

InstructionCombining.cpp updated: 1.395 -> 1.396
---
Log message:

Teach instcombine to promote stuff like (cast (malloc sbyte, 8*X) to int*)
into: malloc int, (2*X)



---
Diffs of the changes:  (+26 -7)

 InstructionCombining.cpp |   33 ++---
 1 files changed, 26 insertions(+), 7 deletions(-)


Index: llvm/lib/Transforms/Scalar/InstructionCombining.cpp
diff -u llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.395 
llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.396
--- llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.395   Thu Oct 27 
01:12:00 2005
+++ llvm/lib/Transforms/Scalar/InstructionCombining.cpp Thu Oct 27 01:24:46 2005
@@ -3834,19 +3834,38 @@
 if (ConstantUInt *CI = dyn_cast(NumElements)) {
   ArraySizeScale = CI->getValue();
   NumElements = ConstantUInt::get(Type::UIntTy, 1);
+} else if (ShiftInst *SI = dyn_cast(NumElements)) {
+  if (SI->getOpcode() == Instruction::Shl)
+if (ConstantUInt *CUI = dyn_cast(SI->getOperand(1))) {
+  // This is a value scaled by '1 << the shift amt'.
+  NumElements = SI->getOperand(0);
+  ArraySizeScale = 1U << CUI->getValue();
+}
+} else if (isa(NumElements) &&
+   cast(NumElements)->getOpcode() == 
Instruction::Mul){
+  BinaryOperator *BO = cast(NumElements);
+  if (ConstantUInt *Scale = cast(BO->getOperand(1))) {
+// This value is scaled by 'Scale'.
+NumElements = BO->getOperand(0);
+ArraySizeScale = Scale->getValue();
+  }
 }
 
 // If we can now satisfy the modulus, by using a non-1 scale, we really can
 // do the xform.
 if ((AllocElTySize*ArraySizeScale) % CastElTySize != 0) return 0;
 
-Amt = ConstantUInt::get(Type::UIntTy, 
-(AllocElTySize*ArraySizeScale)/CastElTySize);
-if (ConstantUInt *CI = dyn_cast(NumElements))
-  Amt = ConstantExpr::getMul(CI, cast(Amt));
-else {
-  Instruction *Tmp = BinaryOperator::createMul(Amt, NumElements, "tmp");
-  Amt = InsertNewInstBefore(Tmp, AI);
+unsigned Scale = (AllocElTySize*ArraySizeScale)/CastElTySize;
+if (Scale == 1) {
+  Amt = NumElements;
+} else {
+  Amt = ConstantUInt::get(Type::UIntTy, Scale);
+  if (ConstantUInt *CI = dyn_cast(NumElements))
+Amt = ConstantExpr::getMul(CI, cast(Amt));
+  else if (cast(Amt)->getValue() == 1) {
+Instruction *Tmp = BinaryOperator::createMul(Amt, NumElements, "tmp");
+Amt = InsertNewInstBefore(Tmp, AI);
+  }
 }
   }
   



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


[llvm-commits] CVS: llvm/lib/Transforms/Scalar/InstructionCombining.cpp

2005-10-26 Thread Chris Lattner


Changes in directory llvm/lib/Transforms/Scalar:

InstructionCombining.cpp updated: 1.396 -> 1.397
---
Log message:

Fix typo


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

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


Index: llvm/lib/Transforms/Scalar/InstructionCombining.cpp
diff -u llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.396 
llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.397
--- llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.396   Thu Oct 27 
01:24:46 2005
+++ llvm/lib/Transforms/Scalar/InstructionCombining.cpp Thu Oct 27 01:26:26 2005
@@ -3844,7 +3844,7 @@
 } else if (isa(NumElements) &&
cast(NumElements)->getOpcode() == 
Instruction::Mul){
   BinaryOperator *BO = cast(NumElements);
-  if (ConstantUInt *Scale = cast(BO->getOperand(1))) {
+  if (ConstantUInt *Scale = dyn_cast(BO->getOperand(1))) {
 // This value is scaled by 'Scale'.
 NumElements = BO->getOperand(0);
 ArraySizeScale = Scale->getValue();



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