[llvm-commits] CVS: llvm/test/CFrontend/2007-05-07-PaddingElements.c
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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