[llvm-commits] CVS: llvm/test/CFrontend/2007-05-07-PaddingElements.c

2007-05-08 Thread Devang Patel


Changes in directory llvm/test/CFrontend:

2007-05-07-PaddingElements.c added (r1.1)
---
Log message:

New test.


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

 2007-05-07-PaddingElements.c |   12 
 1 files changed, 12 insertions(+)


Index: llvm/test/CFrontend/2007-05-07-PaddingElements.c
diff -c /dev/null llvm/test/CFrontend/2007-05-07-PaddingElements.c:1.1
*** /dev/null   Tue May  8 01:10:22 2007
--- llvm/test/CFrontend/2007-05-07-PaddingElements.cTue May  8 01:10:12 2007
***
*** 0 
--- 1,12 
+ // PR 1278
+ // RUN: %llvmgcc %s -S -emit-llvm -O0 -o - | not grep 4 x i8] 
zeroinitializer
+ // RUN: %llvmgcc %s -S -emit-llvm -O0 -o - | not grep i32 0, i32 2
+ struct s {
+   double d1;
+   int s1;
+ };
+ 
+ struct s foo(void) {
+   struct s S = {1.1, 2};
+   return S;
+ }



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


[llvm-commits] [126997] Fix PR1278.

2007-05-08 Thread dpatel
Revision: 126997
Author:   dpatel
Date: 2007-05-07 23:15:09 -0700 (Mon, 07 May 2007)

Log Message:
---
Fix PR1278.

- While adding padding elements at the end of LLVM struct use
  an array of i32 (instead of an array of i8) if possible.

- Keep track of padding elements at the end of LLVM struct.
  Do not copy them while copying aggregates.

Modified Paths:
--
apple-local/branches/llvm/gcc/llvm-convert.cpp
apple-local/branches/llvm/gcc/llvm-internal.h
apple-local/branches/llvm/gcc/llvm-types.cpp

