[llvm-commits] CVS: llvm-www/releases/1.6/
Changes in directory llvm-www/releases/1.6: --- Log message: Directory /home/vadve/shared/PublicCVS/llvm-www/releases/1.6 added to the repository --- Diffs of the changes: (+0 -0) 0 files changed ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-test/TEST.nightly.report
Changes in directory llvm-test: TEST.nightly.report updated: 1.37 -> 1.38 --- Log message: This does wonderful things for readability --- Diffs of the changes: (+3 -3) TEST.nightly.report |6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) Index: llvm-test/TEST.nightly.report diff -u llvm-test/TEST.nightly.report:1.37 llvm-test/TEST.nightly.report:1.38 --- llvm-test/TEST.nightly.report:1.37 Wed Oct 26 11:45:24 2005 +++ llvm-test/TEST.nightly.report Wed Nov 2 10:15:15 2005 @@ -66,7 +66,7 @@ ["LLC" , 'TEST-RESULT-llc-time: program\s*([.0-9m:]+)', \&FormatTime], ["LLC-BETA" , 'TEST-RESULT-llc-beta-time: program\s*([.0-9m:]+)',\&FormatTime], ["JIT" , 'TEST-RESULT-jit-time: program\s*([.0-9m:]+)', \&FormatTime], - ["GCC/CBE" , \&GCCCBERatio], - ["GCC/LLC" , \&GCCLLCRatio], - ["GCC/LLC-BETA" , \&GCCLLC_BETARatio] + ["GCC/CBE" , \&GCCCBERatio], + ["GCC/LLC" , \&GCCLLCRatio], + ["GCC/LLC-BETA" , \&GCCLLC_BETARatio] ); ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/releases/1.6/cfrontend-1.6.i686-redhat-linux-gnu.tar.gz cfrontend-1.6.powerpc-apple-darwin7.9.0.tar.gz cfrontend-1.6.source.tar.gz cfrontend-1.6.sparc-sun-solaris2.8.tar.
Changes in directory llvm-www/releases/1.6: cfrontend-1.6.i686-redhat-linux-gnu.tar.gz added (r1.1) cfrontend-1.6.powerpc-apple-darwin7.9.0.tar.gz added (r1.1) cfrontend-1.6.source.tar.gz added (r1.1) cfrontend-1.6.sparc-sun-solaris2.8.tar.gz added (r1.1) --- Log message: Initial versions of the LLVM GCC frontend. I really hope we don't change these. --- Diffs of the changes: (+0 -0) cfrontend-1.6.i686-redhat-linux-gnu.tar.gz |0 cfrontend-1.6.powerpc-apple-darwin7.9.0.tar.gz |0 cfrontend-1.6.source.tar.gz|0 cfrontend-1.6.sparc-sun-solaris2.8.tar.gz |0 4 files changed Index: llvm-www/releases/1.6/cfrontend-1.6.i686-redhat-linux-gnu.tar.gz Index: llvm-www/releases/1.6/cfrontend-1.6.powerpc-apple-darwin7.9.0.tar.gz Index: llvm-www/releases/1.6/cfrontend-1.6.source.tar.gz Index: llvm-www/releases/1.6/cfrontend-1.6.sparc-sun-solaris2.8.tar.gz ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm-www/releases/1.6/LICENSE.TXT index.html
Changes in directory llvm-www/releases/1.6: LICENSE.TXT added (r1.1) index.html added (r1.1) --- Log message: Add the license file and index page for this release directory. --- Diffs of the changes: (+79 -0) LICENSE.TXT | 72 index.html |7 + 2 files changed, 79 insertions(+) Index: llvm-www/releases/1.6/LICENSE.TXT diff -c /dev/null llvm-www/releases/1.6/LICENSE.TXT:1.1 *** /dev/null Wed Nov 2 10:53:13 2005 --- llvm-www/releases/1.6/LICENSE.TXT Wed Nov 2 10:53:02 2005 *** *** 0 --- 1,72 + == + LLVM Release License + == + University of Illinois/NCSA + Open Source License + + Copyright (c) 2003, 2004, 2005 University of Illinois at Urbana-Champaign. + All rights reserved. + + Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.cs.uiuc.edu + + Permission is hereby granted, free of charge, to any person obtaining a copy of + this software and associated documentation files (the "Software"), to deal with + the Software without restriction, including without limitation the rights to + use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies + of the Software, and to permit persons to whom the Software is furnished to do + so, subject to the following conditions: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE + SOFTWARE. + + == + Copyrights and Licenses for Third Party Software Distributed with LLVM: + == + The LLVM software contains code written by third parties. Such software will + have its own individual LICENSE.TXT file in the directory in which it appears. + This file will describe the copyrights, license, and restrictions which apply + to that code. + + The disclaimer of warranty in the University of Illinois Open Source License + applies to all code in the LLVM Distribution, and nothing in any of the + other licenses gives permission to use the names of the LLVM Team or the + University of Illinois to endorse or promote products derived from this + Software. + + The following pieces of software have additional or alternate copyrights, + licenses, and/or restrictions: + + Program Directory + --- - + System Library llvm/lib/System + Compiler Driver llvm/tools/llvmc + PowerPC Backend llvm/lib/Target/PowerPC + bzip2 llvm/lib/Support/bzip2/LICENSE + Autoconfllvm/autoconf + llvm/projects/ModuleMaker/autoconf + llvm/projects/sample/autoconf + Burgllvm/utils/Burg + GNU Libcllvm/runtime/GCCLibraries/libc Index: llvm-www/releases/1.6/index.html diff -c /dev/null llvm-www/releases/1.6/index.html:1.1 *** /dev/null Wed Nov 2 10:53:24 2005 --- llvm-www/releases/1.6/index.htmlWed Nov 2 10:53:02 2005 *** *** 0 --- 1,7 + + + + + + + ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/lib/Target/CBackend/Writer.cpp
Changes in directory llvm/lib/Target/CBackend: Writer.cpp updated: 1.245 -> 1.246 --- Log message: Fix a QOI issue noticed by Markus F.X.J. Oberhumer. This fixes PR641: http://llvm.cs.uiuc.edu/PR641 --- Diffs of the changes: (+1 -0) Writer.cpp |1 + 1 files changed, 1 insertion(+) Index: llvm/lib/Target/CBackend/Writer.cpp diff -u llvm/lib/Target/CBackend/Writer.cpp:1.245 llvm/lib/Target/CBackend/Writer.cpp:1.246 --- llvm/lib/Target/CBackend/Writer.cpp:1.245 Tue Sep 27 15:52:44 2005 +++ llvm/lib/Target/CBackend/Writer.cpp Wed Nov 2 11:42:58 2005 @@ -1731,6 +1731,7 @@ PM.add(createLowerGCPass()); PM.add(createLowerAllocationsPass(true)); PM.add(createLowerInvokePass()); + PM.add(createCFGSimplificationPass()); // clean up after lower invoke. PM.add(new CBackendNameAllUsedStructs()); PM.add(new CWriter(o, getIntrinsicLowering())); return false; ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [release_16] CVS: llvm/test/Regression/CFrontend/2004-06-17-UnorderedCompares.c.tr 2005-02-20-AggregateSAVEEXPR.c
Changes in directory llvm/test/Regression/CFrontend: 2004-06-17-UnorderedCompares.c.tr updated: 1.4 -> 1.4.4.1 2005-02-20-AggregateSAVEEXPR.c updated: 1.2 -> 1.2.6.1 --- Log message: Mark these as failing on sparc instead of sparcv9. The configure script no longer tells us that we're configuring for SparcV9 specifically. 2004-06-17-UnorderedCompares may work on SparcV8, but it's experiental anyway. 2005-02-20-AggregateSAVEEXPR should fail on any Solaris machine, as Solaris doesn't provide complex number support. --- Diffs of the changes: (+2 -2) 2004-06-17-UnorderedCompares.c.tr |2 +- 2005-02-20-AggregateSAVEEXPR.c|2 +- 2 files changed, 2 insertions(+), 2 deletions(-) Index: llvm/test/Regression/CFrontend/2004-06-17-UnorderedCompares.c.tr diff -u llvm/test/Regression/CFrontend/2004-06-17-UnorderedCompares.c.tr:1.4 llvm/test/Regression/CFrontend/2004-06-17-UnorderedCompares.c.tr:1.4.4.1 --- llvm/test/Regression/CFrontend/2004-06-17-UnorderedCompares.c.tr:1.4 Mon Sep 12 20:03:53 2005 +++ llvm/test/Regression/CFrontend/2004-06-17-UnorderedCompares.c.trWed Nov 2 12:05:50 2005 @@ -1,5 +1,5 @@ // RUN: %llvmgcc -xc -std=c99 %s -c -o - | llvm-dis | grep -v llvm.isunordered | not grep call -// XFAIL: sparcv9|ia64 +// XFAIL: sparc|ia64 #include Index: llvm/test/Regression/CFrontend/2005-02-20-AggregateSAVEEXPR.c diff -u llvm/test/Regression/CFrontend/2005-02-20-AggregateSAVEEXPR.c:1.2 llvm/test/Regression/CFrontend/2005-02-20-AggregateSAVEEXPR.c:1.2.6.1 --- llvm/test/Regression/CFrontend/2005-02-20-AggregateSAVEEXPR.c:1.2 Fri Apr 1 17:16:23 2005 +++ llvm/test/Regression/CFrontend/2005-02-20-AggregateSAVEEXPR.c Wed Nov 2 12:05:50 2005 @@ -6,7 +6,7 @@ // We could modify the test to use only GCC extensions, but I don't know if // that would change the nature of the test. // -// XFAIL: sparcv9 +// XFAIL: sparc #include ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [release_16] CVS: llvm/test/Regression/ExecutionEngine/parallel.ll
Changes in directory llvm/test/Regression/ExecutionEngine: parallel.ll updated: 1.1 -> 1.1.4.1 --- Log message: Don't use -q; this option is not available on Solaris grep (and probably other, traditional UNIX greps). --- Diffs of the changes: (+1 -1) parallel.ll |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/ExecutionEngine/parallel.ll diff -u llvm/test/Regression/ExecutionEngine/parallel.ll:1.1 llvm/test/Regression/ExecutionEngine/parallel.ll:1.1.4.1 --- llvm/test/Regression/ExecutionEngine/parallel.ll:1.1Tue Jul 12 19:35:12 2005 +++ llvm/test/Regression/ExecutionEngine/parallel.llWed Nov 2 12:06:28 2005 @@ -1,3 +1,3 @@ ; This isn't really an assembly file. This test runs the ParallelJIT example ; program and ensures its output is sane. -; RUN: ParallelJIT | grep -q "Fib2 returned 267914296" +; RUN: ParallelJIT | grep "Fib2 returned 267914296" ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/Transforms/InstCombine/add.ll
Changes in directory llvm/test/Regression/Transforms/InstCombine: add.ll updated: 1.27 -> 1.28 --- Log message: This is missed by InstCombine, patch comming --- Diffs of the changes: (+7 -0) add.ll |7 +++ 1 files changed, 7 insertions(+) Index: llvm/test/Regression/Transforms/InstCombine/add.ll diff -u llvm/test/Regression/Transforms/InstCombine/add.ll:1.27 llvm/test/Regression/Transforms/InstCombine/add.ll:1.28 --- llvm/test/Regression/Transforms/InstCombine/add.ll:1.27 Sat Sep 17 23:22:59 2005 +++ llvm/test/Regression/Transforms/InstCombine/add.ll Wed Nov 2 12:34:05 2005 @@ -206,3 +206,10 @@ %tmp.10 = or uint %tmp.7, %tmp.9; [#uses=1] ret uint %tmp.10 } + +long %test30(long %x) { +%tmp.2 = xor long %x, -9223372036854775808 +;; Add of sign bit -> xor of sign bit. +%tmp.4 = add long %tmp.2, -9223372036854775808 +ret long %tmp.4 +} ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/lib/Transforms/Scalar/InstructionCombining.cpp
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.402 -> 1.403 --- Log message: make this 64 bit clean, fixed test30 of /Regression/Transforms/InstCombine/add.ll --- Diffs of the changes: (+1 -1) InstructionCombining.cpp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/lib/Transforms/Scalar/InstructionCombining.cpp diff -u llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.402 llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.403 --- llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.402 Mon Oct 31 12:35:52 2005 +++ llvm/lib/Transforms/Scalar/InstructionCombining.cpp Wed Nov 2 12:35:40 2005 @@ -710,7 +710,7 @@ // X + (signbit) --> X ^ signbit if (ConstantInt *CI = dyn_cast(RHSC)) { unsigned NumBits = CI->getType()->getPrimitiveSizeInBits(); - uint64_t Val = CI->getRawValue() & (1ULL << NumBits)-1; + uint64_t Val = CI->getRawValue() & (~0ULL >> (64- NumBits)); if (Val == (1ULL << (NumBits-1))) return BinaryOperator::createXor(LHS, RHS); } ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Changes in directory llvm/lib/CodeGen/SelectionDAG: DAGCombiner.cpp updated: 1.59 -> 1.60 --- Log message: Fix a crash that Andrew noticed, and add a pair of braces to unfconfuse XCode's indenting. --- Diffs of the changes: (+5 -5) DAGCombiner.cpp | 10 +- 1 files changed, 5 insertions(+), 5 deletions(-) Index: llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp diff -u llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:1.59 llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:1.60 --- llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:1.59 Tue Nov 1 19:47:04 2005 +++ llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp Wed Nov 2 12:42:59 2005 @@ -963,14 +963,14 @@ DAG.getConstant(N1C->getValue()&N01C->getValue(), VT)); } // fold (and (sign_extend_inreg x, i16 to i32), 1) -> (and x, 1) - if (N0.getOpcode() == ISD::SIGN_EXTEND_INREG) { + if (N1C && N0.getOpcode() == ISD::SIGN_EXTEND_INREG) { unsigned ExtendBits = MVT::getSizeInBits(cast(N0.getOperand(1))->getVT()); -if ((N1C->getValue() & (~0ULL << ExtendBits)) == 0) +if (ExtendBits == 64 || (N1C->getValue() & (~0ULL << ExtendBits) == 0)) return DAG.getNode(ISD::AND, VT, N0.getOperand(0), N1); } // fold (and (or x, 0x), 0xFF) -> 0xFF - if (N0.getOpcode() == ISD::OR && N1C) + if (N1C && N0.getOpcode() == ISD::OR) if (ConstantSDNode *ORI = dyn_cast(N0.getOperand(1))) if ((ORI->getValue() & N1C->getValue()) == N1C->getValue()) return N1; @@ -1031,7 +1031,7 @@ return DAG.getNode(N0.getOpcode(), VT, ANDNode, N0.getOperand(1)); } // fold (and (sra)) -> (and (srl)) when possible. - if (N0.getOpcode() == ISD::SRA && N0.Val->hasOneUse()) + if (N0.getOpcode() == ISD::SRA && N0.Val->hasOneUse()) { if (ConstantSDNode *N01C = dyn_cast(N0.getOperand(1))) { // If the RHS of the AND has zeros where the sign bits of the SRA will // land, turn the SRA into an SRL. @@ -1043,7 +1043,7 @@ return SDOperand(); } } - + } // fold (zext_inreg (extload x)) -> (zextload x) if (N0.getOpcode() == ISD::EXTLOAD) { MVT::ValueType EVT = cast(N0.getOperand(3))->getVT(); ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [release_16] CVS: llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Changes in directory llvm/lib/CodeGen/SelectionDAG: DAGCombiner.cpp updated: 1.58 -> 1.58.2.1 --- Log message: Merged in revision 1.60. --- Diffs of the changes: (+5 -5) DAGCombiner.cpp | 10 +- 1 files changed, 5 insertions(+), 5 deletions(-) Index: llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp diff -u llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:1.58 llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:1.58.2.1 --- llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:1.58 Sun Oct 30 01:41:49 2005 +++ llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp Wed Nov 2 13:38:00 2005 @@ -963,14 +963,14 @@ DAG.getConstant(N1C->getValue()&N01C->getValue(), VT)); } // fold (and (sign_extend_inreg x, i16 to i32), 1) -> (and x, 1) - if (N0.getOpcode() == ISD::SIGN_EXTEND_INREG) { + if (N1C && N0.getOpcode() == ISD::SIGN_EXTEND_INREG) { unsigned ExtendBits = MVT::getSizeInBits(cast(N0.getOperand(1))->getVT()); -if ((N1C->getValue() & (~0ULL << ExtendBits)) == 0) +if (ExtendBits == 64 || (N1C->getValue() & (~0ULL << ExtendBits) == 0)) return DAG.getNode(ISD::AND, VT, N0.getOperand(0), N1); } // fold (and (or x, 0x), 0xFF) -> 0xFF - if (N0.getOpcode() == ISD::OR && N1C) + if (N1C && N0.getOpcode() == ISD::OR) if (ConstantSDNode *ORI = dyn_cast(N0.getOperand(1))) if ((ORI->getValue() & N1C->getValue()) == N1C->getValue()) return N1; @@ -1031,7 +1031,7 @@ return DAG.getNode(N0.getOpcode(), VT, ANDNode, N0.getOperand(1)); } // fold (and (sra)) -> (and (srl)) when possible. - if (N0.getOpcode() == ISD::SRA && N0.Val->hasOneUse()) + if (N0.getOpcode() == ISD::SRA && N0.Val->hasOneUse()) { if (ConstantSDNode *N01C = dyn_cast(N0.getOperand(1))) { // If the RHS of the AND has zeros where the sign bits of the SRA will // land, turn the SRA into an SRL. @@ -1043,7 +1043,7 @@ return SDOperand(); } } - + } // fold (zext_inreg (extload x)) -> (zextload x) if (N0.getOpcode() == ISD::EXTLOAD) { MVT::ValueType EVT = cast(N0.getOperand(3))->getVT(); ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/lib/Target/IA64/IA64InstrInfo.td
Changes in directory llvm/lib/Target/IA64: IA64InstrInfo.td updated: 1.25 -> 1.26 --- Log message: Fix a bug that prevented this pattern from matching --- Diffs of the changes: (+1 -1) IA64InstrInfo.td |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/lib/Target/IA64/IA64InstrInfo.td diff -u llvm/lib/Target/IA64/IA64InstrInfo.td:1.25 llvm/lib/Target/IA64/IA64InstrInfo.td:1.26 --- llvm/lib/Target/IA64/IA64InstrInfo.td:1.25 Wed Nov 2 00:49:37 2005 +++ llvm/lib/Target/IA64/IA64InstrInfo.td Wed Nov 2 23:45:34 2005 @@ -360,7 +360,7 @@ // load constants of various sizes // FIXME: prettyprint -ve constants def : Pat<(i64 immSExt14:$imm), (ADDS r0, immSExt14:$imm)>; def : Pat<(i64 imm64:$imm), (MOVL imm64:$imm)>; -def : Pat<(i1 1), (CMPEQ r0, r0)>; // TODO: this should just be a ref to p0 +def : Pat<(i1 -1), (CMPEQ r0, r0)>; // TODO: this should just be a ref to p0 // TODO: support postincrement (reg, imm9) loads+stores - this needs more // tablegen support ___ 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.72 -> 1.73 --- Log message: Reject integer literals that are out of range for their type. --- Diffs of the changes: (+19 -1) DAGISelEmitter.cpp | 20 +++- 1 files changed, 19 insertions(+), 1 deletion(-) Index: llvm/utils/TableGen/DAGISelEmitter.cpp diff -u llvm/utils/TableGen/DAGISelEmitter.cpp:1.72 llvm/utils/TableGen/DAGISelEmitter.cpp:1.73 --- llvm/utils/TableGen/DAGISelEmitter.cpp:1.72 Wed Nov 2 00:49:14 2005 +++ llvm/utils/TableGen/DAGISelEmitter.cpp Wed Nov 2 23:46:11 2005 @@ -482,10 +482,28 @@ /// exception. bool TreePatternNode::ApplyTypeConstraints(TreePattern &TP, bool NotRegisters) { if (isLeaf()) { -if (DefInit *DI = dynamic_cast(getLeafValue())) +if (DefInit *DI = dynamic_cast(getLeafValue())) { // If it's a regclass or something else known, include the type. return UpdateNodeType(getIntrinsicType(DI->getDef(), NotRegisters, TP), TP); +} else if (IntInit *II = dynamic_cast(getLeafValue())) { + // Int inits are always integers. :) + bool MadeChange = UpdateNodeType(MVT::isInt, TP); + + if (hasTypeSet()) { +unsigned Size = MVT::getSizeInBits(getType()); +// Make sure that the value is representable for this type. +if (Size < 32) { + int Val = (II->getValue() << (32-Size)) >> (32-Size); + if (Val != II->getValue()) +TP.error("Sign-extended integer value '" + itostr(II->getValue()) + + "' is out of range for type 'MVT::" + + getEnumName(getType()) + "'!"); +} + } + + return MadeChange; +} return false; } ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/runtime/GCCLibraries/libg/
Changes in directory llvm/runtime/GCCLibraries/libg: --- Log message: Directory /home/vadve/shared/PublicCVS/llvm/runtime/GCCLibraries/libg added to the repository --- Diffs of the changes: (+0 -0) 0 files changed ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/tools/gccld/GenerateCode.cpp
Changes in directory llvm/tools/gccld: GenerateCode.cpp updated: 1.54 -> 1.55 --- Log message: add a hack that fixes: llvm-gcc main.c -Wl,-native -o a.out -g This is important because it used by many configure scripts. John, please pull this onto the 1.6 branch. --- Diffs of the changes: (+4 -1) GenerateCode.cpp |5 - 1 files changed, 4 insertions(+), 1 deletion(-) Index: llvm/tools/gccld/GenerateCode.cpp diff -u llvm/tools/gccld/GenerateCode.cpp:1.54 llvm/tools/gccld/GenerateCode.cpp:1.55 --- llvm/tools/gccld/GenerateCode.cpp:1.54 Tue Oct 18 01:29:43 2005 +++ llvm/tools/gccld/GenerateCode.cpp Thu Nov 3 01:17:51 2005 @@ -423,7 +423,10 @@ // Add in the libraries to link. for (unsigned index = 0; index < Libraries.size(); index++) -if (Libraries[index] != "crtend") { +// HACK: If this is libg, discard it. This gets added by the compiler +// driver when doing: 'llvm-gcc main.c -Wl,-native -o a.out -g'. Note that +// this should really be fixed by changing the llvm-gcc compiler driver. +if (Libraries[index] != "crtend" && Libraries[index] != "g") { std::string Tmp = "-l"+Libraries[index]; StringsToDelete.push_back(strdup(Tmp.c_str())); args.push_back(StringsToDelete.back()); ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits