diff --git a/.cvsignore b/.cvsignore index 42e13cc..07c17b1 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -llvm-2.2.tar.gz +llvm-2.3.tar.gz diff --git a/llvm-2.2-gcc43.patch b/llvm-2.2-gcc43.patch deleted file mode 100644 index 9eace99..0000000 --- a/llvm-2.2-gcc43.patch +++ /dev/null @@ -1,797 +0,0 @@ -diff -r ba4f1d4ee0d4 include/llvm/ADT/BitVector.h ---- a/include/llvm/ADT/BitVector.h Wed Mar 05 22:42:42 2008 -0800 -+++ b/include/llvm/ADT/BitVector.h Wed Mar 05 23:15:18 2008 -0800 -@@ -16,8 +16,9 @@ - - #include "llvm/Support/MathExtras.h" - #include -+#include - #include --#include -+#include - - namespace llvm { - -diff -r ba4f1d4ee0d4 include/llvm/ADT/DenseMap.h ---- a/include/llvm/ADT/DenseMap.h Wed Mar 05 22:42:42 2008 -0800 -+++ b/include/llvm/ADT/DenseMap.h Wed Mar 05 23:15:18 2008 -0800 -@@ -313,7 +313,7 @@ - NumEntries = 0; - NumTombstones = 0; - NumBuckets = InitBuckets; -- assert(InitBuckets && (InitBuckets & InitBuckets-1) == 0 && -+ assert(InitBuckets && (InitBuckets & (InitBuckets-1)) == 0 && - "# initial buckets must be a power of two!"); - Buckets = reinterpret_cast(new char[sizeof(BucketT)*InitBuckets]); - // Initialize all the keys to EmptyKey. -diff -r ba4f1d4ee0d4 include/llvm/ADT/ilist ---- a/include/llvm/ADT/ilist Wed Mar 05 22:42:42 2008 -0800 -+++ b/include/llvm/ADT/ilist Wed Mar 05 23:15:18 2008 -0800 -@@ -40,6 +40,7 @@ - - #include "llvm/ADT/iterator" - #include -+#include - - namespace llvm { - -diff -r ba4f1d4ee0d4 include/llvm/Analysis/LoopInfo.h ---- a/include/llvm/Analysis/LoopInfo.h Wed Mar 05 22:42:42 2008 -0800 -+++ b/include/llvm/Analysis/LoopInfo.h Wed Mar 05 23:15:18 2008 -0800 -@@ -397,13 +397,14 @@ - if (BranchInst *BI = dyn_cast(BackedgeBlock->getTerminator())) - if (BI->isConditional()) { - if (ICmpInst *ICI = dyn_cast(BI->getCondition())) { -- if (ICI->getOperand(0) == Inc) -+ if (ICI->getOperand(0) == Inc) { - if (BI->getSuccessor(0) == getHeader()) { - if (ICI->getPredicate() == ICmpInst::ICMP_NE) - return ICI->getOperand(1); - } else if (ICI->getPredicate() == ICmpInst::ICMP_EQ) { - return ICI->getOperand(1); - } -+ } - } - } - -diff -r ba4f1d4ee0d4 include/llvm/Analysis/ScalarEvolutionExpressions.h ---- a/include/llvm/Analysis/ScalarEvolutionExpressions.h Wed Mar 05 22:42:42 2008 -0800 -+++ b/include/llvm/Analysis/ScalarEvolutionExpressions.h Wed Mar 05 23:15:18 2008 -0800 -@@ -252,11 +252,12 @@ - virtual bool hasComputableLoopEvolution(const Loop *L) const { - bool HasVarying = false; - for (unsigned i = 0, e = getNumOperands(); i != e; ++i) -- if (!getOperand(i)->isLoopInvariant(L)) -+ if (!getOperand(i)->isLoopInvariant(L)) { - if (getOperand(i)->hasComputableLoopEvolution(L)) - HasVarying = true; - else - return false; -+ } - return HasVarying; - } - -diff -r ba4f1d4ee0d4 include/llvm/CodeGen/MachineRegisterInfo.h ---- a/include/llvm/CodeGen/MachineRegisterInfo.h Wed Mar 05 22:42:42 2008 -0800 -+++ b/include/llvm/CodeGen/MachineRegisterInfo.h Wed Mar 05 23:15:18 2008 -0800 -@@ -207,8 +207,8 @@ - // If the first node isn't one we're interested in, advance to one that - // we are interested in. - if (op) { -- if (!ReturnUses && op->isUse() || -- !ReturnDefs && op->isDef()) -+ if ((!ReturnUses && op->isUse()) || -+ (!ReturnDefs && op->isDef())) - ++*this; - } - } -@@ -236,8 +236,8 @@ - Op = Op->getNextOperandForReg(); - - // If this is an operand we don't care about, skip it. -- while (Op && (!ReturnUses && Op->isUse() || -- !ReturnDefs && Op->isDef())) -+ while (Op && ((!ReturnUses && Op->isUse()) || -+ (!ReturnDefs && Op->isDef()))) - Op = Op->getNextOperandForReg(); - - return *this; -diff -r ba4f1d4ee0d4 include/llvm/CodeGen/SelectionDAGNodes.h ---- a/include/llvm/CodeGen/SelectionDAGNodes.h Wed Mar 05 22:42:42 2008 -0800 -+++ b/include/llvm/CodeGen/SelectionDAGNodes.h Wed Mar 05 23:15:18 2008 -0800 -@@ -802,8 +802,8 @@ - static inline SDOperand getEmptyKey() { return SDOperand((SDNode*)-1, -1U); } - static inline SDOperand getTombstoneKey() { return SDOperand((SDNode*)-1, 0);} - static unsigned getHashValue(const SDOperand &Val) { -- return (unsigned)((uintptr_t)Val.Val >> 4) ^ -- (unsigned)((uintptr_t)Val.Val >> 9) + Val.ResNo; -+ return ((unsigned)((uintptr_t)Val.Val >> 4) ^ -+ (unsigned)((uintptr_t)Val.Val >> 9)) + Val.ResNo; - } - static bool isEqual(const SDOperand &LHS, const SDOperand &RHS) { - return LHS == RHS; -diff -r ba4f1d4ee0d4 include/llvm/LinkTimeOptimizer.h ---- a/include/llvm/LinkTimeOptimizer.h Wed Mar 05 22:42:42 2008 -0800 -+++ b/include/llvm/LinkTimeOptimizer.h Wed Mar 05 23:15:18 2008 -0800 -@@ -16,6 +16,7 @@ - #define __LTO_H__ - - #include -+#include - #include - #include - #include -diff -r ba4f1d4ee0d4 include/llvm/Support/Streams.h ---- a/include/llvm/Support/Streams.h Wed Mar 05 22:42:42 2008 -0800 -+++ b/include/llvm/Support/Streams.h Wed Mar 05 23:15:18 2008 -0800 -@@ -16,6 +16,7 @@ - #define LLVM_SUPPORT_STREAMS_H - - #include -+#include - - namespace llvm { - -diff -r ba4f1d4ee0d4 include/llvm/Target/SubtargetFeature.h ---- a/include/llvm/Target/SubtargetFeature.h Wed Mar 05 22:42:42 2008 -0800 -+++ b/include/llvm/Target/SubtargetFeature.h Wed Mar 05 23:15:18 2008 -0800 -@@ -21,6 +21,7 @@ - #include - #include - #include -+#include - #include "llvm/Support/DataTypes.h" - - namespace llvm { -diff -r ba4f1d4ee0d4 include/llvm/Target/TargetJITInfo.h ---- a/include/llvm/Target/TargetJITInfo.h Wed Mar 05 22:42:42 2008 -0800 -+++ b/include/llvm/Target/TargetJITInfo.h Wed Mar 05 23:15:18 2008 -0800 -@@ -17,8 +17,9 @@ - #ifndef LLVM_TARGET_TARGETJITINFO_H - #define LLVM_TARGET_TARGETJITINFO_H - -+#include - #include --#include -+#include "llvm/Support/DataTypes.h" - - namespace llvm { - class Function; -diff -r ba4f1d4ee0d4 lib/Analysis/Analysis.cpp ---- a/lib/Analysis/Analysis.cpp Wed Mar 05 22:42:42 2008 -0800 -+++ b/lib/Analysis/Analysis.cpp Wed Mar 05 23:15:18 2008 -0800 -@@ -10,6 +10,7 @@ - #include "llvm-c/Analysis.h" - #include "llvm/Analysis/Verifier.h" - #include -+#include - - using namespace llvm; - -diff -r ba4f1d4ee0d4 lib/Analysis/IPA/Andersens.cpp ---- a/lib/Analysis/IPA/Andersens.cpp Wed Mar 05 22:42:42 2008 -0800 -+++ b/lib/Analysis/IPA/Andersens.cpp Wed Mar 05 23:15:18 2008 -0800 -@@ -139,7 +139,7 @@ - - Constraint(ConstraintType Ty, unsigned D, unsigned S, unsigned O = 0) - : Type(Ty), Dest(D), Src(S), Offset(O) { -- assert(Offset == 0 || Ty != AddressOf && -+ assert((Offset == 0 || Ty != AddressOf) && - "Offset is illegal on addressof constraints"); - } - -@@ -1931,7 +1931,7 @@ - - C.Src = FindEquivalentNode(RHSNode, RHSLabel); - C.Dest = FindEquivalentNode(FindNode(LHSNode), LHSLabel); -- if (C.Src == C.Dest && C.Type == Constraint::Copy -+ if ((C.Src == C.Dest && C.Type == Constraint::Copy) - || Seen.count(C)) - continue; - -diff -r ba4f1d4ee0d4 lib/Analysis/IPA/GlobalsModRef.cpp ---- a/lib/Analysis/IPA/GlobalsModRef.cpp Wed Mar 05 22:42:42 2008 -0800 -+++ b/lib/Analysis/IPA/GlobalsModRef.cpp Wed Mar 05 23:15:18 2008 -0800 -@@ -115,11 +115,12 @@ - /// case the most generic behavior of this function should be returned. - virtual ModRefBehavior getModRefBehavior(Function *F, CallSite CS, - std::vector *Info) { -- if (FunctionRecord *FR = getFunctionInfo(F)) -+ if (FunctionRecord *FR = getFunctionInfo(F)) { - if (FR->FunctionEffect == 0) - return DoesNotAccessMemory; - else if ((FR->FunctionEffect & Mod) == 0) - return OnlyReadsMemory; -+ } - return AliasAnalysis::getModRefBehavior(F, CS, Info); - } - -diff -r ba4f1d4ee0d4 lib/Analysis/ScalarEvolution.cpp ---- a/lib/Analysis/ScalarEvolution.cpp Wed Mar 05 22:42:42 2008 -0800 -+++ b/lib/Analysis/ScalarEvolution.cpp Wed Mar 05 23:15:18 2008 -0800 -@@ -1994,13 +1994,14 @@ - Instruction *I = dyn_cast(V); - if (I == 0 || !L->contains(I->getParent())) return 0; - -- if (PHINode *PN = dyn_cast(I)) -+ if (PHINode *PN = dyn_cast(I)) { - if (L->getHeader() == I->getParent()) - return PN; - else - // We don't currently keep track of the control flow needed to evaluate - // PHIs, so we cannot handle PHIs inside of loops. - return 0; -+ } - - // If we won't be able to constant fold this expression even if the operands - // are constants, return early. -diff -r ba4f1d4ee0d4 lib/Archive/Archive.cpp ---- a/lib/Archive/Archive.cpp Wed Mar 05 22:42:42 2008 -0800 -+++ b/lib/Archive/Archive.cpp Wed Mar 05 23:15:18 2008 -0800 -@@ -18,6 +18,8 @@ - #include "llvm/Module.h" - #include "llvm/Support/MemoryBuffer.h" - #include "llvm/System/Process.h" -+#include -+#include - using namespace llvm; - - // getMemberSize - compute the actual physical size of the file member as seen -diff -r ba4f1d4ee0d4 lib/Archive/ArchiveInternals.h ---- a/lib/Archive/ArchiveInternals.h Wed Mar 05 22:42:42 2008 -0800 -+++ b/lib/Archive/ArchiveInternals.h Wed Mar 05 23:15:18 2008 -0800 -@@ -17,6 +17,8 @@ - #include "llvm/Bitcode/Archive.h" - #include "llvm/System/TimeValue.h" - #include "llvm/ADT/StringExtras.h" -+ -+#include - - #define ARFILE_MAGIC "!\n" ///< magic string - #define ARFILE_MAGIC_LEN (sizeof(ARFILE_MAGIC)-1) ///< length of magic string -diff -r ba4f1d4ee0d4 lib/AsmParser/LLLexer.cpp ---- a/lib/AsmParser/LLLexer.cpp Wed Mar 05 22:42:42 2008 -0800 -+++ b/lib/AsmParser/LLLexer.cpp Wed Mar 05 23:15:18 2008 -0800 -@@ -18,6 +18,8 @@ - - #include - #include "llvmAsmParser.h" -+ -+#include - using namespace llvm; - - //===----------------------------------------------------------------------===// -diff -r ba4f1d4ee0d4 lib/AsmParser/Parser.cpp ---- a/lib/AsmParser/Parser.cpp Wed Mar 05 22:42:42 2008 -0800 -+++ b/lib/AsmParser/Parser.cpp Wed Mar 05 23:15:18 2008 -0800 -@@ -14,6 +14,7 @@ - #include "ParserInternals.h" - #include "llvm/Module.h" - #include "llvm/Support/MemoryBuffer.h" -+#include - using namespace llvm; - - -diff -r ba4f1d4ee0d4 lib/Bitcode/Reader/BitReader.cpp ---- a/lib/Bitcode/Reader/BitReader.cpp Wed Mar 05 22:42:42 2008 -0800 -+++ b/lib/Bitcode/Reader/BitReader.cpp Wed Mar 05 23:15:18 2008 -0800 -@@ -11,6 +11,7 @@ - #include "llvm/Bitcode/ReaderWriter.h" - #include "llvm/Support/MemoryBuffer.h" - #include -+#include - - using namespace llvm; - -diff -r ba4f1d4ee0d4 lib/CodeGen/MachOWriter.cpp ---- a/lib/CodeGen/MachOWriter.cpp Wed Mar 05 22:42:42 2008 -0800 -+++ b/lib/CodeGen/MachOWriter.cpp Wed Mar 05 23:15:18 2008 -0800 -@@ -38,6 +38,7 @@ - #include "llvm/Support/OutputBuffer.h" - #include "llvm/Support/Streams.h" - #include -+#include - using namespace llvm; - - /// AddMachOWriter - Concrete function to add the Mach-O writer to the function -diff -r ba4f1d4ee0d4 lib/ExecutionEngine/ExecutionEngine.cpp ---- a/lib/ExecutionEngine/ExecutionEngine.cpp Wed Mar 05 22:42:42 2008 -0800 -+++ b/lib/ExecutionEngine/ExecutionEngine.cpp Wed Mar 05 23:15:18 2008 -0800 -@@ -26,7 +26,8 @@ - #include "llvm/System/DynamicLibrary.h" - #include "llvm/System/Host.h" - #include "llvm/Target/TargetData.h" --#include -+#include -+#include - using namespace llvm; - - STATISTIC(NumInitBytes, "Number of bytes of global vars initialized"); -diff -r ba4f1d4ee0d4 lib/ExecutionEngine/ExecutionEngineBindings.cpp ---- a/lib/ExecutionEngine/ExecutionEngineBindings.cpp Wed Mar 05 22:42:42 2008 -0800 -+++ b/lib/ExecutionEngine/ExecutionEngineBindings.cpp Wed Mar 05 23:15:18 2008 -0800 -@@ -15,6 +15,7 @@ - #include "llvm-c/ExecutionEngine.h" - #include "llvm/ExecutionEngine/GenericValue.h" - #include "llvm/ExecutionEngine/ExecutionEngine.h" -+#include - - using namespace llvm; - -diff -r ba4f1d4ee0d4 lib/ExecutionEngine/Interpreter/Execution.cpp ---- a/lib/ExecutionEngine/Interpreter/Execution.cpp Wed Mar 05 22:42:42 2008 -0800 -+++ b/lib/ExecutionEngine/Interpreter/Execution.cpp Wed Mar 05 23:15:18 2008 -0800 -@@ -23,8 +23,9 @@ - #include "llvm/ADT/Statistic.h" - #include "llvm/Support/Debug.h" - #include "llvm/Support/MathExtras.h" -+#include - #include --#include -+#include - using namespace llvm; - - STATISTIC(NumDynamicInsts, "Number of dynamic instructions executed"); -diff -r ba4f1d4ee0d4 lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp ---- a/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp Wed Mar 05 22:42:42 2008 -0800 -+++ b/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp Wed Mar 05 23:15:18 2008 -0800 -@@ -29,6 +29,7 @@ - #include - #include - #include -+#include - - #ifdef __linux__ - #include -diff -r ba4f1d4ee0d4 lib/ExecutionEngine/Interpreter/Interpreter.cpp ---- a/lib/ExecutionEngine/Interpreter/Interpreter.cpp Wed Mar 05 22:42:42 2008 -0800 -+++ b/lib/ExecutionEngine/Interpreter/Interpreter.cpp Wed Mar 05 23:15:18 2008 -0800 -@@ -18,6 +18,7 @@ - #include "llvm/DerivedTypes.h" - #include "llvm/Module.h" - #include "llvm/ModuleProvider.h" -+#include - using namespace llvm; - - static struct RegisterInterp { -diff -r ba4f1d4ee0d4 lib/ExecutionEngine/JIT/JITMemoryManager.cpp ---- a/lib/ExecutionEngine/JIT/JITMemoryManager.cpp Wed Mar 05 22:42:42 2008 -0800 -+++ b/lib/ExecutionEngine/JIT/JITMemoryManager.cpp Wed Mar 05 23:15:18 2008 -0800 -@@ -17,6 +17,8 @@ - #include - #include - #include -+#include -+#include - using namespace llvm; - - -diff -r ba4f1d4ee0d4 lib/Support/CommandLine.cpp ---- a/lib/Support/CommandLine.cpp Wed Mar 05 22:42:42 2008 -0800 -+++ b/lib/Support/CommandLine.cpp Wed Mar 05 23:15:18 2008 -0800 -@@ -29,6 +29,7 @@ - #include - #include - #include -+#include - using namespace llvm; - using namespace cl; - -diff -r ba4f1d4ee0d4 lib/Support/FileUtilities.cpp ---- a/lib/Support/FileUtilities.cpp Wed Mar 05 22:42:42 2008 -0800 -+++ b/lib/Support/FileUtilities.cpp Wed Mar 05 23:15:18 2008 -0800 -@@ -16,6 +16,7 @@ - #include "llvm/System/Path.h" - #include "llvm/System/MappedFile.h" - #include "llvm/ADT/StringExtras.h" -+#include - #include - #include - using namespace llvm; -diff -r ba4f1d4ee0d4 lib/Support/FoldingSet.cpp ---- a/lib/Support/FoldingSet.cpp Wed Mar 05 22:42:42 2008 -0800 -+++ b/lib/Support/FoldingSet.cpp Wed Mar 05 23:15:18 2008 -0800 -@@ -18,6 +18,7 @@ - #include "llvm/ADT/APFloat.h" - #include "llvm/Support/MathExtras.h" - #include -+#include - using namespace llvm; - - //===----------------------------------------------------------------------===// -diff -r ba4f1d4ee0d4 lib/Support/Statistic.cpp ---- a/lib/Support/Statistic.cpp Wed Mar 05 22:42:42 2008 -0800 -+++ b/lib/Support/Statistic.cpp Wed Mar 05 23:15:18 2008 -0800 -@@ -28,6 +28,7 @@ - #include "llvm/ADT/StringExtras.h" - #include - #include -+#include - using namespace llvm; - - // GetLibSupportInfoOutputFile - Return a file stream to print our output on. -diff -r ba4f1d4ee0d4 lib/Support/StringExtras.cpp ---- a/lib/Support/StringExtras.cpp Wed Mar 05 22:42:42 2008 -0800 -+++ b/lib/Support/StringExtras.cpp Wed Mar 05 23:15:18 2008 -0800 -@@ -12,6 +12,7 @@ - //===----------------------------------------------------------------------===// - - #include "llvm/ADT/StringExtras.h" -+#include - using namespace llvm; - - /// getToken - This function extracts one token from source, ignoring any -diff -r ba4f1d4ee0d4 lib/Target/Sparc/SparcAsmPrinter.cpp ---- a/lib/Target/Sparc/SparcAsmPrinter.cpp Wed Mar 05 22:42:42 2008 -0800 -+++ b/lib/Target/Sparc/SparcAsmPrinter.cpp Wed Mar 05 23:15:18 2008 -0800 -@@ -31,6 +31,7 @@ - #include "llvm/Support/CommandLine.h" - #include "llvm/Support/MathExtras.h" - #include -+#include - using namespace llvm; - - STATISTIC(EmittedInsts, "Number of machine instrs printed"); -diff -r ba4f1d4ee0d4 lib/Target/X86/X86JITInfo.cpp ---- a/lib/Target/X86/X86JITInfo.cpp Wed Mar 05 22:42:42 2008 -0800 -+++ b/lib/Target/X86/X86JITInfo.cpp Wed Mar 05 23:15:18 2008 -0800 -@@ -18,6 +18,7 @@ - #include "llvm/CodeGen/MachineCodeEmitter.h" - #include "llvm/Config/alloca.h" - #include -+#include - using namespace llvm; - - #ifdef _MSC_VER -diff -r ba4f1d4ee0d4 lib/Transforms/IPO/SimplifyLibCalls.cpp ---- a/lib/Transforms/IPO/SimplifyLibCalls.cpp Wed Mar 05 22:42:42 2008 -0800 -+++ b/lib/Transforms/IPO/SimplifyLibCalls.cpp Wed Mar 05 23:15:18 2008 -0800 -@@ -30,6 +30,7 @@ - #include "llvm/Support/Debug.h" - #include "llvm/Target/TargetData.h" - #include "llvm/Transforms/IPO.h" -+#include - using namespace llvm; - - /// This statistic keeps track of the total number of library calls that have -diff -r ba4f1d4ee0d4 lib/Transforms/Scalar/LoopUnroll.cpp ---- a/lib/Transforms/Scalar/LoopUnroll.cpp Wed Mar 05 22:42:42 2008 -0800 -+++ b/lib/Transforms/Scalar/LoopUnroll.cpp Wed Mar 05 23:15:18 2008 -0800 -@@ -36,8 +36,9 @@ - #include "llvm/ADT/STLExtras.h" - #include "llvm/ADT/SmallPtrSet.h" - #include "llvm/IntrinsicInst.h" -+#include -+#include - #include --#include - using namespace llvm; - - STATISTIC(NumCompletelyUnrolled, "Number of loops completely unrolled"); -diff -r ba4f1d4ee0d4 lib/VMCore/AutoUpgrade.cpp ---- a/lib/VMCore/AutoUpgrade.cpp Wed Mar 05 22:42:42 2008 -0800 -+++ b/lib/VMCore/AutoUpgrade.cpp Wed Mar 05 23:15:18 2008 -0800 -@@ -18,6 +18,7 @@ - #include "llvm/Instructions.h" - #include "llvm/ParameterAttributes.h" - #include "llvm/Intrinsics.h" -+#include - using namespace llvm; - - -diff -r ba4f1d4ee0d4 lib/VMCore/ConstantFold.cpp ---- a/lib/VMCore/ConstantFold.cpp Wed Mar 05 22:42:42 2008 -0800 -+++ b/lib/VMCore/ConstantFold.cpp Wed Mar 05 23:15:18 2008 -0800 -@@ -658,25 +658,28 @@ - case Instruction::Xor: - return ConstantInt::get(C1V ^ C2V); - case Instruction::Shl: -- if (uint32_t shiftAmt = C2V.getZExtValue()) -+ if (uint32_t shiftAmt = C2V.getZExtValue()) { - if (shiftAmt < C1V.getBitWidth()) - return ConstantInt::get(C1V.shl(shiftAmt)); - else - return UndefValue::get(C1->getType()); // too big shift is undef -+ } - return const_cast(CI1); // Zero shift is identity - case Instruction::LShr: -- if (uint32_t shiftAmt = C2V.getZExtValue()) -+ if (uint32_t shiftAmt = C2V.getZExtValue()) { - if (shiftAmt < C1V.getBitWidth()) - return ConstantInt::get(C1V.lshr(shiftAmt)); - else - return UndefValue::get(C1->getType()); // too big shift is undef -+ } - return const_cast(CI1); // Zero shift is identity - case Instruction::AShr: -- if (uint32_t shiftAmt = C2V.getZExtValue()) -+ if (uint32_t shiftAmt = C2V.getZExtValue()) { - if (shiftAmt < C1V.getBitWidth()) - return ConstantInt::get(C1V.ashr(shiftAmt)); - else - return UndefValue::get(C1->getType()); // too big shift is undef -+ } - return const_cast(CI1); // Zero shift is identity - } - } -@@ -1081,18 +1084,20 @@ - // Ok, we ran out of things they have in common. If any leftovers - // are non-zero then we have a difference, otherwise we are equal. - for (; i < CE1->getNumOperands(); ++i) -- if (!CE1->getOperand(i)->isNullValue()) -+ if (!CE1->getOperand(i)->isNullValue()) { - if (isa(CE1->getOperand(i))) - return isSigned ? ICmpInst::ICMP_SGT : ICmpInst::ICMP_UGT; - else - return ICmpInst::BAD_ICMP_PREDICATE; // Might be equal. -+ } - - for (; i < CE2->getNumOperands(); ++i) -- if (!CE2->getOperand(i)->isNullValue()) -+ if (!CE2->getOperand(i)->isNullValue()) { - if (isa(CE2->getOperand(i))) - return isSigned ? ICmpInst::ICMP_SLT : ICmpInst::ICMP_ULT; - else - return ICmpInst::BAD_ICMP_PREDICATE; // Might be equal. -+ } - return ICmpInst::ICMP_EQ; - } - } -@@ -1121,20 +1126,22 @@ - if (C1->isNullValue()) { - if (const GlobalValue *GV = dyn_cast(C2)) - // Don't try to evaluate aliases. External weak GV can be null. -- if (!isa(GV) && !GV->hasExternalWeakLinkage()) -+ if (!isa(GV) && !GV->hasExternalWeakLinkage()) { - if (pred == ICmpInst::ICMP_EQ) - return ConstantInt::getFalse(); - else if (pred == ICmpInst::ICMP_NE) - return ConstantInt::getTrue(); -+ } - // icmp eq/ne(GV,null) -> false/true - } else if (C2->isNullValue()) { - if (const GlobalValue *GV = dyn_cast(C1)) - // Don't try to evaluate aliases. External weak GV can be null. -- if (!isa(GV) && !GV->hasExternalWeakLinkage()) -+ if (!isa(GV) && !GV->hasExternalWeakLinkage()) { - if (pred == ICmpInst::ICMP_EQ) - return ConstantInt::getFalse(); - else if (pred == ICmpInst::ICMP_NE) - return ConstantInt::getTrue(); -+ } - } - - if (isa(C1) && isa(C2)) { -diff -r ba4f1d4ee0d4 lib/VMCore/Core.cpp ---- a/lib/VMCore/Core.cpp Wed Mar 05 22:42:42 2008 -0800 -+++ b/lib/VMCore/Core.cpp Wed Mar 05 23:15:18 2008 -0800 -@@ -22,6 +22,7 @@ - #include "llvm/Support/MemoryBuffer.h" - #include - #include -+#include - - using namespace llvm; - -diff -r ba4f1d4ee0d4 lib/VMCore/Instructions.cpp ---- a/lib/VMCore/Instructions.cpp Wed Mar 05 22:42:42 2008 -0800 -+++ b/lib/VMCore/Instructions.cpp Wed Mar 05 23:15:18 2008 -0800 -@@ -182,11 +182,12 @@ - /// - Value *PHINode::hasConstantValue(bool AllowNonDominatingInstruction) const { - // If the PHI node only has one incoming value, eliminate the PHI node... -- if (getNumIncomingValues() == 1) -+ if (getNumIncomingValues() == 1) { - if (getIncomingValue(0) != this) // not X = phi X - return getIncomingValue(0); - else - return UndefValue::get(getType()); // Self cycle is dead. -+ } - - // Otherwise if all of the incoming values are the same for the PHI, replace - // the PHI node with the incoming value. -@@ -194,13 +195,14 @@ - Value *InVal = 0; - bool HasUndefInput = false; - for (unsigned i = 0, e = getNumIncomingValues(); i != e; ++i) -- if (isa(getIncomingValue(i))) -+ if (isa(getIncomingValue(i))) { - HasUndefInput = true; -- else if (getIncomingValue(i) != this) // Not the PHI node itself... -+ } else if (getIncomingValue(i) != this) { // Not the PHI node itself... - if (InVal && getIncomingValue(i) != InVal) - return 0; // Not the same, bail out. - else - InVal = getIncomingValue(i); -+ } - - // The only case that could cause InVal to be null is if we have a PHI node - // that only has entries for itself. In this case, there is no entry into the -@@ -441,8 +443,8 @@ - cast(cast(Fn->getType())->getElementType()); - FTy = FTy; // silence warning. - -- assert((NumArgs == FTy->getNumParams()) || -- (FTy->isVarArg() && NumArgs > FTy->getNumParams()) && -+ assert(((NumArgs == FTy->getNumParams()) || -+ (FTy->isVarArg() && NumArgs > FTy->getNumParams())) && - "Calling a function with bad signature"); - - for (unsigned i = 0, e = NumArgs; i != e; i++) { -@@ -1027,12 +1029,13 @@ - if (!isa(Ptr)) return 0; // Type isn't a pointer type! - - // Handle the special case of the empty set index set... -- if (NumIdx == 0) -+ if (NumIdx == 0) { - if (AllowCompositeLeaf || - cast(Ptr)->getElementType()->isFirstClassType()) - return cast(Ptr)->getElementType(); - else - return 0; -+ } - - unsigned CurIdx = 0; - while (const CompositeType *CT = dyn_cast(Ptr)) { -@@ -2319,7 +2322,7 @@ - assert(Op0Ty == Op1Ty && - "Both operands to ICmp instruction are not of the same type!"); - // Check that the operands are the right type -- assert(Op0Ty->isInteger() || isa(Op0Ty) && -+ assert((Op0Ty->isInteger() || isa(Op0Ty)) && - "Invalid operand types for ICmp instruction"); - return; - } -diff -r ba4f1d4ee0d4 lib/VMCore/Value.cpp ---- a/lib/VMCore/Value.cpp Wed Mar 05 22:42:42 2008 -0800 -+++ b/lib/VMCore/Value.cpp Wed Mar 05 23:15:18 2008 -0800 -@@ -307,7 +307,7 @@ - void User::replaceUsesOfWith(Value *From, Value *To) { - if (From == To) return; // Duh what? - -- assert(!isa(this) || isa(this) && -+ assert((!isa(this) || isa(this)) && - "Cannot call User::replaceUsesofWith on a constant!"); - - for (unsigned i = 0, E = getNumOperands(); i != E; ++i) -diff -r ba4f1d4ee0d4 tools/llvm-db/Commands.cpp ---- a/tools/llvm-db/Commands.cpp Wed Mar 05 22:42:42 2008 -0800 -+++ b/tools/llvm-db/Commands.cpp Wed Mar 05 23:15:18 2008 -0800 -@@ -21,6 +21,7 @@ - #include "llvm/Support/FileUtilities.h" - #include "llvm/ADT/StringExtras.h" - #include -+#include - using namespace llvm; - - /// getCurrentLanguage - Return the current source language that the user is -diff -r ba4f1d4ee0d4 tools/llvm-ld/llvm-ld.cpp ---- a/tools/llvm-ld/llvm-ld.cpp Wed Mar 05 22:42:42 2008 -0800 -+++ b/tools/llvm-ld/llvm-ld.cpp Wed Mar 05 23:15:18 2008 -0800 -@@ -38,6 +38,7 @@ - #include "llvm/System/Signals.h" - #include - #include -+#include - using namespace llvm; - - // Input/Output Options -diff -r ba4f1d4ee0d4 tools/llvm-upgrade/UpgradeInternals.h ---- a/tools/llvm-upgrade/UpgradeInternals.h Wed Mar 05 22:42:42 2008 -0800 -+++ b/tools/llvm-upgrade/UpgradeInternals.h Wed Mar 05 23:15:18 2008 -0800 -@@ -22,7 +22,7 @@ - #include "llvm/ADT/StringExtras.h" - #include - #include -- -+#include - - // Global variables exported from the lexer. - extern int yydebug; -diff -r ba4f1d4ee0d4 tools/llvmc/llvmc.cpp ---- a/tools/llvmc/llvmc.cpp Wed Mar 05 22:42:42 2008 -0800 -+++ b/tools/llvmc/llvmc.cpp Wed Mar 05 23:15:18 2008 -0800 -@@ -21,6 +21,7 @@ - #include "llvm/Support/ManagedStatic.h" - #include "llvm/System/Signals.h" - #include -+#include - using namespace llvm; - - //===----------------------------------------------------------------------===// -diff -r ba4f1d4ee0d4 utils/PerfectShuffle/PerfectShuffle.cpp ---- a/utils/PerfectShuffle/PerfectShuffle.cpp Wed Mar 05 22:42:42 2008 -0800 -+++ b/utils/PerfectShuffle/PerfectShuffle.cpp Wed Mar 05 23:15:18 2008 -0800 -@@ -17,7 +17,7 @@ - #include - #include - #include -- -+#include - struct Operator; - - // Masks are 4-nibble hex numbers. Values 0-7 in any nibble means that it takes -diff -r ba4f1d4ee0d4 utils/TableGen/AsmWriterEmitter.cpp ---- a/utils/TableGen/AsmWriterEmitter.cpp Wed Mar 05 22:42:42 2008 -0800 -+++ b/utils/TableGen/AsmWriterEmitter.cpp Wed Mar 05 23:15:18 2008 -0800 -@@ -242,11 +242,12 @@ - - unsigned MismatchOperand = ~0U; - for (unsigned i = 0, e = Operands.size(); i != e; ++i) { -- if (Operands[i] != Other.Operands[i]) -+ if (Operands[i] != Other.Operands[i]) { - if (MismatchOperand != ~0U) // Already have one mismatch? - return ~1U; - else - MismatchOperand = i; -+ } - } - return MismatchOperand; - } -diff -r ba4f1d4ee0d4 utils/TableGen/CodeGenDAGPatterns.cpp ---- a/utils/TableGen/CodeGenDAGPatterns.cpp Wed Mar 05 22:42:42 2008 -0800 -+++ b/utils/TableGen/CodeGenDAGPatterns.cpp Wed Mar 05 23:15:18 2008 -0800 -@@ -1318,14 +1318,14 @@ - while (TPN->ApplyTypeConstraints(P, false)) - /* Resolve all types */; - -- if (TPN->ContainsUnresolvedType()) -+ if (TPN->ContainsUnresolvedType()) { - if (iter == 0) - throw "Value #" + utostr(i) + " of PredicateOperand '" + - DefaultOps[iter][i]->getName() + "' doesn't have a concrete type!"; - else - throw "Value #" + utostr(i) + " of OptionalDefOperand '" + - DefaultOps[iter][i]->getName() + "' doesn't have a concrete type!"; -- -+ } - DefaultOpInfo.DefaultOps.push_back(TPN); - } - -diff -r ba4f1d4ee0d4 utils/TableGen/CodeGenRegisters.h ---- a/utils/TableGen/CodeGenRegisters.h Wed Mar 05 22:42:42 2008 -0800 -+++ b/utils/TableGen/CodeGenRegisters.h Wed Mar 05 23:15:18 2008 -0800 -@@ -15,9 +15,10 @@ - #ifndef CODEGEN_REGISTERS_H - #define CODEGEN_REGISTERS_H - -+#include "llvm/CodeGen/ValueTypes.h" - #include - #include --#include "llvm/CodeGen/ValueTypes.h" -+#include - - namespace llvm { - class Record; -diff -r ba4f1d4ee0d4 utils/TableGen/DAGISelEmitter.cpp ---- a/utils/TableGen/DAGISelEmitter.cpp Wed Mar 05 22:42:42 2008 -0800 -+++ b/utils/TableGen/DAGISelEmitter.cpp Wed Mar 05 23:15:18 2008 -0800 -@@ -1059,7 +1059,7 @@ - Code += "), 0"; - emitCode(Code2 + Code + ");"); - -- if (NodeHasChain) -+ if (NodeHasChain) { - // Remember which op produces the chain. - if (!isRoot) - emitCode(ChainName + " = SDOperand(" + NodeName + -@@ -1067,6 +1067,7 @@ - else - emitCode(ChainName + " = SDOperand(" + NodeName + - ", " + utostr(NumResults+NumDstRegs) + ");"); -+ } - - if (!isRoot) { - NodeOps.push_back("Tmp" + utostr(ResNo)); -diff -r ba4f1d4ee0d4 utils/TableGen/TGLexer.cpp ---- a/utils/TableGen/TGLexer.cpp Wed Mar 05 22:42:42 2008 -0800 -+++ b/utils/TableGen/TGLexer.cpp Wed Mar 05 23:15:18 2008 -0800 -@@ -17,6 +17,8 @@ - #include - #include "llvm/Config/config.h" - #include -+#include -+#include - using namespace llvm; - - TGLexer::TGLexer(MemoryBuffer *StartBuf) : CurLineNo(1), CurBuf(StartBuf) { diff --git a/llvm.spec b/llvm.spec index 029b2eb..9611fac 100644 --- a/llvm.spec +++ b/llvm.spec @@ -13,8 +13,8 @@ %define __debug_install_post echo not building debuginfo Name: llvm -Version: 2.2 -Release: 4%{?dist} +Version: 2.3 +Release: 1%{?dist} Summary: The Low Level Virtual Machine License: NCSA Group: Development/Languages @@ -25,7 +25,6 @@ Source1: http://llvm.org/releases/%{version}/llvm-gcc%{lgcc_version}-%{version}. %endif Patch0: llvm-2.1-fix-sed.patch -Patch1: llvm-2.2-gcc43.patch BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) BuildRequires: bison @@ -114,7 +113,6 @@ API documentation for the LLVM compiler infrastructure. %setup -q -n llvm-%{version} %{?_with_gcc:-a1} %patch0 -p1 -b .fix-sed -%patch1 -p1 -b .gcc43 %build # We're not building a debuginfo package yet, because some generated @@ -237,7 +235,6 @@ rm -rf %{buildroot} %files devel %defattr(-,root,root,-) %{_bindir}/llvm-config -%{_datadir}/%{name}-%{version} %{_includedir}/%{name} %{_includedir}/%{name}-c %{_libdir}/%{name} @@ -289,6 +286,9 @@ rm -rf %{buildroot} %changelog +* Wed Jun 18 2008 Bryan O'Sullivan - 2.3-1 +- LLVM 2.3 + * Thu May 29 2008 Tom "spot" Callaway - 2.2-4 - fix license tags diff --git a/sources b/sources index 991de27..dee8eca 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -c16f89f0f28b66db0b776dfb2997cc40 llvm-2.2.tar.gz +17254d72863b7fa005f3fb327aea3439 llvm-2.3.tar.gz