Modified: apple-local/branches/llvm/gcc/llvm-convert.cpp
===
--- apple-local/branches/llvm/gcc/llvm-convert.cpp  2007-05-08 05:09:41 UTC 
(rev 126996)
+++ apple-local/branches/llvm/gcc/llvm-convert.cpp  2007-05-08 06:15:09 UTC 
(rev 126997)
@@ -1085,6 +1085,8 @@
   } else if (const StructType *STy = dyn_castStructType(ElTy)) {
 Constant *Zero = ConstantInt::get(Type::Int32Ty, 0);
 for (unsigned i = 0, e = STy-getNumElements(); i != e; ++i) {
+  if (isPaddingElement(STy, i))
+continue;
   Constant *Idx = ConstantInt::get(Type::Int32Ty, i);
   Value *DElPtr = new GetElementPtrInst(DestPtr, Zero, Idx, tmp, CurBB);
   Value *SElPtr = new GetElementPtrInst(SrcPtr, Zero, Idx, tmp, CurBB);

Modified: apple-local/branches/llvm/gcc/llvm-internal.h
===
--- apple-local/branches/llvm/gcc/llvm-internal.h   2007-05-08 05:09:41 UTC 
(rev 126996)
+++ apple-local/branches/llvm/gcc/llvm-internal.h   2007-05-08 06:15:09 UTC 
(rev 126997)
@@ -96,6 +96,10 @@
 
 struct StructTypeConversionInfo;
 
+/// Return true if and only if field no. N from struct type T is a padding
+/// element added to match llvm struct type size and gcc struct type size.
+bool isPaddingElement(const Type *T, unsigned N);
+
 /// TypeConverter - Implement the converter from GCC types to LLVM types.
 ///
 class TypeConverter {

Modified: apple-local/branches/llvm/gcc/llvm-types.cpp
===
--- apple-local/branches/llvm/gcc/llvm-types.cpp2007-05-08 05:09:41 UTC 
(rev 126996)
+++ apple-local/branches/llvm/gcc/llvm-types.cpp2007-05-08 06:15:09 UTC 
(rev 126997)
@@ -893,6 +893,7 @@
   std::vectorconst Type* Elements;
   std::vectoruint64_t ElementOffsetInBytes;
   std::vectoruint64_t ElementSizeInBytes;
+  std::vectorbool PaddingElement; // True if field is used for padding
   const TargetData TD;
   unsigned GCCStructAlignmentInBytes;
   bool Packed; // True if struct is packed
@@ -1071,10 +1072,12 @@
   
   /// addElement - Add an element to the structure with the specified type,
   /// offset and size.
-  void addElement(const Type *Ty, uint64_t Offset, uint64_t Size) {
+  void addElement(const Type *Ty, uint64_t Offset, uint64_t Size,
+  bool ExtraPadding = false) {
 Elements.push_back(Ty);
 ElementOffsetInBytes.push_back(Offset);
 ElementSizeInBytes.push_back(Size);
+PaddingElement.push_back(ExtraPadding);
 lastFieldStartsAtNonByteBoundry(false);
 ExtraBitsAvailable = 0;
   }
@@ -1223,7 +1226,25 @@
   }
 }
 
+std::mapconst Type *, StructTypeConversionInfo * StructTypeInfoMap;
 
+/// Return true if and only if field no. N from struct type T is a padding
+/// element added to match llvm struct type size and gcc struct type size.
+bool isPaddingElement(const Type *Ty, unsigned index) {
+  
+  StructTypeConversionInfo *Info = StructTypeInfoMap[Ty];
+
+  // If info is not available then be conservative and return false.
+  if (!Info)
+return false;
+
+  assert ( Info-Elements.size() == Info-PaddingElement.size()
+Invalid StructTypeConversionInfo);
+  assert ( index  Info-PaddingElement.size()  
+Invalid PaddingElement index);
+  return Info-PaddingElement[index];
+}
+
 /// getFieldOffsetInBits - Return the offset (in bits) of a FIELD_DECL in a
 /// structure.
 static unsigned getFieldOffsetInBits(tree Field) {
@@ -1417,29 +1438,46 @@
   ConvertType(BINFO_TYPE(BINFO_BASE_BINFO(binfo, i)));
   }
   
-  StructTypeConversionInfo Info(*TheTarget, TYPE_ALIGN_UNIT(type), 
-TYPE_PACKED(type));
+  StructTypeConversionInfo *Info = 
+new StructTypeConversionInfo(*TheTarget, TYPE_ALIGN_UNIT(type), 
+ TYPE_PACKED(type));
+
   
   // Convert over all of the elements of the struct.
   for (tree Field = TYPE_FIELDS(type); Field; Field = TREE_CHAIN(Field))
-DecodeStructFields(Field, Info);
+DecodeStructFields(Field, *Info);
 
-  Info.RemoveExtraBytes();
+  Info-RemoveExtraBytes();
   // If the LLVM struct requires explicit tail padding to be the same size as
   // the GCC struct, insert tail padding now.  This handles, e.g., {} in C++.
   if (TYPE_SIZE(type)  TREE_CODE(TYPE_SIZE(type)) == INTEGER_CST) {
-uint64_t 

[llvm-commits] [release_20] CVS: llvm/lib/Bitcode/Writer/BitcodeWriter.cpp

2007-05-08 Thread Tanya Lattner


Changes in directory llvm/lib/Bitcode/Writer:

BitcodeWriter.cpp updated: 1.51 - 1.51.2.1
---
Log message:

Merging from mainline.


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

 BitcodeWriter.cpp |   27 +++
 1 files changed, 23 insertions(+), 4 deletions(-)


Index: llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
diff -u llvm/lib/Bitcode/Writer/BitcodeWriter.cpp:1.51 
llvm/lib/Bitcode/Writer/BitcodeWriter.cpp:1.51.2.1
--- llvm/lib/Bitcode/Writer/BitcodeWriter.cpp:1.51  Sun May  6 14:19:23 2007
+++ llvm/lib/Bitcode/Writer/BitcodeWriter.cpp   Tue May  8 01:36:05 2007
@@ -386,6 +386,12 @@
 Vals.push_back(F-getCallingConv());
 Vals.push_back(F-isDeclaration());
 Vals.push_back(getEncodedLinkage(F));
+
+// Note: we emit the param attr ID number for the function type of this
+// function.  In the future, we intend for attrs to be properties of
+// functions, instead of on the type.  This is to support this future work.
+Vals.push_back(VE.getParamAttrID(F-getFunctionType()-getParamAttrs()));
+
 Vals.push_back(Log2_32(F-getAlignment())+1);
 Vals.push_back(F-hasSection() ? SectionMap[F-getSection()] : 0);
 Vals.push_back(getEncodedVisibility(F));
@@ -736,15 +742,21 @@
   Vals.push_back(VE.getValueID(I.getOperand(i)));
 break;
   case Instruction::Invoke: {
+const PointerType *PTy = castPointerType(I.getOperand(0)-getType());
+const FunctionType *FTy = castFunctionType(PTy-getElementType());
 Code = bitc::FUNC_CODE_INST_INVOKE;
+
+// Note: we emit the param attr ID number for the function type of this
+// function.  In the future, we intend for attrs to be properties of
+// functions, instead of on the type.  This is to support this future work.
+Vals.push_back(VE.getParamAttrID(FTy-getParamAttrs()));
+
 Vals.push_back(castInvokeInst(I).getCallingConv());
 Vals.push_back(VE.getValueID(I.getOperand(1)));  // normal dest
 Vals.push_back(VE.getValueID(I.getOperand(2)));  // unwind dest
 PushValueAndType(I.getOperand(0), InstID, Vals, VE); // callee
 
 // Emit value #'s for the fixed parameters.
-const PointerType *PTy = castPointerType(I.getOperand(0)-getType());
-const FunctionType *FTy = castFunctionType(PTy-getElementType());
 for (unsigned i = 0, e = FTy-getNumParams(); i != e; ++i)
   Vals.push_back(VE.getValueID(I.getOperand(i+3)));  // fixed param.
 
@@ -806,14 +818,21 @@
 Vals.push_back(castStoreInst(I).isVolatile());
 break;
   case Instruction::Call: {
+const PointerType *PTy = castPointerType(I.getOperand(0)-getType());
+const FunctionType *FTy = castFunctionType(PTy-getElementType());
+
 Code = bitc::FUNC_CODE_INST_CALL;
+
+// Note: we emit the param attr ID number for the function type of this
+// function.  In the future, we intend for attrs to be properties of
+// functions, instead of on the type.  This is to support this future work.
+Vals.push_back(VE.getParamAttrID(FTy-getParamAttrs()));
+
 Vals.push_back((castCallInst(I).getCallingConv()  1) |
unsigned(castCallInst(I).isTailCall()));
 PushValueAndType(I.getOperand(0), InstID, Vals, VE);  // Callee
 
 // Emit value #'s for the fixed parameters.
-const PointerType *PTy = castPointerType(I.getOperand(0)-getType());
-const FunctionType *FTy = castFunctionType(PTy-getElementType());
 for (unsigned i = 0, e = FTy-getNumParams(); i != e; ++i)
   Vals.push_back(VE.getValueID(I.getOperand(i+1)));  // fixed param.
   



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


[llvm-commits] [release_20] CVS: llvm/lib/Bitcode/Reader/BitcodeReader.cpp

2007-05-08 Thread Tanya Lattner


Changes in directory llvm/lib/Bitcode/Reader:

BitcodeReader.cpp updated: 1.47 - 1.47.2.1
---
Log message:

Merge from mainline


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

 BitcodeReader.cpp |   41 +
 1 files changed, 25 insertions(+), 16 deletions(-)


Index: llvm/lib/Bitcode/Reader/BitcodeReader.cpp
diff -u llvm/lib/Bitcode/Reader/BitcodeReader.cpp:1.47 
llvm/lib/Bitcode/Reader/BitcodeReader.cpp:1.47.2.1
--- llvm/lib/Bitcode/Reader/BitcodeReader.cpp:1.47  Sun May  6 14:27:46 2007
+++ llvm/lib/Bitcode/Reader/BitcodeReader.cpp   Tue May  8 01:37:35 2007
@@ -985,10 +985,10 @@
 GlobalInits.push_back(std::make_pair(NewGV, InitID-1));
   break;
 }
-// FUNCTION:  [type, callingconv, isproto, linkage, alignment, section,
-// visibility]
+// FUNCTION:  [type, callingconv, isproto, linkage, paramattr,
+// alignment, section, visibility]
 case bitc::MODULE_CODE_FUNCTION: {
-  if (Record.size()  7)
+  if (Record.size()  8)
 return Error(Invalid MODULE_CODE_FUNCTION record);
   const Type *Ty = getTypeByID(Record[0]);
   if (!isaPointerType(Ty))
@@ -1004,13 +1004,17 @@
   Func-setCallingConv(Record[1]);
   bool isProto = Record[2];
   Func-setLinkage(GetDecodedLinkage(Record[3]));
-  Func-setAlignment((1  Record[4])  1);
-  if (Record[5]) {
-if (Record[5]-1 = SectionTable.size())
+  
+  assert(Func-getFunctionType()-getParamAttrs() == 
+ getParamAttrs(Record[4]));
+  
+  Func-setAlignment((1  Record[5])  1);
+  if (Record[6]) {
+if (Record[6]-1 = SectionTable.size())
   return Error(Invalid section ID);
-Func-setSection(SectionTable[Record[5]-1]);
+Func-setSection(SectionTable[Record[6]-1]);
   }
-  Func-setVisibility(GetDecodedVisibility(Record[6]));
+  Func-setVisibility(GetDecodedVisibility(Record[7]));
   
   ValueList.push_back(Func);
   
@@ -1364,12 +1368,12 @@
 }
   
 case bitc::FUNC_CODE_INST_INVOKE: { // INVOKE: [cc,fnty, op0,op1,op2, ...]
-  if (Record.size()  3) return Error(Invalid INVOKE record);
-  unsigned CCInfo = Record[0];
-  BasicBlock *NormalBB = getBasicBlock(Record[1]);
-  BasicBlock *UnwindBB = getBasicBlock(Record[2]);
+  if (Record.size()  4) return Error(Invalid INVOKE record);
+  unsigned CCInfo = Record[1];
+  BasicBlock *NormalBB = getBasicBlock(Record[2]);
+  BasicBlock *UnwindBB = getBasicBlock(Record[3]);
   
-  unsigned OpNum = 3;
+  unsigned OpNum = 4;
   Value *Callee;
   if (getValueTypePair(Record, OpNum, NextValueNo, Callee))
 return Error(Invalid INVOKE record);
@@ -1383,6 +1387,8 @@
   Record.size()  OpNum+FTy-getNumParams())
 return Error(Invalid INVOKE record);
   
+  assert(FTy-getParamAttrs() == getParamAttrs(Record[0]));
+
   SmallVectorValue*, 16 Ops;
   for (unsigned i = 0, e = FTy-getNumParams(); i != e; ++i, ++OpNum) {
 Ops.push_back(getFnValueByID(Record[OpNum], FTy-getParamType(i)));
@@ -1484,11 +1490,12 @@
   break;
 }
 case bitc::FUNC_CODE_INST_CALL: { // CALL: [cc, fnty, fnid, arg0, arg1...]
-  if (Record.size()  1)
+  if (Record.size()  2)
 return Error(Invalid CALL record);
-  unsigned CCInfo = Record[0];
   
-  unsigned OpNum = 1;
+  unsigned CCInfo = Record[1];
+  
+  unsigned OpNum = 2;
   Value *Callee;
   if (getValueTypePair(Record, OpNum, NextValueNo, Callee))
 return Error(Invalid CALL record);
@@ -1499,6 +1506,8 @@
   if (!FTy || Record.size()  FTy-getNumParams()+OpNum)
 return Error(Invalid CALL record);
   
+  assert(FTy-getParamAttrs() == getParamAttrs(Record[0]));
+  
   SmallVectorValue*, 16 Args;
   // Read the fixed params.
   for (unsigned i = 0, e = FTy-getNumParams(); i != e; ++i, ++OpNum) {



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


[llvm-commits] CVS: llvm/test/Transforms/LICM/scalar_promote.ll

2007-05-08 Thread Bill Wendling


Changes in directory llvm/test/Transforms/LICM:

scalar_promote.ll updated: 1.6 - 1.7
---
Log message:

Spare '' in the RUN line.


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

 scalar_promote.ll |2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)


Index: llvm/test/Transforms/LICM/scalar_promote.ll
diff -u llvm/test/Transforms/LICM/scalar_promote.ll:1.6 
llvm/test/Transforms/LICM/scalar_promote.ll:1.7
--- llvm/test/Transforms/LICM/scalar_promote.ll:1.6 Mon Apr 16 16:57:14 2007
+++ llvm/test/Transforms/LICM/scalar_promote.ll Tue May  8 02:49:07 2007
@@ -1,4 +1,4 @@
-; RUN: llvm-upgrade  %s | llvm-as | opt  -licm -stats | \
+; RUN: llvm-upgrade  %s | llvm-as | opt  -licm -stats | \
 ; RUN:grep {memory locations promoted to register}
 
 %X = global int 7



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


[llvm-commits] CVS: llvm-stacker/tools/stkrc/Makefile stkrc.cpp

2007-05-08 Thread Reid Spencer


Changes in directory llvm-stacker/tools/stkrc:

Makefile updated: 1.13 - 1.14
stkrc.cpp updated: 1.13 - 1.14
---
Log message:

Adjust stkrc for change from Bytecode to Bitcode.


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

 Makefile  |2 +-
 stkrc.cpp |5 ++---
 2 files changed, 3 insertions(+), 4 deletions(-)


Index: llvm-stacker/tools/stkrc/Makefile
diff -u llvm-stacker/tools/stkrc/Makefile:1.13 
llvm-stacker/tools/stkrc/Makefile:1.14
--- llvm-stacker/tools/stkrc/Makefile:1.13  Sun Feb  4 16:25:16 2007
+++ llvm-stacker/tools/stkrc/Makefile   Tue May  8 09:41:21 2007
@@ -15,7 +15,7 @@
 
 # Define the link components
 USEDLIBS=stkr_compiler 
-LINK_COMPONENTS = asmparser bcwriter ipo scalaropts \
+LINK_COMPONENTS = asmparser bitwriter ipo scalaropts \
  transformutils ipa analysis target $(TARGETS_TO_BUILD) core
 
 # Define our configuration files


Index: llvm-stacker/tools/stkrc/stkrc.cpp
diff -u llvm-stacker/tools/stkrc/stkrc.cpp:1.13 
llvm-stacker/tools/stkrc/stkrc.cpp:1.14
--- llvm-stacker/tools/stkrc/stkrc.cpp:1.13 Wed Dec  6 19:30:31 2006
+++ llvm-stacker/tools/stkrc/stkrc.cpp  Tue May  8 09:41:21 2007
@@ -19,7 +19,7 @@
 
 #include ../../lib/compiler/StackerCompiler.h
 #include llvm/Assembly/Parser.h
-#include llvm/Bytecode/Writer.h
+#include llvm/Bitcode/ReaderWriter.h
 #include llvm/Analysis/Verifier.h
 #include llvm/Support/CommandLine.h
 #include llvm/Support/Streams.h
@@ -163,8 +163,7 @@
 throw std::string(error opening ) + OutputFilename + !;
   }
 
-  OStream L(*Out);
-  WriteBytecodeToFile(M.get(), L);
+  WriteBitcodeToFile(M.get(), *Out);
 } catch (const ParseError E) {
   cerr  argv[0]  :   E.getMessage()  \n;
   return 1;



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

2007-05-08 Thread Dan Gohman


Changes in directory llvm/lib/Transforms/Scalar:

LoopUnroll.cpp updated: 1.44 - 1.45
---
Log message:

Correct the comment for ApproximateLoopSize to reflect what it actually does.


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

 LoopUnroll.cpp |3 +--
 1 files changed, 1 insertion(+), 2 deletions(-)


Index: llvm/lib/Transforms/Scalar/LoopUnroll.cpp
diff -u llvm/lib/Transforms/Scalar/LoopUnroll.cpp:1.44 
llvm/lib/Transforms/Scalar/LoopUnroll.cpp:1.45
--- llvm/lib/Transforms/Scalar/LoopUnroll.cpp:1.44  Sat May  5 13:49:57 2007
+++ llvm/lib/Transforms/Scalar/LoopUnroll.cpp   Tue May  8 10:14:19 2007
@@ -72,8 +72,7 @@
 
 LoopPass *llvm::createLoopUnrollPass() { return new LoopUnroll(); }
 
-/// ApproximateLoopSize - Approximate the size of the loop after it has been
-/// unrolled.
+/// ApproximateLoopSize - Approximate the size of the loop.
 static unsigned ApproximateLoopSize(const Loop *L) {
   unsigned Size = 0;
   for (unsigned i = 0, e = L-getBlocks().size(); i != e; ++i) {



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

2007-05-08 Thread Dan Gohman


Changes in directory llvm/lib/Transforms/Scalar:

LoopUnroll.cpp updated: 1.45 - 1.46
---
Log message:

Fix various whitespace inconsistencies.


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

 LoopUnroll.cpp |   20 ++--
 1 files changed, 10 insertions(+), 10 deletions(-)


Index: llvm/lib/Transforms/Scalar/LoopUnroll.cpp
diff -u llvm/lib/Transforms/Scalar/LoopUnroll.cpp:1.45 
llvm/lib/Transforms/Scalar/LoopUnroll.cpp:1.46
--- llvm/lib/Transforms/Scalar/LoopUnroll.cpp:1.45  Tue May  8 10:14:19 2007
+++ llvm/lib/Transforms/Scalar/LoopUnroll.cpp   Tue May  8 10:19:19 2007
@@ -50,10 +50,10 @@
 LoopInfo *LI;  // The current loop information
   public:
 static char ID; // Pass ID, replacement for typeid
-LoopUnroll()  : LoopPass((intptr_t)ID) {}
+LoopUnroll() : LoopPass((intptr_t)ID) {}
 
 bool runOnLoop(Loop *L, LPPassManager LPM);
-BasicBlock* FoldBlockIntoPredecessor(BasicBlock* BB);
+BasicBlock *FoldBlockIntoPredecessor(BasicBlock *BB);
 
 /// This transformation requires natural loop information  requires that
 /// loop preheaders be inserted into the CFG...
@@ -114,7 +114,7 @@
 // FoldBlockIntoPredecessor - Folds a basic block into its predecessor if it
 // only has one predecessor, and that predecessor only has one successor.
 // Returns the new combined block.
-BasicBlock* LoopUnroll::FoldBlockIntoPredecessor(BasicBlock* BB) {
+BasicBlock *LoopUnroll::FoldBlockIntoPredecessor(BasicBlock *BB) {
   // Merge basic blocks into their predecessor if there is only one distinct
   // pred, and if there is only one distinct successor of the predecessor, and
   // if there are no PHI nodes.
@@ -165,8 +165,8 @@
   bool Changed = false;
   LI = getAnalysisLoopInfo();
 
-  BasicBlock* Header = L-getHeader();
-  BasicBlock* LatchBlock = L-getLoopLatch();
+  BasicBlock *Header = L-getHeader();
+  BasicBlock *LatchBlock = L-getLoopLatch();
 
   BranchInst *BI = dyn_castBranchInst(LatchBlock-getTerminator());
   if (BI == 0) return Changed;  // Must end in a conditional branch
@@ -262,10 +262,10 @@
   if (*BB != LatchBlock)
 for (Value::use_iterator UI = (*BB)-use_begin(), UE = 
(*BB)-use_end();
  UI != UE; ++UI) {
-  Instruction* UseInst = castInstruction(*UI);
+  Instruction *UseInst = castInstruction(*UI);
   if (isaPHINode(UseInst)  !L-contains(UseInst-getParent())) {
-PHINode* phi = castPHINode(UseInst);
-Value* Incoming = phi-getIncomingValueForBlock(*BB);
+PHINode *phi = castPHINode(UseInst);
+Value *Incoming = phi-getIncomingValueForBlock(*BB);
 if (isaInstruction(Incoming))
   Incoming = LastValueMap[Incoming];
   
@@ -298,7 +298,7 @@
 SmallPtrSetPHINode*, 8 Users;
 for (Value::use_iterator UI = LatchBlock-use_begin(),
  UE = LatchBlock-use_end(); UI != UE; ++UI)
-  if (PHINode* phi = dyn_castPHINode(*UI))
+  if (PHINode *phi = dyn_castPHINode(*UI))
 Users.insert(phi);
 
 BasicBlock *LastIterationBB = castBasicBlock(LastValueMap[LatchBlock]);
@@ -328,7 +328,7 @@
   //  Insert the branches that link the different iterations together
   for (unsigned i = 0; i  Latches.size()-1; ++i) {
 new BranchInst(Headers[i+1], Latches[i]);
-if(BasicBlock* Fold = FoldBlockIntoPredecessor(Headers[i+1])) {
+if (BasicBlock *Fold = FoldBlockIntoPredecessor(Headers[i+1])) {
   std::replace(Latches.begin(), Latches.end(), Headers[i+1], Fold);
   std::replace(Headers.begin(), Headers.end(), Headers[i+1], Fold);
 }



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


[llvm-commits] CVS: llvm-stacker/autoconf/AutoRegen.sh configure.ac

2007-05-08 Thread Reid Spencer


Changes in directory llvm-stacker/autoconf:

AutoRegen.sh updated: 1.1 - 1.2
configure.ac updated: 1.4 - 1.5
---
Log message:

CHanges for autconf 2.60


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

 AutoRegen.sh |   52 +++-
 configure.ac |   32 +++-
 2 files changed, 62 insertions(+), 22 deletions(-)


Index: llvm-stacker/autoconf/AutoRegen.sh
diff -u llvm-stacker/autoconf/AutoRegen.sh:1.1 
llvm-stacker/autoconf/AutoRegen.sh:1.2
--- llvm-stacker/autoconf/AutoRegen.sh:1.1  Sat Sep  4 14:48:50 2004
+++ llvm-stacker/autoconf/AutoRegen.sh  Tue May  8 10:22:59 2007
@@ -4,15 +4,49 @@
exit 1
 }
 test -d autoconf  test -f autoconf/configure.ac  cd autoconf
-[ -f configure.ac ] || die Can't find 'autoconf' dir; please cd into it first
-echo Regenerating aclocal.m4 with aclocal
-aclocal || die aclocal failed
-autoconf --version | egrep '2\.5[0-9]'  /dev/null
-if test $? -ne 0
-then
-   die Your autoconf was not detected as being 2.5x
+test -f configure.ac || die Can't find 'autoconf' dir; please cd into it 
first
+autoconf --version | egrep '2\.6[0-9]'  /dev/null
+if test $? -ne 0 ; then
+  die Your autoconf was not detected as being 2.6x
+fi
+cwd=`pwd`
+if test -d ../../../autoconf/m4 ; then
+  cd ../../../autoconf/m4
+  llvm_m4=`pwd`
+  llvm_src_root=../../..
+  llvm_obj_root=../../..
+  cd $cwd
+elif test -d ../../llvm/autoconf/m4 ; then
+  cd ../../llvm/autoconf/m4
+  llvm_m4=`pwd`
+  llvm_src_root=../..
+  llvm_obj_root=../..
+  cd $cwd
+else
+  while true ; do
+echo LLVM source root not found. 
+read -p Enter full path to LLVM source:
+if test -d $REPLY/autoconf/m4 ; then
+  llvm_src_root=$REPLY
+  llvm_m4=$REPLY/autoconf/m4
+  read -p Enter full path to LLVM objects (empty for same as source):
+  if test -d $REPLY ; then
+llvm_obj_root=$REPLY
+  else
+llvm_obj_root=$llvm_src_root
+  fi
+  break
+fi
+  done
 fi
-echo Regenerating configure with autoconf 2.5x
-autoconf -o ../configure configure.ac || die autoconf failed
+# Patch the LLVM_ROOT in configure.ac, if it needs it
+cp configure.ac configure.bak
+sed -e s#^LLVM_SRC_ROOT=.*#LLVM_SRC_ROOT=\$llvm_src_root\# \
+-e s#^LLVM_OBJ_ROOT=.*#LLVM_OBJ_ROOT=\$llvm_obj_root\# configure.bak  
configure.ac
+echo Regenerating aclocal.m4 with aclocal
+rm -f aclocal.m4
+aclocal -I $llvm_m4 -I $llvm_m4/.. || die aclocal failed
+echo Regenerating configure with autoconf 2.6x
+autoconf --warnings=all -o ../configure configure.ac || die autoconf failed
 cd ..
 exit 0


Index: llvm-stacker/autoconf/configure.ac
diff -u llvm-stacker/autoconf/configure.ac:1.4 
llvm-stacker/autoconf/configure.ac:1.5
--- llvm-stacker/autoconf/configure.ac:1.4  Mon Dec 27 02:51:55 2004
+++ llvm-stacker/autoconf/configure.ac  Tue May  8 10:22:59 2007
@@ -1,7 +1,7 @@
 dnl **
 dnl * Initialize
 dnl **
-AC_INIT([[[Stacker]]],[[[1.0]]],[EMAIL PROTECTED])
+AC_INIT([[[Stacker]]],[[[2.0]]],[EMAIL PROTECTED])
 
 dnl Place all of the extra autoconf files into the config subdirectory
 AC_CONFIG_AUX_DIR([autoconf])
@@ -11,16 +11,6 @@
 
 AC_CONFIG_FILES([Makefile.common])
 
-dnl Configure Makefiles
-dnl List every Makefile that exists within your source tree
-
-AC_CONFIG_MAKEFILE(Makefile)
-AC_CONFIG_MAKEFILE(lib/Makefile)
-AC_CONFIG_MAKEFILE(lib/compiler/Makefile)
-AC_CONFIG_MAKEFILE(lib/runtime/Makefile)
-AC_CONFIG_MAKEFILE(test/Makefile)
-AC_CONFIG_MAKEFILE(tools/Makefile)
-AC_CONFIG_MAKEFILE(tools/stkrc/Makefile)
 
 dnl **
 dnl * Determine which system we are building on
@@ -68,12 +58,28 @@
 dnl **
 
 dnl Location of LLVM source code
-AC_ARG_WITH(llvmsrc,AC_HELP_STRING([--with-llvmsrc],[Location of LLVM Source 
Code]),AC_SUBST(LLVM_SRC,[$withval]),AC_SUBST(LLVM_SRC,[`cd ${srcdir}/../..; 
pwd`]))
+AC_ARG_WITH(llvmsrc,AS_HELP_STRING([--with-llvmsrc],[Location of LLVM Source 
Code]),AC_SUBST(LLVM_SRC,[$withval]),AC_SUBST(LLVM_SRC,[`cd ${srcdir}/../..; 
pwd`]))
+AC_CONFIG_COMMANDS([llvm_src],[],[llvm_src=$LLVM_SRC])
 
 dnl Location of LLVM object code
-AC_ARG_WITH(llvmobj,AC_HELP_STRING([--with-llvmobj],[Location of LLVM Object 
Code]),AC_SUBST(LLVM_OBJ,[$withval]),AC_SUBST(LLVM_OBJ,[`cd ../..; pwd`]))
+AC_ARG_WITH(llvmobj,AS_HELP_STRING([--with-llvmobj],[Location of LLVM Object 
Code]),AC_SUBST(LLVM_OBJ,[$withval]),AC_SUBST(LLVM_OBJ,[`cd ../..; pwd`]))
+AC_CONFIG_COMMANDS([llvm_obj],[],[llvm_obj=$LLVM_OBJ])
+
+dnl **
+dnl Configure Makefiles
+dnl List every Makefile that exists within your source tree
+dnl **
+

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

2007-05-08 Thread Evan Cheng


Changes in directory llvm/lib/Target/PowerPC:

PPCRegisterInfo.td updated: 1.45 - 1.46
---
Log message:

R0 is a sub-register of X0, etc.

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

 PPCRegisterInfo.td |6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)


Index: llvm/lib/Target/PowerPC/PPCRegisterInfo.td
diff -u llvm/lib/Target/PowerPC/PPCRegisterInfo.td:1.45 
llvm/lib/Target/PowerPC/PPCRegisterInfo.td:1.46
--- llvm/lib/Target/PowerPC/PPCRegisterInfo.td:1.45 Tue May  1 00:57:02 2007
+++ llvm/lib/Target/PowerPC/PPCRegisterInfo.td  Tue May  8 12:03:51 2007
@@ -22,9 +22,9 @@
 }
 
 // GP8 - One of the 32 64-bit general-purpose registers
-class GP8GPR Alias : PPCRegAlias.Name {
-  field bits5 Num = Alias.Num;
-  let Aliases = [Alias];
+class GP8GPR SubReg : PPCRegSubReg.Name {
+  field bits5 Num = SubReg.Num;
+  let SubRegs = [SubReg];
 }
 
 // SPR - One of the 32-bit special-purpose registers



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


Re: [llvm-commits] Regalloc Refactoring

2007-05-08 Thread Evan Cheng
Sorry, I haven't had a chance to review this. I'll read it today or  
tomorrow.

Evan
On May 8, 2007, at 7:41 AM, David Greene wrote:

 David A. Greene wrote:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1

 This patch splits LiveIntervalAnalysis into separate live interval
 analysis and register coalescing phases to facilitate development
 of new register allocators and coalescing schemes.

 It passes all tests that do not also fail in the official, unmodified
 source tree.

 No comment on this yet?  In?  Out?

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

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


[llvm-commits] CVS: llvm/test/CodeGen/ARM/2007-05-07-jumptoentry.ll

2007-05-08 Thread Dale Johannesen


Changes in directory llvm/test/CodeGen/ARM:

2007-05-07-jumptoentry.ll added (r1.1)
---
Log message:

testcase for CodeGenPrepare bug fixed yesterday


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

 2007-05-07-jumptoentry.ll |   58 ++
 1 files changed, 58 insertions(+)


Index: llvm/test/CodeGen/ARM/2007-05-07-jumptoentry.ll
diff -c /dev/null llvm/test/CodeGen/ARM/2007-05-07-jumptoentry.ll:1.1
*** /dev/null   Tue May  8 12:44:46 2007
--- llvm/test/CodeGen/ARM/2007-05-07-jumptoentry.ll Tue May  8 12:44:36 2007
***
*** 0 
--- 1,58 
+ ; RUN: llvm-as  %s | llc | not grep 1_0
+ ; This used to create an extra branch to 'entry', LBB1_0.
+ 
+ ; ModuleID = 'bug.bc'
+ target datalayout = 
e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:32-f32:32:32-f64:32:32-v64:64:64-v128:128:128-a0:0:64
+ target triple = arm-apple-darwin8
+   %struct.HexxagonMove = type { i8, i8, i32 }
+   %struct.HexxagonMoveList = type { i32, %struct.HexxagonMove* }
+ 
+ define void @_ZN16HexxagonMoveList8sortListEv(%struct.HexxagonMoveList* 
%this) {
+ entry:
+   %tmp51 = getelementptr %struct.HexxagonMoveList* %this, i32 0, i32 0
; i32* [#uses=1]
+   %tmp2 = getelementptr %struct.HexxagonMoveList* %this, i32 0, i32 1 
; %struct.HexxagonMove** [#uses=2]
+   br label %bb49
+ 
+ bb1:  ; preds = %bb49
+   %tmp3 = load %struct.HexxagonMove** %tmp2   ; 
%struct.HexxagonMove* [#uses=5]
+   %tmp6 = getelementptr %struct.HexxagonMove* %tmp3, i32 %i.1, i32 2  
; i32* [#uses=1]
+   %tmp7 = load i32* %tmp6 ; i32 [#uses=2]
+   %tmp12 = add i32 %i.1, 1; i32 [#uses=7]
+   %tmp14 = getelementptr %struct.HexxagonMove* %tmp3, i32 %tmp12, i32 2   
; i32* [#uses=1]
+   %tmp15 = load i32* %tmp14   ; i32 [#uses=1]
+   %tmp16 = icmp slt i32 %tmp7, %tmp15 ; i1 [#uses=1]
+   br i1 %tmp16, label %cond_true, label %bb49
+ 
+ cond_true:; preds = %bb1
+   %tmp23.0 = getelementptr %struct.HexxagonMove* %tmp3, i32 %i.1, i32 0   
; i8* [#uses=2]
+   %tmp67 = load i8* %tmp23.0  ; i8 [#uses=1]
+   %tmp23.1 = getelementptr %struct.HexxagonMove* %tmp3, i32 %i.1, i32 1   
; i8* [#uses=1]
+   %tmp68 = load i8* %tmp23.1  ; i8 [#uses=1]
+   %tmp3638 = getelementptr %struct.HexxagonMove* %tmp3, i32 %tmp12, i32 0 
; i8* [#uses=1]
+   tail call void @llvm.memcpy.i32( i8* %tmp23.0, i8* %tmp3638, i32 8, i32 
4 )
+   %tmp41 = load %struct.HexxagonMove** %tmp2  ; 
%struct.HexxagonMove* [#uses=3]
+   %tmp44.0 = getelementptr %struct.HexxagonMove* %tmp41, i32 %tmp12, i32 
0; i8* [#uses=1]
+   store i8 %tmp67, i8* %tmp44.0
+   %tmp44.1 = getelementptr %struct.HexxagonMove* %tmp41, i32 %tmp12, i32 
1; i8* [#uses=1]
+   store i8 %tmp68, i8* %tmp44.1
+   %tmp44.2 = getelementptr %struct.HexxagonMove* %tmp41, i32 %tmp12, i32 
2; i32* [#uses=1]
+   store i32 %tmp7, i32* %tmp44.2
+   br label %bb49
+ 
+ bb49: ; preds = %bb59, %cond_true, %bb1, %entry
+   %i.1 = phi i32 [ 0, %entry ], [ %tmp12, %bb1 ], [ %tmp12, %cond_true ], 
[ 0, %bb59 ]; i32 [#uses=5]
+   %move.2 = phi i32 [ 0, %entry ], [ 1, %cond_true ], [ %move.2, %bb1 ], 
[ 0, %bb59 ] ; i32 [#uses=2]
+   %tmp52 = load i32* %tmp51   ; i32 [#uses=1]
+   %tmp53 = add i32 %tmp52, -1 ; i32 [#uses=1]
+   %tmp55 = icmp sgt i32 %tmp53, %i.1  ; i1 [#uses=1]
+   br i1 %tmp55, label %bb1, label %bb59
+ 
+ bb59: ; preds = %bb49
+   %tmp61 = icmp eq i32 %move.2, 0 ; i1 [#uses=1]
+   br i1 %tmp61, label %return, label %bb49
+ 
+ return:   ; preds = %bb59
+   ret void
+ }
+ 
+ declare void @llvm.memcpy.i32(i8*, i8*, i32, i32)



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


[llvm-commits] CVS: llvm/test/CFrontend/2007-05-08-PCH.c

2007-05-08 Thread Devang Patel


Changes in directory llvm/test/CFrontend:

2007-05-08-PCH.c added (r1.1)
---
Log message:

New test for PR1400: http://llvm.org/PR1400 


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

 2007-05-08-PCH.c |7 +++
 1 files changed, 7 insertions(+)


Index: llvm/test/CFrontend/2007-05-08-PCH.c
diff -c /dev/null llvm/test/CFrontend/2007-05-08-PCH.c:1.1
*** /dev/null   Tue May  8 13:08:31 2007
--- llvm/test/CFrontend/2007-05-08-PCH.cTue May  8 13:08:20 2007
***
*** 0 
--- 1,7 
+ // PR 1400
+ // RUN: %llvmgcc -x c-header %s -o /dev/null
+ 
+ int main() {
+   return 0;
+ }
+ 



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


[llvm-commits] [127041] Fix PR1400

2007-05-08 Thread dpatel
Revision: 127041
Author:   dpatel
Date: 2007-05-08 11:09:27 -0700 (Tue, 08 May 2007)

Log Message:
---
Fix PR1400
Test case
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070507/049420.html

Modified Paths:
--
apple-local/branches/llvm/gcc/llvm-convert.cpp

Modified: apple-local/branches/llvm/gcc/llvm-convert.cpp
===
--- apple-local/branches/llvm/gcc/llvm-convert.cpp  2007-05-08 10:44:37 UTC 
(rev 127040)
+++ apple-local/branches/llvm/gcc/llvm-convert.cpp  2007-05-08 18:09:27 UTC 
(rev 127041)
@@ -203,7 +203,7 @@
 else
   // Non constant values, e.g. arguments, are not at global scope.
   // When PCH is read, only global scope values are used.
-  ValuesForPCH.push_back(NULL);
+  ValuesForPCH.push_back(Constant::getNullValue(Type::Int32Ty));
   }
 
   // Create string table.


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


[llvm-commits] [127042] If new bit field's starting offset is not at byte boundary

2007-05-08 Thread dpatel
Revision: 127042
Author:   dpatel
Date: 2007-05-08 11:24:04 -0700 (Tue, 08 May 2007)

Log Message:
---
If new bit field's starting offset is not at byte boundary
_AND_ the field's starting offset is outside already allocated
bytes for enclosing structure then

- Do not insert PadBytes array if PadBytes are zero.
- Update Field size to count  PadBits.

Modified Paths:
--
apple-local/branches/llvm/gcc/llvm-types.cpp

Modified: apple-local/branches/llvm/gcc/llvm-types.cpp
===
--- apple-local/branches/llvm/gcc/llvm-types.cpp2007-05-08 18:09:27 UTC 
(rev 127041)
+++ apple-local/branches/llvm/gcc/llvm-types.cpp2007-05-08 18:24:04 UTC 
(rev 127042)
@@ -1395,15 +1395,18 @@
 } else
   PadBytes = StartOffsetInBits/8-FirstUnallocatedByte;
 
-const Type *Pad = Type::Int8Ty;
-if (PadBytes != 1)
-  Pad = ArrayType::get(Pad, PadBytes);
-Info.addElement(Pad, FirstUnallocatedByte, PadBytes);
+if (PadBytes) {
+  const Type *Pad = Type::Int8Ty;
+  if (PadBytes != 1)
+Pad = ArrayType::get(Pad, PadBytes);
+  Info.addElement(Pad, FirstUnallocatedByte, PadBytes);
+}
+
 FirstUnallocatedByte = StartOffsetInBits/8;
 // This field will use some of the bits from this PadBytes, if
 // starting offset is not at byte boundry.
 if (StartOffsetFromByteBoundry != 0)
-  FieldSizeInBits = PadBits;
+  FieldSizeInBits += PadBits;
   }
 
   // Now, Field starts at FirstUnallocatedByte and everything is aligned.


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

2007-05-08 Thread Evan Cheng


Changes in directory llvm/include/llvm/CodeGen:

MachineBasicBlock.h updated: 1.62 - 1.63
---
Log message:

Add MachineBasicBlock preds / succs reverse iterators.

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

 MachineBasicBlock.h |   24 
 1 files changed, 24 insertions(+)


Index: llvm/include/llvm/CodeGen/MachineBasicBlock.h
diff -u llvm/include/llvm/CodeGen/MachineBasicBlock.h:1.62 
llvm/include/llvm/CodeGen/MachineBasicBlock.h:1.63
--- llvm/include/llvm/CodeGen/MachineBasicBlock.h:1.62  Fri Mar 23 13:44:11 2007
+++ llvm/include/llvm/CodeGen/MachineBasicBlock.h   Tue May  8 13:55:03 2007
@@ -123,17 +123,41 @@
   typedef std::vectorMachineBasicBlock *::const_iterator const_pred_iterator;
   typedef std::vectorMachineBasicBlock *::iterator   succ_iterator;
   typedef std::vectorMachineBasicBlock *::const_iterator const_succ_iterator;
+  typedef std::vectorMachineBasicBlock *::reverse_iterator
+ pred_reverse_iterator;
+  typedef std::vectorMachineBasicBlock *::const_reverse_iterator
+   const_pred_reverse_iterator;
+  typedef std::vectorMachineBasicBlock *::reverse_iterator
+ succ_reverse_iterator;
+  typedef std::vectorMachineBasicBlock *::const_reverse_iterator
+   const_succ_reverse_iterator;
 
   pred_iteratorpred_begin()   { return Predecessors.begin(); }
   const_pred_iterator  pred_begin() const { return Predecessors.begin(); }
   pred_iteratorpred_end() { return Predecessors.end();   }
   const_pred_iterator  pred_end()   const { return Predecessors.end();   }
+  pred_reverse_iteratorpred_rbegin()
+  { return Predecessors.rbegin();}
+  const_pred_reverse_iterator  pred_rbegin() const
+  { return Predecessors.rbegin();}
+  pred_reverse_iteratorpred_rend()
+  { return Predecessors.rend();  }
+  const_pred_reverse_iterator  pred_rend()   const
+  { return Predecessors.rend();  }
   unsigned pred_size()  const { return Predecessors.size();  }
   bool pred_empty() const { return Predecessors.empty(); }
   succ_iteratorsucc_begin()   { return Successors.begin();   }
   const_succ_iterator  succ_begin() const { return Successors.begin();   }
   succ_iteratorsucc_end() { return Successors.end(); }
   const_succ_iterator  succ_end()   const { return Successors.end(); }
+  succ_reverse_iteratorsucc_rbegin()
+  { return Successors.rbegin();  }
+  const_succ_reverse_iterator  succ_rbegin() const
+  { return Successors.rbegin();  }
+  succ_reverse_iteratorsucc_rend()
+  { return Successors.rend();}
+  const_succ_reverse_iterator  succ_rend()   const
+  { return Successors.rend();}
   unsigned succ_size()  const { return Successors.size();}
   bool succ_empty() const { return Successors.empty();   }
 



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


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

2007-05-08 Thread Evan Cheng


Changes in directory llvm/lib/CodeGen:

LiveVariables.cpp updated: 1.82 - 1.83
---
Log message:

Eliminate MarkVirtRegAliveInBlock recursion.

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

 LiveVariables.cpp |   21 +
 1 files changed, 17 insertions(+), 4 deletions(-)


Index: llvm/lib/CodeGen/LiveVariables.cpp
diff -u llvm/lib/CodeGen/LiveVariables.cpp:1.82 
llvm/lib/CodeGen/LiveVariables.cpp:1.83
--- llvm/lib/CodeGen/LiveVariables.cpp:1.82 Wed May  2 20:11:53 2007
+++ llvm/lib/CodeGen/LiveVariables.cpp  Tue May  8 14:00:00 2007
@@ -112,7 +112,8 @@
 }
 
 void LiveVariables::MarkVirtRegAliveInBlock(VarInfo VRInfo,
-MachineBasicBlock *MBB) {
+MachineBasicBlock *MBB,
+std::vectorMachineBasicBlock* WorkList) 
{
   unsigned BBNum = MBB-getNumber();
 
   // Check to see if this basic block is one of the killing blocks.  If so,
@@ -131,11 +132,23 @@
   // Mark the variable known alive in this bb
   VRInfo.AliveBlocks[BBNum] = true;
 
-  for (MachineBasicBlock::const_pred_iterator PI = MBB-pred_begin(),
- E = MBB-pred_end(); PI != E; ++PI)
-MarkVirtRegAliveInBlock(VRInfo, *PI);
+  for (MachineBasicBlock::const_pred_reverse_iterator PI = MBB-pred_rbegin(),
+ E = MBB-pred_rend(); PI != E; ++PI)
+WorkList.push_back(*PI);
 }
 
+void LiveVariables::MarkVirtRegAliveInBlock(VarInfo VRInfo,
+MachineBasicBlock *MBB) {
+  std::vectorMachineBasicBlock* WorkList;
+  MarkVirtRegAliveInBlock(VRInfo, MBB, WorkList);
+  while (!WorkList.empty()) {
+MachineBasicBlock *Pred = WorkList.back();
+WorkList.pop_back();
+MarkVirtRegAliveInBlock(VRInfo, Pred, WorkList);
+  }
+}
+
+
 void LiveVariables::HandleVirtRegUse(VarInfo VRInfo, MachineBasicBlock *MBB,
  MachineInstr *MI) {
   assert(VRInfo.DefInst  Register use before def!);



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

2007-05-08 Thread Evan Cheng


Changes in directory llvm/include/llvm/CodeGen:

LiveVariables.h updated: 1.45 - 1.46
---
Log message:

Eliminate MarkVirtRegAliveInBlock recursion.

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

 LiveVariables.h |2 ++
 1 files changed, 2 insertions(+)


Index: llvm/include/llvm/CodeGen/LiveVariables.h
diff -u llvm/include/llvm/CodeGen/LiveVariables.h:1.45 
llvm/include/llvm/CodeGen/LiveVariables.h:1.46
--- llvm/include/llvm/CodeGen/LiveVariables.h:1.45  Sun May  6 08:37:16 2007
+++ llvm/include/llvm/CodeGen/LiveVariables.h   Tue May  8 14:00:00 2007
@@ -283,6 +283,8 @@
   VarInfo getVarInfo(unsigned RegIdx);
 
   void MarkVirtRegAliveInBlock(VarInfo VRInfo, MachineBasicBlock *BB);
+  void MarkVirtRegAliveInBlock(VarInfo VRInfo, MachineBasicBlock *BB,
+   std::vectorMachineBasicBlock* WorkList);
   void HandleVirtRegUse(VarInfo VRInfo, MachineBasicBlock *MBB,
 MachineInstr *MI);
 };



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


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

2007-05-08 Thread Bill Wendling


Changes in directory llvm/lib/CodeGen:

RegAllocLinearScan.cpp updated: 1.148 - 1.149
RegAllocLocal.cpp updated: 1.105 - 1.106
---
Log message:

Change names from RA to something unique to get rid of naming conflicts with
certain linkers...


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

 RegAllocLinearScan.cpp |   36 +++-
 RegAllocLocal.cpp  |   44 +++-
 2 files changed, 42 insertions(+), 38 deletions(-)


Index: llvm/lib/CodeGen/RegAllocLinearScan.cpp
diff -u llvm/lib/CodeGen/RegAllocLinearScan.cpp:1.148 
llvm/lib/CodeGen/RegAllocLinearScan.cpp:1.149
--- llvm/lib/CodeGen/RegAllocLinearScan.cpp:1.148   Wed May  2 20:11:53 2007
+++ llvm/lib/CodeGen/RegAllocLinearScan.cpp Tue May  8 14:02:46 2007
@@ -47,9 +47,9 @@
   static unsigned numIterations = 0;
   static unsigned numIntervals = 0;
 
-  struct VISIBILITY_HIDDEN RA : public MachineFunctionPass {
+  struct VISIBILITY_HIDDEN RALinScan : public MachineFunctionPass {
 static char ID;
-RA() : MachineFunctionPass((intptr_t)ID) {}
+RALinScan() : MachineFunctionPass((intptr_t)ID) {}
 
 typedef std::pairLiveInterval*, LiveInterval::iterator IntervalPtr;
 typedef std::vectorIntervalPtr IntervalPtrs;
@@ -149,10 +149,10 @@
   }
 }
   };
-  char RA::ID = 0;
+  char RALinScan::ID = 0;
 }
 
-void RA::ComputeRelatedRegClasses() {
+void RALinScan::ComputeRelatedRegClasses() {
   const MRegisterInfo MRI = *mri_;
   
   // First pass, add all reg classes to the union, and determine at least one
@@ -187,7 +187,7 @@
 RelatedRegClasses.unionSets(I-second, OneClassForEachPhysReg[*AS]);
 }
 
-bool RA::runOnMachineFunction(MachineFunction fn) {
+bool RALinScan::runOnMachineFunction(MachineFunction fn) {
   mf_ = fn;
   tm_ = fn.getTarget();
   mri_ = tm_-getRegisterInfo();
@@ -222,7 +222,7 @@
 
 /// initIntervalSets - initialize the interval sets.
 ///
-void RA::initIntervalSets()
+void RALinScan::initIntervalSets()
 {
   assert(unhandled_.empty()  fixed_.empty() 
  active_.empty()  inactive_.empty() 
@@ -237,7 +237,7 @@
   }
 }
 
-void RA::linearScan()
+void RALinScan::linearScan()
 {
   // linear scan algorithm
   DOUT  ** LINEAR SCAN **\n;
@@ -317,7 +317,7 @@
 
 /// processActiveIntervals - expire old intervals and move non-overlapping ones
 /// to the inactive list.
-void RA::processActiveIntervals(unsigned CurPoint)
+void RALinScan::processActiveIntervals(unsigned CurPoint)
 {
   DOUT  \tprocessing active intervals:\n;
 
@@ -363,7 +363,7 @@
 
 /// processInactiveIntervals - expire old intervals and move overlapping
 /// ones to the active list.
-void RA::processInactiveIntervals(unsigned CurPoint)
+void RALinScan::processInactiveIntervals(unsigned CurPoint)
 {
   DOUT  \tprocessing inactive intervals:\n;
 
@@ -412,16 +412,18 @@
 Weights[*as] += weight;
 }
 
-static RA::IntervalPtrs::iterator FindIntervalInVector(RA::IntervalPtrs IP,
-   LiveInterval *LI) {
-  for (RA::IntervalPtrs::iterator I = IP.begin(), E = IP.end(); I != E; ++I)
+static
+RALinScan::IntervalPtrs::iterator
+FindIntervalInVector(RALinScan::IntervalPtrs IP, LiveInterval *LI) {
+  for (RALinScan::IntervalPtrs::iterator I = IP.begin(), E = IP.end();
+   I != E; ++I)
 if (I-first == LI) return I;
   return IP.end();
 }
 
-static void RevertVectorIteratorsTo(RA::IntervalPtrs V, unsigned Point) {
+static void RevertVectorIteratorsTo(RALinScan::IntervalPtrs V, unsigned 
Point){
   for (unsigned i = 0, e = V.size(); i != e; ++i) {
-RA::IntervalPtr IP = V[i];
+RALinScan::IntervalPtr IP = V[i];
 LiveInterval::iterator I = std::upper_bound(IP.first-begin(),
 IP.second, Point);
 if (I != IP.first-begin()) --I;
@@ -431,7 +433,7 @@
 
 /// assignRegOrStackSlotAtInterval - assign a register if one is available, or
 /// spill.
-void RA::assignRegOrStackSlotAtInterval(LiveInterval* cur)
+void RALinScan::assignRegOrStackSlotAtInterval(LiveInterval* cur)
 {
   DOUT  \tallocating current interval: ;
 
@@ -752,7 +754,7 @@
 
 /// getFreePhysReg - return a free physical register for this virtual register
 /// interval if we have one, otherwise return 0.
-unsigned RA::getFreePhysReg(LiveInterval *cur) {
+unsigned RALinScan::getFreePhysReg(LiveInterval *cur) {
   std::vectorunsigned inactiveCounts(mri_-getNumRegs(), 0);
   unsigned MaxInactiveCount = 0;
   
@@ -821,5 +823,5 @@
 }
 
 FunctionPass* llvm::createLinearScanRegisterAllocator() {
-  return new RA();
+  return new RALinScan();
 }


Index: llvm/lib/CodeGen/RegAllocLocal.cpp
diff -u llvm/lib/CodeGen/RegAllocLocal.cpp:1.105 
llvm/lib/CodeGen/RegAllocLocal.cpp:1.106
--- llvm/lib/CodeGen/RegAllocLocal.cpp:1.105Wed May  2 20:11:53 2007
+++ llvm/lib/CodeGen/RegAllocLocal.cpp  Tue May  8 14:02:46 2007
@@ -42,10 +42,10 @@
   createLocalRegisterAllocator);
 
 
-  class VISIBILITY_HIDDEN RA : public 

[llvm-commits] CVS: llvm/test/Transforms/LICM/scalar_promote.ll

2007-05-08 Thread Chris Lattner


Changes in directory llvm/test/Transforms/LICM:

scalar_promote.ll updated: 1.7 - 1.8
---
Log message:

add the  back.  I'm not sure why bill removed it.


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

 scalar_promote.ll |2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)


Index: llvm/test/Transforms/LICM/scalar_promote.ll
diff -u llvm/test/Transforms/LICM/scalar_promote.ll:1.7 
llvm/test/Transforms/LICM/scalar_promote.ll:1.8
--- llvm/test/Transforms/LICM/scalar_promote.ll:1.7 Tue May  8 02:49:07 2007
+++ llvm/test/Transforms/LICM/scalar_promote.ll Tue May  8 15:08:06 2007
@@ -1,4 +1,4 @@
-; RUN: llvm-upgrade  %s | llvm-as | opt  -licm -stats | \
+; RUN: llvm-upgrade  %s | llvm-as | opt  -licm -stats | \
 ; RUN:grep {memory locations promoted to register}
 
 %X = global int 7



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


Re: [llvm-commits] CVS: llvm/test/Transforms/LICM/scalar_promote.ll

2007-05-08 Thread Bill
On 5/8/07, Chris Lattner [EMAIL PROTECTED] wrote:

 add the  back.  I'm not sure why bill removed it.

That test was failing for me last night, and it seemed like that was
part of the problem. Also, I didn't see the | in other places...

Oh well.

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


Re: [llvm-commits] CVS: llvm/test/Transforms/LICM/scalar_promote.ll

2007-05-08 Thread Chris Lattner
On May 8, 2007, at 1:10 PM, Bill wrote:
 On 5/8/07, Chris Lattner [EMAIL PROTECTED] wrote:

 add the  back.  I'm not sure why bill removed it.

 That test was failing for me last night, and it seemed like that was
 part of the problem. Also, I didn't see the | in other places...

tcl shell uses c-shell syntax.  This test wants to grep stderr, so it  
uses |.

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


Re: [llvm-commits] CVS: llvm/test/Transforms/LICM/scalar_promote.ll

2007-05-08 Thread Bill
Ah! Gotcha.

On 5/8/07, Chris Lattner [EMAIL PROTECTED] wrote:
 On May 8, 2007, at 1:10 PM, Bill wrote:
  On 5/8/07, Chris Lattner [EMAIL PROTECTED] wrote:
 
  add the  back.  I'm not sure why bill removed it.
 
  That test was failing for me last night, and it seemed like that was
  part of the problem. Also, I didn't see the | in other places...

 tcl shell uses c-shell syntax.  This test wants to grep stderr, so it
 uses |.

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

___
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

2007-05-08 Thread Evan Cheng


Changes in directory llvm/utils/TableGen:

DAGISelEmitter.cpp updated: 1.294 - 1.295
---
Log message:

If a PredicateOperand has an empty ExecuteAlways field, treat it as if a normal 
operand for isel.

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

 DAGISelEmitter.cpp |   13 +
 1 files changed, 9 insertions(+), 4 deletions(-)


Index: llvm/utils/TableGen/DAGISelEmitter.cpp
diff -u llvm/utils/TableGen/DAGISelEmitter.cpp:1.294 
llvm/utils/TableGen/DAGISelEmitter.cpp:1.295
--- llvm/utils/TableGen/DAGISelEmitter.cpp:1.294Thu Apr 26 12:03:22 2007
+++ llvm/utils/TableGen/DAGISelEmitter.cpp  Tue May  8 16:04:07 2007
@@ -775,8 +775,10 @@
   Record *OperandNode = Inst.getOperand(i);
   
   // If the instruction expects a predicate operand, we codegen this by
-  // setting the predicate to it's execute always value.
-  if (OperandNode-isSubClassOf(PredicateOperand))
+  // setting the predicate to it's execute always value if it has a
+  // non-empty ExecuteAlways field.
+  if (OperandNode-isSubClassOf(PredicateOperand) 
+  !ISE.getPredicateOperand(OperandNode).AlwaysOps.empty())
 continue;

   // Verify that we didn't run out of provided operands.
@@ -2801,8 +2803,11 @@
InstOpNo != II.OperandList.size(); ++InstOpNo) {
 std::vectorstd::string Ops;
 
-// If this is a normal operand, emit it.
-if (!II.OperandList[InstOpNo].Rec-isSubClassOf(PredicateOperand)) {
+// If this is a normal operand or a predicate operand without
+// 'execute always', emit it.
+Record *OperandNode = II.OperandList[InstOpNo].Rec;
+if (!OperandNode-isSubClassOf(PredicateOperand) ||
+ISE.getPredicateOperand(OperandNode).AlwaysOps.empty()) {
   Ops = EmitResultCode(N-getChild(ChildNo), RetSelected, 
InFlagDecled, ResNodeDecled);
   AllOps.insert(AllOps.end(), Ops.begin(), Ops.end());



___
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

2007-05-08 Thread Evan Cheng


Changes in directory llvm/lib/Target:

Target.td updated: 1.99 - 1.100
---
Log message:

PredicateOperand can be used as a normal operand for isel.

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

 Target.td |2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)


Index: llvm/lib/Target/Target.td
diff -u llvm/lib/Target/Target.td:1.99 llvm/lib/Target/Target.td:1.100
--- llvm/lib/Target/Target.td:1.99  Fri May  4 15:38:40 2007
+++ llvm/lib/Target/Target.td   Tue May  8 16:05:24 2007
@@ -254,7 +254,7 @@
 /// instruction.  OpTypes specifies the MIOperandInfo for the operand, and
 /// AlwaysVal specifies the value of this predicate when set to always
 /// execute.
-class PredicateOperanddag OpTypes, dag AlwaysVal : OperandOtherVT {
+class PredicateOperandValueType ty, dag OpTypes, dag AlwaysVal : Operandty 
{
   let MIOperandInfo = OpTypes;
   dag ExecuteAlways = AlwaysVal;
 }



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

2007-05-08 Thread Evan Cheng


Changes in directory llvm/lib/Target/PowerPC:

PPCInstrInfo.td updated: 1.277 - 1.278
---
Log message:

PredicateOperand can be used as a normal operand for isel.

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

 PPCInstrInfo.td |2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)


Index: llvm/lib/Target/PowerPC/PPCInstrInfo.td
diff -u llvm/lib/Target/PowerPC/PPCInstrInfo.td:1.277 
llvm/lib/Target/PowerPC/PPCInstrInfo.td:1.278
--- llvm/lib/Target/PowerPC/PPCInstrInfo.td:1.277   Tue Apr  3 05:27:07 2007
+++ llvm/lib/Target/PowerPC/PPCInstrInfo.td Tue May  8 16:06:08 2007
@@ -272,7 +272,7 @@
 
 // PowerPC Predicate operand.  20 = (05)|20 = always, CR0 is a dummy reg
 // that doesn't matter.
-def pred : PredicateOperand(ops imm, CRRC), (ops (i32 20), CR0) {
+def pred : PredicateOperandOtherVT, (ops imm, CRRC), (ops (i32 20), CR0) {
   let PrintMethod = printPredicateOperand;
 }
 



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


[llvm-commits] CVS: llvm/lib/Target/ARM/ARMAsmPrinter.cpp ARMInstrInfo.td ARMInstrThumb.td ARMInstrVFP.td

2007-05-08 Thread Evan Cheng


Changes in directory llvm/lib/Target/ARM:

ARMAsmPrinter.cpp updated: 1.72 - 1.73
ARMInstrInfo.td updated: 1.99 - 1.100
ARMInstrThumb.td updated: 1.25 - 1.26
ARMInstrVFP.td updated: 1.4 - 1.5
---
Log message:

Switch BCC, MOVCCr, etc. to PredicateOperand.

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

 ARMAsmPrinter.cpp |4 ++--
 ARMInstrInfo.td   |   23 ++-
 ARMInstrThumb.td  |4 ++--
 ARMInstrVFP.td|8 
 4 files changed, 22 insertions(+), 17 deletions(-)


Index: llvm/lib/Target/ARM/ARMAsmPrinter.cpp
diff -u llvm/lib/Target/ARM/ARMAsmPrinter.cpp:1.72 
llvm/lib/Target/ARM/ARMAsmPrinter.cpp:1.73
--- llvm/lib/Target/ARM/ARMAsmPrinter.cpp:1.72  Thu May  3 18:30:36 2007
+++ llvm/lib/Target/ARM/ARMAsmPrinter.cpp   Tue May  8 16:08:43 2007
@@ -101,7 +101,7 @@
 void printThumbAddrModeS2Operand(const MachineInstr *MI, int OpNo);
 void printThumbAddrModeS4Operand(const MachineInstr *MI, int OpNo);
 void printThumbAddrModeSPOperand(const MachineInstr *MI, int OpNo);
-void printCCOperand(const MachineInstr *MI, int opNum);
+void printPredicateOperand(const MachineInstr *MI, int opNum);
 void printPCLabel(const MachineInstr *MI, int opNum);
 void printRegisterList(const MachineInstr *MI, int opNum);
 void printCPInstOperand(const MachineInstr *MI, int opNum,
@@ -613,7 +613,7 @@
   O  ];
 }
 
-void ARMAsmPrinter::printCCOperand(const MachineInstr *MI, int opNum) {
+void ARMAsmPrinter::printPredicateOperand(const MachineInstr *MI, int opNum) {
   int CC = (int)MI-getOperand(opNum).getImmedValue();
   O  ARMCondCodeToString((ARMCC::CondCodes)CC);
 }


Index: llvm/lib/Target/ARM/ARMInstrInfo.td
diff -u llvm/lib/Target/ARM/ARMInstrInfo.td:1.99 
llvm/lib/Target/ARM/ARMInstrInfo.td:1.100
--- llvm/lib/Target/ARM/ARMInstrInfo.td:1.99Fri Apr 27 19:36:37 2007
+++ llvm/lib/Target/ARM/ARMInstrInfo.td Tue May  8 16:08:43 2007
@@ -162,11 +162,6 @@
 // Branch target.
 def brtarget : OperandOtherVT;
 
-// Operand for printing out a condition code.
-def CCOp : Operandi32 {
-  let PrintMethod = printCCOperand;
-}
-
 // A list of registers separated by comma. Used by load/store multiple.
 def reglist : Operandi32 {
   let PrintMethod = printRegisterList;
@@ -282,6 +277,16 @@
   let MIOperandInfo = (ops GPR, i32imm);
 }
 
+// ARM branch / cmov condition code operand.
+def ccop : PredicateOperandi32, (ops i32imm), (ops) {
+  let PrintMethod = printPredicateOperand;
+}
+
+// ARM Predicate operand. Default to 14 = always (AL).
+def pred : PredicateOperandi32, (ops i32imm), (ops (i32 14)) {
+  let PrintMethod = printPredicateOperand;
+}
+
 
//===--===//
 // ARM Instruction flags.  These need to match ARMInstrInfo.h.
 //
@@ -579,7 +584,7 @@
 }
 
 let isBranch = 1, isTerminator = 1, noResults = 1, isBarrier = 1 in
-  def Bcc : AI(ops brtarget:$dst, CCOp:$cc), b$cc $dst,
+  def Bcc : AI(ops brtarget:$dst, ccop:$cc), b$cc $dst,
 [(ARMbrcond bb:$dst, imm:$cc)];
 
 
//===--===//
@@ -1041,17 +1046,17 @@
 
 
 // Conditional moves
-def MOVCCr : AI(ops GPR:$dst, GPR:$false, GPR:$true, CCOp:$cc),
+def MOVCCr : AI(ops GPR:$dst, GPR:$false, GPR:$true, ccop:$cc),
 mov$cc $dst, $true,
 [(set GPR:$dst, (ARMcmov GPR:$false, GPR:$true, imm:$cc))],
 RegConstraint$false = $dst;
 
-def MOVCCs : AI(ops GPR:$dst, GPR:$false, so_reg:$true, CCOp:$cc),
+def MOVCCs : AI(ops GPR:$dst, GPR:$false, so_reg:$true, ccop:$cc),
 mov$cc $dst, $true,
 [(set GPR:$dst, (ARMcmov GPR:$false, so_reg:$true,imm:$cc))],
 RegConstraint$false = $dst;
 
-def MOVCCi : AI(ops GPR:$dst, GPR:$false, so_imm:$true, CCOp:$cc),
+def MOVCCi : AI(ops GPR:$dst, GPR:$false, so_imm:$true, ccop:$cc),
 mov$cc $dst, $true,
 [(set GPR:$dst, (ARMcmov GPR:$false, so_imm:$true,imm:$cc))],
 RegConstraint$false = $dst;


Index: llvm/lib/Target/ARM/ARMInstrThumb.td
diff -u llvm/lib/Target/ARM/ARMInstrThumb.td:1.25 
llvm/lib/Target/ARM/ARMInstrThumb.td:1.26
--- llvm/lib/Target/ARM/ARMInstrThumb.td:1.25   Tue May  1 15:27:19 2007
+++ llvm/lib/Target/ARM/ARMInstrThumb.tdTue May  8 16:08:43 2007
@@ -207,7 +207,7 @@
 }
 
 let isBranch = 1, isTerminator = 1, noResults = 1, isBarrier = 1 in
-  def tBcc : TI(ops brtarget:$dst, CCOp:$cc), b$cc $dst,
+  def tBcc : TI(ops brtarget:$dst, ccop:$cc), b$cc $dst,
  [(ARMbrcond bb:$dst, imm:$cc)];
 
 
//===--===//
@@ -503,7 +503,7 @@
 // Expanded by the scheduler into a branch sequence.
 let usesCustomDAGSchedInserter = 1 in  // Expanded by the scheduler.
   def tMOVCCr :
-  PseudoInst(ops GPR:$dst, GPR:$false, GPR:$true, CCOp:$cc),
+  PseudoInst(ops GPR:$dst, GPR:$false, GPR:$true, ccop:$cc),
   @ tMOVCCr $cc,

[llvm-commits] [127059] Use -- instead of - for command line options.

2007-05-08 Thread bwendlin
Revision: 127059
Author:   bwendlin
Date: 2007-05-08 14:48:47 -0700 (Tue, 08 May 2007)

Log Message:
---
Use -- instead of - for command line options.

Modified Paths:
--
apple-local/branches/llvm/build_gcc

Modified: apple-local/branches/llvm/build_gcc
===
--- apple-local/branches/llvm/build_gcc 2007-05-08 21:01:22 UTC (rev 127058)
+++ apple-local/branches/llvm/build_gcc 2007-05-08 21:48:47 UTC (rev 127059)
@@ -160,7 +160,7 @@
 # These are the configure and build flags that are used.
 # APPLE LOCAL begin LLVM  Support for non /usr $DEST_ROOT, use libstdc++
 
-CONFIGFLAGS=--disable-checking -enable-werror \
+CONFIGFLAGS=--disable-checking --enable-werror \
   --prefix=$DEST_ROOT \
   --mandir=$DEST_ROOT/share/man \
   --enable-languages=c,objc,c++,obj-c++ \


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


[llvm-commits] [127060] Add missing undefs.

2007-05-08 Thread dpatel
Revision: 127060
Author:   dpatel
Date: 2007-05-08 16:23:00 -0700 (Tue, 08 May 2007)

Log Message:
---
Add missing undefs. Patch by Reid.

Modified Paths:
--
apple-local/branches/llvm/gcc/c-common.c

Modified: apple-local/branches/llvm/gcc/c-common.c
===
--- apple-local/branches/llvm/gcc/c-common.c2007-05-08 21:48:47 UTC (rev 
127059)
+++ apple-local/branches/llvm/gcc/c-common.c2007-05-08 23:23:00 UTC (rev 
127060)
@@ -3545,6 +3545,8 @@
 #undef DEF_FUNCTION_TYPE_2
 #undef DEF_FUNCTION_TYPE_3
 #undef DEF_FUNCTION_TYPE_4
+#undef DEF_FUNCTION_TYPE_5
+#undef DEF_FUNCTION_TYPE_6
 #undef DEF_FUNCTION_TYPE_VAR_0
 #undef DEF_FUNCTION_TYPE_VAR_1
 #undef DEF_FUNCTION_TYPE_VAR_2


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


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

2007-05-08 Thread Tanya Lattner


Changes in directory llvm/lib/Target/PowerPC:

PPCRegisterInfo.td updated: 1.45 - 1.45.2.1
---
Log message:

Merging from mainline. PR1399: http://llvm.org/PR1399  fix.



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

 PPCRegisterInfo.td |6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)


Index: llvm/lib/Target/PowerPC/PPCRegisterInfo.td
diff -u llvm/lib/Target/PowerPC/PPCRegisterInfo.td:1.45 
llvm/lib/Target/PowerPC/PPCRegisterInfo.td:1.45.2.1
--- llvm/lib/Target/PowerPC/PPCRegisterInfo.td:1.45 Tue May  1 00:57:02 2007
+++ llvm/lib/Target/PowerPC/PPCRegisterInfo.td  Tue May  8 18:41:39 2007
@@ -22,9 +22,9 @@
 }
 
 // GP8 - One of the 32 64-bit general-purpose registers
-class GP8GPR Alias : PPCRegAlias.Name {
-  field bits5 Num = Alias.Num;
-  let Aliases = [Alias];
+class GP8GPR SubReg : PPCRegSubReg.Name {
+  field bits5 Num = SubReg.Num;
+  let SubRegs = [SubReg];
 }
 
 // SPR - One of the 32-bit special-purpose registers



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


[llvm-commits] CVS: llvm-www/DevMtgMay2007.html

2007-05-08 Thread Reid Spencer


Changes in directory llvm-www:

DevMtgMay2007.html updated: 1.120 - 1.121
---
Log message:

Too late to request a T-Shirt or offer to present.


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

 DevMtgMay2007.html |   15 +--
 1 files changed, 1 insertion(+), 14 deletions(-)


Index: llvm-www/DevMtgMay2007.html
diff -u llvm-www/DevMtgMay2007.html:1.120 llvm-www/DevMtgMay2007.html:1.121
--- llvm-www/DevMtgMay2007.html:1.120   Thu May  3 17:11:12 2007
+++ llvm-www/DevMtgMay2007.html Tue May  8 23:19:59 2007
@@ -59,19 +59,6 @@
   to win a prize! Please see the a href=Name.htmlName page/a for the
   current list of entries, naming rules, booty you can get and other details.
   The name may be decided at this meeting!/p
-  pba name=t-shirtT-SHIRTS!/a/b: T-Shirts will be available 
-  at the meeting but only if you pre-order your size. Send your size 
(S,M,L,XL) to 
-  a href=mailto:[EMAIL PROTECTED]Reid Spencer/a so they can be
-  ordered in time for the meeting. The T-shirts will be good quality (heavy
-  cotton) and have a small LLVM related phrase on the front. There is no cost 
-  for these T-Shirts as their cost is being donated to LLVM. But we will ask 
-  you to make a a href=Funding.html#donatedonation to LLVM/a at the
-  meeting.  If you want a T-Shirt but can't make it to the meeting, please 
-  let Reid know. You will have to pay for shipping only./p
-  pbCALL FOR PRESENTATIONS/b: This meeting is for you and by you. If you
-  have an LLVM related topic idea (even if you don't plan to present it),
-  please send it in. We need work group topics as well as people who would
-  like to present something. No idea is a bad one!/p
 /div
 
 !-- *** 
--
@@ -366,6 +353,6 @@
   src=http://jigsaw.w3.org/css-validator/images/vcss; alt=Valid CSS!/a
   a href=http://validator.w3.org/check/referer;img
   src=http://www.w3.org/Icons/valid-html401; alt=Valid HTML 4.01!/a
-br/Last modified: $Date: 2007/05/03 22:11:12 $
+br/Last modified: $Date: 2007/05/09 04:19:59 $
 /address
 !--#include virtual=footer.incl --



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


[llvm-commits] CVS: llvm-www/DevMtgMay2007.html

2007-05-08 Thread Reid Spencer


Changes in directory llvm-www:

DevMtgMay2007.html updated: 1.121 - 1.122
---
Log message:

First draft of schedule.


---
Diffs of the changes:  (+126 -135)

 DevMtgMay2007.html |  261 +
 1 files changed, 126 insertions(+), 135 deletions(-)


Index: llvm-www/DevMtgMay2007.html
diff -u llvm-www/DevMtgMay2007.html:1.121 llvm-www/DevMtgMay2007.html:1.122
--- llvm-www/DevMtgMay2007.html:1.121   Tue May  8 23:19:59 2007
+++ llvm-www/DevMtgMay2007.html Tue May  8 23:44:14 2007
@@ -44,18 +44,15 @@
 !-- *** 
--
 div class=www_sectiontitlea name=notesImportant Notes/a/div
 div class=www_text
-  pbWHO IS INVITED/b: Everyone is invited to participate and present.  
If you
-  would like to present, please send your ideas to 
-  a href=mailto:[EMAIL PROTECTED]Reid Spencer/a so they can be 
-  incorporated on this page./p
-  pbHOW TO REGISTER/b: You can attend for free just by sending an email 
to 
-  a href=mailto:[EMAIL PROTECTED]LLVM Developers Mail List/a
+  pbWHO IS INVITED/b: Everyone is invited to participate./p
+  pbHOW TO REGISTER/b: You can attend for free just by sending an email 
+  to a href=mailto:[EMAIL PROTECTED]LLVM Developers Mail List/a
   indicating that you'd like to attend. Your name will be added 
   a href=#attendeesbelow/a./p
   pbNAME THAT COMPILER!/b: As mentioned in Chris Lattner's
   a 
href=http://lists.cs.uiuc.edu/pipermail/llvmdev/2007-April/008625.html;email/a,
-  we are looking for an umbrella name for the collection of compiler, tool 
chain 
-  and virtual machine related things that we call LLVM today. Here's your 
chance 
+  we are looking for an umbrella name for the collection of compiler, tool 
chain
+  and virtual machine related things that we call LLVM today. Here's your 
chance
   to win a prize! Please see the a href=Name.htmlName page/a for the
   current list of entries, naming rules, booty you can get and other details.
   The name may be decided at this meeting!/p
@@ -71,135 +68,129 @@
   preliminary agenda. That said, here's roughly how we think the meeting will 
   go (all times approximate):/p
   table class=www
-trthStart/ththStop/ththDescription/th/tr
-trtd08:00/tdtd08:45/tdtdMeet - Greet/td/tr
-trtd08:45/tdtd09:00/tdtda href=#sess0Session 0: LLVM 
History/a/td/tr
-trtd09:00/tdtd10:30/tdtda href=#sess1Session 1: 
Introductions/a/td/tr 
-trtd10:30/tdtd11:00/tdtdBreak - Informal Discussions/td/tr
-trtd11:00/tdtd12:00/tdtda href=#sess2Session 2: Learning 
LLVM/a/td/tr
-trtd12:00/tdtd13:00/tdtdLunch Break/td/tr
-trtd13:00/tdtd15:00/tdtda href=#sess3Session 3: Using 
LLVM/a/td/tr
-trtd15:00/tdtd15:30/tdtdBreak - Informal Discussions/td/tr
-trtd15:30/tdtd17:00/tdtda href=#sess4Session 4: Improving 
LLVM/a/td/tr
-trtd17:00/tdtd18:00/tdtdWrap up - Social Time/td/tr
-trtd18:00/tdtd21:00/tdtdDinner (Optional)/td/tr
-  /table
-/div
-
-div class=www_subsectiona name=sess0Session 0: LLVM History/a/div
-div class=www_text
-  pDuring this brief session, Vikram Adve and Chris Lattner (the originators
-  of LLVM) will present a brief and casual history of how LLVM got from an idea
-  in the back of Chris' brain in 2000 to an up-and-coming Open Source project 
in
-  2007./p
-  pAlso featured in this session will be a brief talk by Oscar describing his
-  plans for world domination./p
-/div
-
-div class=www_subsectiona name=sess1Session 1: Introductions/a/div
-div class=www_text
-  pThis time is reserved for in-depth introductions of everyone attending 
-  the meeting. The thing you all wanted most was to get to know one another. 
-  So, here's your chance. You have 2-3 minutes to tell us who you are, what 
-  you do, how much you love LLVM, why you work with it, or anything else you 
-  want to say./p
-/div
-
-div class=www_subsectiona name=sess2Session 2: Learning LLVM/a/div
-div class=www_text
-  pThis session will provide presentations about LLVM. Most everyone at the 
-  meeting will be somewhat familiar with LLVM (if not experts) so if you're 
-  inclined to submit something for this session, find something unique, perhaps
-  a little known secret, an idiom you use, tips and tricks, tools you use with 
-  LLVM, that tutorial you gave last week, etc./p
-table class=www
-  trthSpeaker/ththTopic/th/tr
-  trtdEvan Cheng/tdtdBack end talk/td
-  trtdNick Lewycky/td
-tdDesign and implementation of the PredicateSimplifier pass, or, 
-  VRP in LLVM/td
-  trtdDevang Patel/td
-tdDemystifying the LLVM Pass Manager/td
-  /tr
-  trtdReid Spencer/tdtdThe Goal of HLVM/td/tr
-  trtdEvan Cheng/tdtdRegister Allocator overview and future work (15 
min talk)/td/tr
-/table
-/div
+trth rowspan=4h3Session 0:br/Introductions/h3/th
+thStart/ththStop/ththWho/ththDescription/th/tr
+trtd08:00/tdtd08:45/tdtdEveryone/td
+  tdbMeet and Greet/b. Social time, get your coffee, etc./th
+/tr
+

[llvm-commits] CVS: llvm-www/DevMtgMay2007.html

2007-05-08 Thread Reid Spencer


Changes in directory llvm-www:

DevMtgMay2007.html updated: 1.122 - 1.123
---
Log message:

Format to make the sessions/breaks more distinct.


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

 DevMtgMay2007.html |   18 +-
 1 files changed, 9 insertions(+), 9 deletions(-)


Index: llvm-www/DevMtgMay2007.html
diff -u llvm-www/DevMtgMay2007.html:1.122 llvm-www/DevMtgMay2007.html:1.123
--- llvm-www/DevMtgMay2007.html:1.122   Tue May  8 23:44:14 2007
+++ llvm-www/DevMtgMay2007.html Tue May  8 23:48:39 2007
@@ -68,11 +68,11 @@
   preliminary agenda. That said, here's roughly how we think the meeting will 
   go (all times approximate):/p
   table class=www
-trth rowspan=4h3Session 0:br/Introductions/h3/th
-thStart/ththStop/ththWho/ththDescription/th/tr
-trtd08:00/tdtd08:45/tdtdEveryone/td
+trtdh4Coffee/h4/tdtd08:00/tdtd08:45/tdtdEveryone/td
   tdbMeet and Greet/b. Social time, get your coffee, etc./th
 /tr
+trth rowspan=4h3Session 0:br/Introductions/h3/th
+thStart/ththStop/ththWho/ththDescription/th/tr
 trtd08:45/tdtd09:00/td
   tdVikramnbsp;Advebr/Chrisnbsp;Lattner/td
   tdbLLVM History/b. During this brief session, Vikram and Chris 
@@ -88,7 +88,7 @@
 you work with it, or anything else you want to say. The time is yours.
   /td
 /tr
-trthh3Break/h3/thtd10:00/tdtd10:30/tdtdEveryone/td
+trtdh4Break/h4/tdtd10:00/tdtd10:30/tdtdEveryone/td
   tdbDisscussions/b. Now that you know a little about everyone else,
 take some time to have some discussions and make connections. Group
 photo at 10:25./td/tr
@@ -118,7 +118,7 @@
 plans for making LLVM more accesible to scripting and higher level
 language front ends./td
 /tr
-trthh3Lunch/h3/thtd12:00/tdtd13:00/tdtdEveryone/td
+trtdh3Lunch/h3/tdtd12:00/tdtd13:00/tdtdEveryone/td
   tdThanks to a generous sponsor, lunch will be catered./td/tr
 
 trth rowspan=5h3Session 2:brUsing LLVM/h3/th
@@ -141,7 +141,7 @@
 trtd14:30/tdtd15:00/tdtdStevenbsp;Naroff/td
   tdbObjective-C/b. Improvements to the Objective-C front end./td
 /tr
-trthh3Break/h3/thtd15:00/tdtd15:30/tdtdEveryone/td
+trtdh4Break/h4/tdtd15:00/tdtd15:30/tdtdEveryone/td
   tdInter-session afternoon break (yes, napping's allowed at this one).
   /td
 /tr
@@ -182,11 +182,11 @@
 suggested. Let's see if we can reach a consensus on a name./td
 /tr
 
-trthh3Wrap Up/h3/thtd17:00/tdtd18:00/tdtdEveryone/td
+trtdh4Wrap Up/h4/tdtd17:00/tdtd18:00/tdtdEveryone/td
   tdThis is some
 spill time (a concept you should be familiar with). If we don't
 need it then it's social time./td/tr
-trthh3Dinner/h3/thtd18:00/tdtd21:00/tdtdEveryone/td
+trtdh4Dinner/h4/tdtd18:00/tdtd21:00/tdtdEveryone/td
   tdb(Optional)/b. Those who want to go for dinner (pay your own way)
 should try to get to the restaurant by 6pm./td
 /tr
@@ -344,6 +344,6 @@
   src=http://jigsaw.w3.org/css-validator/images/vcss; alt=Valid CSS!/a
   a href=http://validator.w3.org/check/referer;img
   src=http://www.w3.org/Icons/valid-html401; alt=Valid HTML 4.01!/a
-br/Last modified: $Date: 2007/05/09 04:44:14 $
+br/Last modified: $Date: 2007/05/09 04:48:39 $
 /address
 !--#include virtual=footer.incl --



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


[llvm-commits] CVS: llvm-www/DevMtgMay2007.html

2007-05-08 Thread Reid Spencer


Changes in directory llvm-www:

DevMtgMay2007.html updated: 1.123 - 1.124
---
Log message:

Session 3? We don' need no stinkin' Session 3.


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

 DevMtgMay2007.html |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)


Index: llvm-www/DevMtgMay2007.html
diff -u llvm-www/DevMtgMay2007.html:1.123 llvm-www/DevMtgMay2007.html:1.124
--- llvm-www/DevMtgMay2007.html:1.123   Tue May  8 23:48:39 2007
+++ llvm-www/DevMtgMay2007.html Tue May  8 23:51:04 2007
@@ -146,7 +146,7 @@
   /td
 /tr
 
-trth rowspan=6h3Session 4:br/Discussions/h3/th
+trth rowspan=6h3Session 3:br/Discussions/h3/th
   thStart/ththStop/ththLeader/ththDescription/th
 /tr
 trtd15:30/tdtd15:45/tdtdChrisophernbsp;Lamb/td
@@ -344,6 +344,6 @@
   src=http://jigsaw.w3.org/css-validator/images/vcss; alt=Valid CSS!/a
   a href=http://validator.w3.org/check/referer;img
   src=http://www.w3.org/Icons/valid-html401; alt=Valid HTML 4.01!/a
-br/Last modified: $Date: 2007/05/09 04:48:39 $
+br/Last modified: $Date: 2007/05/09 04:51:04 $
 /address
 !--#include virtual=footer.incl --



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


[llvm-commits] CVS: llvm-www/DevMtgMay2007.html

2007-05-08 Thread Reid Spencer


Changes in directory llvm-www:

DevMtgMay2007.html updated: 1.124 - 1.125
---
Log message:

Get the rowspan thingy right.


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

 DevMtgMay2007.html |6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)


Index: llvm-www/DevMtgMay2007.html
diff -u llvm-www/DevMtgMay2007.html:1.124 llvm-www/DevMtgMay2007.html:1.125
--- llvm-www/DevMtgMay2007.html:1.124   Tue May  8 23:51:04 2007
+++ llvm-www/DevMtgMay2007.html Tue May  8 23:54:15 2007
@@ -71,7 +71,7 @@
 trtdh4Coffee/h4/tdtd08:00/tdtd08:45/tdtdEveryone/td
   tdbMeet and Greet/b. Social time, get your coffee, etc./th
 /tr
-trth rowspan=4h3Session 0:br/Introductions/h3/th
+trth rowspan=3h3Session 0:br/Introductions/h3/th
 thStart/ththStop/ththWho/ththDescription/th/tr
 trtd08:45/tdtd09:00/td
   tdVikramnbsp;Advebr/Chrisnbsp;Lattner/td
@@ -92,7 +92,7 @@
   tdbDisscussions/b. Now that you know a little about everyone else,
 take some time to have some discussions and make connections. Group
 photo at 10:25./td/tr
-trth rowspan=5h3Session 1:brLearning LLVM/h3/th
+trth rowspan=4h3Session 1:brLearning LLVM/h3/th
 thStart/ththStop/ththSpeaker/ththDescription/th/tr
 trtd10:30/tdtd10:50/tdtdDevangnbsp;Patel/td
   tdbDemystifying The LLVM Pass Manager/b. The PassManager, which
@@ -344,6 +344,6 @@
   src=http://jigsaw.w3.org/css-validator/images/vcss; alt=Valid CSS!/a
   a href=http://validator.w3.org/check/referer;img
   src=http://www.w3.org/Icons/valid-html401; alt=Valid HTML 4.01!/a
-br/Last modified: $Date: 2007/05/09 04:51:04 $
+br/Last modified: $Date: 2007/05/09 04:54:15 $
 /address
 !--#include virtual=footer.incl --



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


[llvm-commits] CVS: llvm-www/DevMtgMay2007.html

2007-05-08 Thread Reid Spencer


Changes in directory llvm-www:

DevMtgMay2007.html updated: 1.125 - 1.126
---
Log message:

No, really, get the rowspan thing right.


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

 DevMtgMay2007.html |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)


Index: llvm-www/DevMtgMay2007.html
diff -u llvm-www/DevMtgMay2007.html:1.125 llvm-www/DevMtgMay2007.html:1.126
--- llvm-www/DevMtgMay2007.html:1.125   Tue May  8 23:54:15 2007
+++ llvm-www/DevMtgMay2007.html Tue May  8 23:55:27 2007
@@ -92,7 +92,7 @@
   tdbDisscussions/b. Now that you know a little about everyone else,
 take some time to have some discussions and make connections. Group
 photo at 10:25./td/tr
-trth rowspan=4h3Session 1:brLearning LLVM/h3/th
+trth rowspan=5h3Session 1:brLearning LLVM/h3/th
 thStart/ththStop/ththSpeaker/ththDescription/th/tr
 trtd10:30/tdtd10:50/tdtdDevangnbsp;Patel/td
   tdbDemystifying The LLVM Pass Manager/b. The PassManager, which
@@ -344,6 +344,6 @@
   src=http://jigsaw.w3.org/css-validator/images/vcss; alt=Valid CSS!/a
   a href=http://validator.w3.org/check/referer;img
   src=http://www.w3.org/Icons/valid-html401; alt=Valid HTML 4.01!/a
-br/Last modified: $Date: 2007/05/09 04:54:15 $
+br/Last modified: $Date: 2007/05/09 04:55:27 $
 /address
 !--#include virtual=footer.incl --



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


[llvm-commits] CVS: llvm/docs/ReleaseNotes.html

2007-05-08 Thread Chris Lattner


Changes in directory llvm/docs:

ReleaseNotes.html updated: 1.368 - 1.369
---
Log message:

strip the llvm 1.9 info out of the release notes


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

 ReleaseNotes.html |  150 ++
 1 files changed, 29 insertions(+), 121 deletions(-)


Index: llvm/docs/ReleaseNotes.html
diff -u llvm/docs/ReleaseNotes.html:1.368 llvm/docs/ReleaseNotes.html:1.369
--- llvm/docs/ReleaseNotes.html:1.368   Tue Apr  3 23:14:31 2007
+++ llvm/docs/ReleaseNotes.html Tue May  8 23:58:11 2007
@@ -4,11 +4,11 @@
 head
   meta http-equiv=Content-Type content=text/html; charset=utf-8
   link rel=stylesheet href=llvm.css type=text/css
-  titleLLVM 1.9 Release Notes/title
+  titleLLVM 2.0 Release Notes/title
 /head
 body
 
-div class=doc_titleLLVM 1.9 Release Notes/div
+div class=doc_titleLLVM 2.0 Release Notes/div
  
 ol
   lia href=#introIntroduction/a/li
@@ -32,13 +32,10 @@
 div class=doc_text
 
 pThis document contains the release notes for the LLVM compiler
-infrastructure, release 1.9.  Here we describe the status of LLVM, including 
any
-known problems and major improvements from the previous release.  The most
-up-to-date version of this document (corresponding to LLVM CVS) can be found
-on the a
-href=http://llvm.org/releases/;LLVM releases web site/a.  If you are
-not reading this on the LLVM web pages, you should probably go there because
-this document may be updated after the release./p
+infrastructure, release 2.0.  Here we describe the status of LLVM, including 
any
+known problems and major improvements from the previous release.  All LLVM
+releases may be downloaded from the a href=http://llvm.org/releases/;LLVM
+releases web site/a.
 
 pFor more information about LLVM, including information about the latest
 release, please check out the a href=http://llvm.org/;main LLVM
@@ -61,8 +58,18 @@
 
 div class=doc_text
 
-pThis is the tenth public release of the LLVM Compiler Infrastructure. This
-release incorporates a large number of enhancements, new features, and bug
+pThis is the eleventh public release of the LLVM Compiler Infrastructure. 
+Being the first major release since 1.0, we took this as an opportunity to
+break backwards compatibility with the LLVM 1.x bytecode and .ll file format.
+If you have LLVM 1.9 .ll files that you would like to upgrade to LLVM 2.x, we 
+recommend the use of the stand alone a href=#llvm-upgradellvm-upgrade/a
+tool.  We intend to keep compatibility with .ll and .bc formats within the 2.x
+release series./p
+
+pNote that while 
+ This
+release 
+incorporates a large number of enhancements, new features, and bug
 fixes.  We recommend that all users of previous LLVM versions upgrade.
 /p
 
@@ -70,37 +77,7 @@
 
 
!--=--
 div class=doc_subsection
-a name=newfeaturesNew Features in LLVM 1.9/a
-/div
-
-!--_--
-div class=doc_subsubsectiona name=x86-64New X86-64 Backend/a/div
-div class=doc_text
-pLLVM 1.9 now fully supports the x86-64 instruction set on Mac OS/X, and
-supports it on Linux (and other operating systems) when compiling in -static
-mode. LLVM includes JIT support for X86-64, and supports both Intel EMT-64T
-and AMD-64 architectures.  The X86-64 instruction set permits addressing a
-64-bit addressing space and provides the compiler with twice the
-number of integer registers to use./p
-/div
-
-!--_--
-div class=doc_subsubsectiona name=ltoLink-Time Optimization integration
-with native linkers/a/div
-div class=doc_text
-pLLVM now includes a href=LinkTimeOptimization.htmlliblto/a which can
-be used to integrate LLVM Link-Time Optimization support into a native linker.
-This allows LLVM .bc to transparently participate with linking an application,
-even when some .o files are in LLVM form and some are not./p
-/div
-
-!--_--
-div class=doc_subsubsectiona name=dwarfDWARF debugging 
-support for Linux, Cygwin and MinGW on X86/a/div
-div class=doc_text
-pllvm-gcc4 now supports generating debugging info for Linux, Cygwin and 
MinGW.
-This extends the PPC/Darwin and X86/Darwin debugging support available in the
-1.8 release. DWARF is a standard debugging format used on many platforms./p
+a name=newfeaturesNew Features in LLVM 2.0/a
 /div
 
 
!--_--
@@ -111,17 +88,7 @@
   Significant changes include:/p
 
 ul
-liLLVM includes a new 'predicate simplifier' pass, which
-currently performs dominator tree-based optimizations./li
-liThe complete loop unroll pass now supports unrolling of
- multiple basic block loops./li
-liThe 'globalopt' pass can now perform the scalar replacement of
-aggregates transformation on some heap allocations./li
-liThe 

[llvm-commits] CVS: llvm-www/DevMtgMay2007.html

2007-05-08 Thread Reid Spencer


Changes in directory llvm-www:

DevMtgMay2007.html updated: 1.126 - 1.127
---
Log message:

Some more formatting corrections.


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

 DevMtgMay2007.html |   11 +++
 1 files changed, 7 insertions(+), 4 deletions(-)


Index: llvm-www/DevMtgMay2007.html
diff -u llvm-www/DevMtgMay2007.html:1.126 llvm-www/DevMtgMay2007.html:1.127
--- llvm-www/DevMtgMay2007.html:1.126   Tue May  8 23:55:27 2007
+++ llvm-www/DevMtgMay2007.html Wed May  9 00:05:45 2007
@@ -68,8 +68,11 @@
   preliminary agenda. That said, here's roughly how we think the meeting will 
   go (all times approximate):/p
   table class=www
-trtdh4Coffee/h4/tdtd08:00/tdtd08:45/tdtdEveryone/td
-  tdbMeet and Greet/b. Social time, get your coffee, etc./th
+trthEvent/ththStart/ththStop/ththWho/th
+  thDescription/th/tr
+
trtdh4Breakfast/h4/tdtd08:00/tdtd08:45/tdtdEveryone/td
+  tdbBreakfast Buffet/b. Get your breakfast in the hotel lounge and
+join us in the meeting room for conversation and greetings./th
 /tr
 trth rowspan=3h3Session 0:br/Introductions/h3/th
 thStart/ththStop/ththWho/ththDescription/th/tr
@@ -106,7 +109,7 @@
   coming in the future./td
 /tr
 trtd11:15/tdtd11:35/tdtdNicknbsp;Lewycky/td
-  tdbIntroduction To Predicate Simplifierb. A review of the design 
and
+  tdbIntroduction To Predicate Simplifier/b. A review of the design 
and
 implementation of LLVM's Predicate Simplifier Pass, otherwise known
 as VRP (Value Range Propagation).
   /td
@@ -344,6 +347,6 @@
   src=http://jigsaw.w3.org/css-validator/images/vcss; alt=Valid CSS!/a
   a href=http://validator.w3.org/check/referer;img
   src=http://www.w3.org/Icons/valid-html401; alt=Valid HTML 4.01!/a
-br/Last modified: $Date: 2007/05/09 04:55:27 $
+br/Last modified: $Date: 2007/05/09 05:05:45 $
 /address
 !--#include virtual=footer.incl --



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


[llvm-commits] CVS: llvm-www/DevMtgMay2007.html

2007-05-08 Thread Reid Spencer


Changes in directory llvm-www:

DevMtgMay2007.html updated: 1.127 - 1.128
---
Log message:

Add Jeff Cohen's talk.


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

 DevMtgMay2007.html |   24 +++-
 1 files changed, 15 insertions(+), 9 deletions(-)


Index: llvm-www/DevMtgMay2007.html
diff -u llvm-www/DevMtgMay2007.html:1.127 llvm-www/DevMtgMay2007.html:1.128
--- llvm-www/DevMtgMay2007.html:1.127   Wed May  9 00:05:45 2007
+++ llvm-www/DevMtgMay2007.html Wed May  9 00:19:11 2007
@@ -86,9 +86,10 @@
 trtd09:00/tdtd10:00/tdtdEveryone/a/td
   tdbIntroductions/b. This time is reserved for everyone to introduce
 themselves. The conference poll indicated that the thing you wanted 
most
-was to get to know one another. So, here's your chance. You have 1
-minute to tell us twho you are, what you do, how much you love LLVM, 
why
-you work with it, or anything else you want to say. The time is yours.
+was to get to know one another. So, here's your chance. You have b1
+  minute /bto tell us who you are, what you do, how much you love 
+LLVM, why you work with it, or anything else you want to say. The time 
+is yours, but only for a minute.
   /td
 /tr
 trtdh4Break/h4/tdtd10:00/tdtd10:30/tdtdEveryone/td
@@ -124,22 +125,27 @@
 trtdh3Lunch/h3/tdtd12:00/tdtd13:00/tdtdEveryone/td
   tdThanks to a generous sponsor, lunch will be catered./td/tr
 
-trth rowspan=5h3Session 2:brUsing LLVM/h3/th
+trth rowspan=6h3Session 2:brUsing LLVM/h3/th
   thStart/ththStop/ththSpeaker/ththDescription/th
 /tr
-trtd13:00/tdtd13:30/tdtdSarahnbsp;Thompson/td
+trtd13:00/tdtd13:20/tdtdSarahnbsp;Thompson/td
   tdbUsing LLVM At NASA/b. A review of how Ames Research Center, NASA
 is using LLVM to support model checking, symbolic execution and static
 analysis of NASA software./td
 /tr
-trtd13:30/tdtd14:00/tdtdScottnbsp;Michel/td
+trtd13:25/tdtd13:45/tdtdScottnbsp;Michel/td
   tdbThe Cell BE Symbiotic Processor Element Backend/b. A 
presentation
 of the practice and experience that resulted from Aerospace's
 implementation of an LLVM back-end Target for the Cell BE Symbiotic
 Processor Element./td
 /tr
-trtd14:00/tdtd14:30/tdtdJohnnbsp;Criswell/td
-  tdUIUC Research - TBD/td
+trtd13:50/tdtd14:10/tdtdJohnnbsp;Criswell/td
+  tdbUIUC Research/b. To be determined./td
+/tr
+trtd14:10/tdtd14:30/tdtdJeffnbsp;Cohen/td
+  tdbUsing LLVM For The Jolt Compiler/b. Jeff will share his
+experiences in using the LLVM Compiler Infrastructure as the basis for
+the Jolt Language's compiler./td
 /tr
 trtd14:30/tdtd15:00/tdtdStevenbsp;Naroff/td
   tdbObjective-C/b. Improvements to the Objective-C front end./td
@@ -347,6 +353,6 @@
   src=http://jigsaw.w3.org/css-validator/images/vcss; alt=Valid CSS!/a
   a href=http://validator.w3.org/check/referer;img
   src=http://www.w3.org/Icons/valid-html401; alt=Valid HTML 4.01!/a
-br/Last modified: $Date: 2007/05/09 05:05:45 $
+br/Last modified: $Date: 2007/05/09 05:19:11 $
 /address
 !--#include virtual=footer.incl --



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


[llvm-commits] CVS: llvm-www/DevMtgMay2007.html

2007-05-08 Thread Reid Spencer


Changes in directory llvm-www:

DevMtgMay2007.html updated: 1.128 - 1.129
---
Log message:

Fix a title.


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

 DevMtgMay2007.html |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)


Index: llvm-www/DevMtgMay2007.html
diff -u llvm-www/DevMtgMay2007.html:1.128 llvm-www/DevMtgMay2007.html:1.129
--- llvm-www/DevMtgMay2007.html:1.128   Wed May  9 00:19:11 2007
+++ llvm-www/DevMtgMay2007.html Wed May  9 00:21:44 2007
@@ -156,7 +156,7 @@
 /tr
 
 trth rowspan=6h3Session 3:br/Discussions/h3/th
-  thStart/ththStop/ththLeader/ththDescription/th
+  thStart/ththStop/ththLeader/ththDiscussion Topic/th
 /tr
 trtd15:30/tdtd15:45/tdtdChrisophernbsp;Lamb/td
   tdbConcurrency Primitives/b.  For multi-threaded shared memory 
@@ -353,6 +353,6 @@
   src=http://jigsaw.w3.org/css-validator/images/vcss; alt=Valid CSS!/a
   a href=http://validator.w3.org/check/referer;img
   src=http://www.w3.org/Icons/valid-html401; alt=Valid HTML 4.01!/a
-br/Last modified: $Date: 2007/05/09 05:19:11 $
+br/Last modified: $Date: 2007/05/09 05:21:44 $
 /address
 !--#include virtual=footer.incl --



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


[llvm-commits] CVS: llvm-www/DevMtgMay2007.html

2007-05-08 Thread Reid Spencer


Changes in directory llvm-www:

DevMtgMay2007.html updated: 1.129 - 1.130
---
Log message:

Add breakfast.


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

 DevMtgMay2007.html |3 ++-
 1 files changed, 2 insertions(+), 1 deletion(-)


Index: llvm-www/DevMtgMay2007.html
diff -u llvm-www/DevMtgMay2007.html:1.129 llvm-www/DevMtgMay2007.html:1.130
--- llvm-www/DevMtgMay2007.html:1.129   Wed May  9 00:21:44 2007
+++ llvm-www/DevMtgMay2007.html Wed May  9 00:22:49 2007
@@ -264,6 +264,7 @@
 
 div class=www_subsectiona name=mealsMeals/a/div
 div class=www_text
+  pbBreakfast/b: Breakfast will be available in the hotel lounge/p
   pbLunch/b: Lunch will be catered!/p
   pbDinner/b: Dinner is optional. We'll go to a local restaurant (TBD) 
   after the meeting. We'll be going Dutch for this so you'll need to buy
@@ -353,6 +354,6 @@
   src=http://jigsaw.w3.org/css-validator/images/vcss; alt=Valid CSS!/a
   a href=http://validator.w3.org/check/referer;img
   src=http://www.w3.org/Icons/valid-html401; alt=Valid HTML 4.01!/a
-br/Last modified: $Date: 2007/05/09 05:21:44 $
+br/Last modified: $Date: 2007/05/09 05:22:49 $
 /address
 !--#include virtual=footer.incl --



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


[llvm-commits] CVS: llvm/docs/ReleaseNotes.html

2007-05-08 Thread Chris Lattner


Changes in directory llvm/docs:

ReleaseNotes.html updated: 1.369 - 1.370
---
Log message:

add a meta-blurb about the 2.0 release


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

 ReleaseNotes.html |   29 +++--
 1 files changed, 19 insertions(+), 10 deletions(-)


Index: llvm/docs/ReleaseNotes.html
diff -u llvm/docs/ReleaseNotes.html:1.369 llvm/docs/ReleaseNotes.html:1.370
--- llvm/docs/ReleaseNotes.html:1.369   Tue May  8 23:58:11 2007
+++ llvm/docs/ReleaseNotes.html Wed May  9 00:27:05 2007
@@ -59,19 +59,28 @@
 div class=doc_text
 
 pThis is the eleventh public release of the LLVM Compiler Infrastructure. 
-Being the first major release since 1.0, we took this as an opportunity to
+Being the first major release since 1.0, this release is different in several
+ways from our previous releases:/p
+
+ol
+liWe took this as an opportunity to
 break backwards compatibility with the LLVM 1.x bytecode and .ll file format.
 If you have LLVM 1.9 .ll files that you would like to upgrade to LLVM 2.x, we 
 recommend the use of the stand alone a href=#llvm-upgradellvm-upgrade/a
 tool.  We intend to keep compatibility with .ll and .bc formats within the 2.x
-release series./p
-
-pNote that while 
- This
-release 
-incorporates a large number of enhancements, new features, and bug
-fixes.  We recommend that all users of previous LLVM versions upgrade.
-/p
+release series, like we did within the 1.x series./li
+liThere are several significant change to the LLVM IR and internal APIs, such
+as a major overhaul of the type system, the completely new bitcode file
+format, etc./li
+liWe designed the release around a 6 month release cycle instead of the usual
+3-month cycle.  This gave us extra time to develop and test some of the
+more invasive features in this release./li
+liLLVM 2.0 no longer supports the llvm-gcc3 front-end./li
+/ol
+
+pNote that while this is a major version bump, this release has been
+   extensively tested on a wide range of software.  It is easy to say that this
+   is our best release yet, in terms of both features and correctness./p
 
 /div
 
@@ -588,7 +597,7 @@
   src=http://www.w3.org/Icons/valid-html401; alt=Valid HTML 4.01! //a
 
   a href=http://llvm.org/;The LLVM Compiler Infrastructure/abr
-  Last modified: $Date: 2007/05/09 04:58:11 $
+  Last modified: $Date: 2007/05/09 05:27:05 $
 /address
 
 /body



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