[llvm-commits] CVS: llvm/test/Regression/CodeGen/X86/vec_shuffle-6.ll

2006-07-11 Thread Evan Cheng


Changes in directory llvm/test/Regression/CodeGen/X86:

vec_shuffle-6.ll updated: 1.2 -> 1.3
---
Log message:

Fix test failure on non-Apple systems.

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

 vec_shuffle-6.ll |2 ++
 1 files changed, 2 insertions(+)


Index: llvm/test/Regression/CodeGen/X86/vec_shuffle-6.ll
diff -u llvm/test/Regression/CodeGen/X86/vec_shuffle-6.ll:1.2 
llvm/test/Regression/CodeGen/X86/vec_shuffle-6.ll:1.3
--- llvm/test/Regression/CodeGen/X86/vec_shuffle-6.ll:1.2   Mon Jul 10 
16:49:09 2006
+++ llvm/test/Regression/CodeGen/X86/vec_shuffle-6.ll   Wed Jul 12 01:48:47 2006
@@ -2,6 +2,8 @@
 ; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 | grep movaps | wc -l | grep 
1
 ; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 | grep movups | wc -l | grep 
2
 
+target triple = "i686-apple-darwin"
+
 %x = global [4 x int] [ int 1, int 2, int 3, int 4 ]
 
 <2 x long> %test1() {



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


[llvm-commits] CVS: llvm/lib/ExecutionEngine/JIT/JIT.cpp

2006-07-11 Thread Chris Lattner


Changes in directory llvm/lib/ExecutionEngine/JIT:

JIT.cpp updated: 1.68 -> 1.69
---
Log message:

Remove non-portable optimization that isn't worth it


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

 JIT.cpp |6 +-
 1 files changed, 1 insertion(+), 5 deletions(-)


Index: llvm/lib/ExecutionEngine/JIT/JIT.cpp
diff -u llvm/lib/ExecutionEngine/JIT/JIT.cpp:1.68 
llvm/lib/ExecutionEngine/JIT/JIT.cpp:1.69
--- llvm/lib/ExecutionEngine/JIT/JIT.cpp:1.68   Fri Jul  7 12:18:09 2006
+++ llvm/lib/ExecutionEngine/JIT/JIT.cppTue Jul 11 19:31:47 2006
@@ -309,11 +309,7 @@
   // space.
   Ptr = malloc(S+A);
   unsigned MisAligned = ((intptr_t)Ptr & (A-1));
-  unsigned Offset = MisAligned ? (A-MisAligned) : 0;
-  
-  // Trim the tail off the memory block.
-  realloc(Ptr, S+Offset);
-  Ptr = (char*)Ptr + Offset;
+  Ptr = (char*)Ptr + (MisAligned ? (A-MisAligned) : 0);
 }
 state.getPendingGlobals(locked).push_back(GV);
   }



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

2006-07-11 Thread Chris Lattner


Changes in directory llvm/lib/Target/PowerPC:

PPCRegisterInfo.cpp updated: 1.72 -> 1.73
---
Log message:

The PPC64 JIT needs register numbers to encode instructions.


---
Diffs of the changes:  (+36 -35)

 PPCRegisterInfo.cpp |   71 ++--
 1 files changed, 36 insertions(+), 35 deletions(-)


Index: llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
diff -u llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp:1.72 
llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp:1.73
--- llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp:1.72Mon Jul 10 19:48:23 2006
+++ llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp Tue Jul 11 15:53:55 2006
@@ -40,42 +40,43 @@
 /// getRegisterNumbering - Given the enum value for some register, e.g.
 /// PPC::F14, return the number that it corresponds to (e.g. 14).
 unsigned PPCRegisterInfo::getRegisterNumbering(unsigned RegEnum) {
+  using namespace PPC;
   switch (RegEnum) {
-case PPC::R0 :  case PPC::F0 :  case PPC::V0 : case PPC::CR0:  return  0;
-case PPC::R1 :  case PPC::F1 :  case PPC::V1 : case PPC::CR1:  return  1;
-case PPC::R2 :  case PPC::F2 :  case PPC::V2 : case PPC::CR2:  return  2;
-case PPC::R3 :  case PPC::F3 :  case PPC::V3 : case PPC::CR3:  return  3;
-case PPC::R4 :  case PPC::F4 :  case PPC::V4 : case PPC::CR4:  return  4;
-case PPC::R5 :  case PPC::F5 :  case PPC::V5 : case PPC::CR5:  return  5;
-case PPC::R6 :  case PPC::F6 :  case PPC::V6 : case PPC::CR6:  return  6;
-case PPC::R7 :  case PPC::F7 :  case PPC::V7 : case PPC::CR7:  return  7;
-case PPC::R8 :  case PPC::F8 :  case PPC::V8 : return  8;
-case PPC::R9 :  case PPC::F9 :  case PPC::V9 : return  9;
-case PPC::R10:  case PPC::F10:  case PPC::V10: return 10;
-case PPC::R11:  case PPC::F11:  case PPC::V11: return 11;
-case PPC::R12:  case PPC::F12:  case PPC::V12: return 12;
-case PPC::R13:  case PPC::F13:  case PPC::V13: return 13;
-case PPC::R14:  case PPC::F14:  case PPC::V14: return 14;
-case PPC::R15:  case PPC::F15:  case PPC::V15: return 15;
-case PPC::R16:  case PPC::F16:  case PPC::V16: return 16;
-case PPC::R17:  case PPC::F17:  case PPC::V17: return 17;
-case PPC::R18:  case PPC::F18:  case PPC::V18: return 18;
-case PPC::R19:  case PPC::F19:  case PPC::V19: return 19;
-case PPC::R20:  case PPC::F20:  case PPC::V20: return 20;
-case PPC::R21:  case PPC::F21:  case PPC::V21: return 21;
-case PPC::R22:  case PPC::F22:  case PPC::V22: return 22;
-case PPC::R23:  case PPC::F23:  case PPC::V23: return 23;
-case PPC::R24:  case PPC::F24:  case PPC::V24: return 24;
-case PPC::R25:  case PPC::F25:  case PPC::V25: return 25;
-case PPC::R26:  case PPC::F26:  case PPC::V26: return 26;
-case PPC::R27:  case PPC::F27:  case PPC::V27: return 27;
-case PPC::R28:  case PPC::F28:  case PPC::V28: return 28;
-case PPC::R29:  case PPC::F29:  case PPC::V29: return 29;
-case PPC::R30:  case PPC::F30:  case PPC::V30: return 30;
-case PPC::R31:  case PPC::F31:  case PPC::V31: return 31;
-default:
-  std::cerr << "Unhandled reg in PPCRegisterInfo::getRegisterNumbering!\n";
-  abort();
+  case R0 :  case X0 :  case F0 :  case V0 : case CR0:  return  0;
+  case R1 :  case X1 :  case F1 :  case V1 : case CR1:  return  1;
+  case R2 :  case X2 :  case F2 :  case V2 : case CR2:  return  2;
+  case R3 :  case X3 :  case F3 :  case V3 : case CR3:  return  3;
+  case R4 :  case X4 :  case F4 :  case V4 : case CR4:  return  4;
+  case R5 :  case X5 :  case F5 :  case V5 : case CR5:  return  5;
+  case R6 :  case X6 :  case F6 :  case V6 : case CR6:  return  6;
+  case R7 :  case X7 :  case F7 :  case V7 : case CR7:  return  7;
+  case R8 :  case X8 :  case F8 :  case V8 : return  8;
+  case R9 :  case X9 :  case F9 :  case V9 : return  9;
+  case R10:  case X10:  case F10:  case V10: return 10;
+  case R11:  case X11:  case F11:  case V11: return 11;
+  case R12:  case X12:  case F12:  case V12: return 12;
+  case R13:  case X13:  case F13:  case V13: return 13;
+  case R14:  case X14:  case F14:  case V14: return 14;
+  case R15:  case X15:  case F15:  case V15: return 15;
+  case R16:  case X16:  case F16:  case V16: return 16;
+  case R17:  case X17:  case F17:  case V17: return 17;
+  case R18:  case X18:  case F18:  case V18: return 18;
+  case R19:  case X19:  case F19:  case V19: return 19;
+  case R20:  case X20:  case F20:  case V20: return 20;
+  case R21:  case X21:  case F21:  case V21: return 21;
+  case R22:  case X22:  case F22:  case V22: return 22;
+  case R23:  case X23:  case F23:  case V23: return 23;
+  case R24:  case X24:  case F24:  case V24: return 24;
+  case R25:  case X25:  case F25:  case V25: return 25;
+  case R26:  case X26:  case F26:  case V26: return 26;
+  case R27:  case X27:  case F27:  case V27: return 27;
+  case R28:  case X28:  case F28:  case V28: return 28;
+  case R29:  case X29:  case F29:  case V29: return 29;
+  case R30:  c

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

2006-07-11 Thread Chris Lattner


Changes in directory llvm/docs:

CFEBuildInstrs.html updated: 1.57 -> 1.58
---
Log message:

Revamp this doc to be accurate w.r.t. building llvmgcc4


---
Diffs of the changes:  (+36 -53)

 CFEBuildInstrs.html |   89 +---
 1 files changed, 36 insertions(+), 53 deletions(-)


Index: llvm/docs/CFEBuildInstrs.html
diff -u llvm/docs/CFEBuildInstrs.html:1.57 llvm/docs/CFEBuildInstrs.html:1.58
--- llvm/docs/CFEBuildInstrs.html:1.57  Fri Jun 16 18:34:49 2006
+++ llvm/docs/CFEBuildInstrs.html   Tue Jul 11 15:47:00 2006
@@ -19,7 +19,8 @@
   Building under AIX
 
   
-  Instructions
+  llvm-gcc4 Instructions
+  llvm-gcc3 Instructions
   License Information
 
 
@@ -36,9 +37,10 @@
 
 
 This document is intended to explain the process of building the
-LLVM C/C++ front-end, based on GCC 3.4, from its source code. You
-would have to do this, for example, if you are porting LLVM to a new
-architecture or operating system.
+LLVM C/C++ front-end from its source code. You have to do this, for example, if
+you are porting LLVM to a new architecture or operating system, if you are
+working from Top-Of-Tree CVS/SVN, or if there is no precompiled snapshot
+available.
 
 NOTE: This is currently a somewhat fragile, error-prone
 process, and you should only try to do it if:
@@ -71,7 +73,8 @@
 versions is incapable of compiling the LLVM GCC front-end correctly. If your
 Cygwin
 installation includes GCC 3.3.3, we strongly recommend that you download
-GCC 3.4.3, build it separately, and use it for compiling the LLVM GCC 
front-end. This has been
+GCC 3.4.3, build it separately, and use it for compiling the LLVM GCC 
front-end.
+ This has been
 shown to work correctly.
 Some versions of Cygwin utilize an experimental version of GNU binutils that
 will cause the GNU ld linker to fail an assertion when linking
@@ -94,18 +97,24 @@
 
 
 
-  Instructions
+  llvm-gcc4 Instructions
 
 
 
 
-
+
+This section describes how to aquire and build llvm-gcc4, which is based on
+the GCC 4.0.1 front-end.  This front-end supports C, C++, Objective-C, and 
+Objective-C++.  Note that the instructions for building this front-end are
+completely different than those for building llvm-gcc3.
+
+
 
 
 Retrieve the appropriate llvm-gcc4-x.y.source.tar.gz archive from the llvm
 web site.
 It is also possible to download the sources of the llvm-gcc4 front end from
-a read-only mirror using subversion.  To check out the code the first time use;
+a read-only mirror using subversion.  To check out the code the first time use:
 
 
 svn co svn://anonsvn.opensource.apple.com/svn/llvm 
dst-directory
@@ -117,6 +126,23 @@
 
 The mirror is brought up to date every evening.
 
+
+Follow the directions in the top-level README.LLVM file for up-to-date
+instructions on how to build llvm-gcc4.
+
+
+
+
+
+  llvm-gcc3 Instructions
+
+
+
+
+
+Aquire llvm-gcc3 from LLVM CVS 
or
+from a http://llvm.org/releases/";>release tarball.
+
 Configure and build the LLVM libraries and tools. There are two ways to
 do this: either with objdir == srcdir or
 objdir != srcdir. It is recommended 
@@ -314,51 +340,8 @@
 
 
 
-The software also has the following additional copyrights:
+More information is available in the FAQ.
 
-
-
-
-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.org
-
-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.
-
-Copyright (c) 1994
-Hewlett-Packard Company
-
-Permission to use, copy, modify, distribute and sell this software
-and its documentation for any purpose is hereby granted without fee,
-provided that the above copyright notice appear in all copies and
-that both that copyright notice and this permission notice appear
-in supporting documentation.  Hewlett-Packard Company makes no
-representations about the suitability of this software for any
-purpose.  It is provided "as is" without express or implied warranty.
-
-Copyright (c) 1996, 1997, 1998, 1999
-Silicon Graphics Computer Systems, Inc.
-
-Permission to use, copy, modify, distribute and sell this software
-and its documentation for any purpose is hereby granted without fee,
-provided that the above copyright notice appear in all copies and
-that both that copyright notice and this permission notice appear
-in supporting documentation.  Silicon Graphics makes no
-representations about the suitability of this software for any
-purpose.  It is provided "as is" without express or i

[llvm-commits] CVS: llvm/lib/VMCore/Verifier.cpp

2006-07-11 Thread Chris Lattner


Changes in directory llvm/lib/VMCore:

Verifier.cpp updated: 1.158 -> 1.159
---
Log message:

Fix PR826: http://llvm.org/PR826 , testcase here: 
Regression/Verifier/2006-07-11-StoreStruct.ll


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

 Verifier.cpp |   10 --
 1 files changed, 8 insertions(+), 2 deletions(-)


Index: llvm/lib/VMCore/Verifier.cpp
diff -u llvm/lib/VMCore/Verifier.cpp:1.158 llvm/lib/VMCore/Verifier.cpp:1.159
--- llvm/lib/VMCore/Verifier.cpp:1.158  Thu Jul  6 13:01:23 2006
+++ llvm/lib/VMCore/Verifier.cppTue Jul 11 15:29:49 2006
@@ -652,10 +652,16 @@
   }
 
   for (unsigned i = 0, e = I.getNumOperands(); i != e; ++i) {
-// Check to make sure that the "address of" an intrinsic function is never
-// taken.
 Assert1(I.getOperand(i) != 0, "Instruction has null operand!", &I);
+
+// Check to make sure that only first-class-values are operands to
+// instructions.
+Assert1(I.getOperand(i)->getType()->isFirstClassType(),
+"Instruction operands must be first-class values!", &I);
+  
 if (Function *F = dyn_cast(I.getOperand(i))) {
+  // Check to make sure that the "address of" an intrinsic function is 
never
+  // taken.
   Assert1(!F->isIntrinsic() || (i == 0 && isa(I)),
   "Cannot take the address of an intrinsic!", &I);
 } else if (BasicBlock *OpBB = dyn_cast(I.getOperand(i))) {



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


[llvm-commits] CVS: llvm/test/Regression/Verifier/2006-07-11-StoreStruct.ll

2006-07-11 Thread Chris Lattner


Changes in directory llvm/test/Regression/Verifier:

2006-07-11-StoreStruct.ll added (r1.1)
---
Log message:

Testcase for PR826: http://llvm.org/PR826 


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

 2006-07-11-StoreStruct.ll |   11 +++
 1 files changed, 11 insertions(+)


Index: llvm/test/Regression/Verifier/2006-07-11-StoreStruct.ll
diff -c /dev/null llvm/test/Regression/Verifier/2006-07-11-StoreStruct.ll:1.1
*** /dev/null   Tue Jul 11 15:29:31 2006
--- llvm/test/Regression/Verifier/2006-07-11-StoreStruct.ll Tue Jul 11 
15:29:21 2006
***
*** 0 
--- 1,11 
+ ; RUN: not llvm-as %s -o /dev/null -f
+ ; PR826
+ 
+ %struct_4 = type { int }
+ 
+ implementation   ; Functions:
+ 
+ void %test() {
+ store %struct_4 zeroinitializer, %struct_4* null
+ unreachable
+ }



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


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

2006-07-11 Thread Evan Cheng


Changes in directory llvm/lib/Target/X86:

X86InstrInfo.td updated: 1.278 -> 1.279
---
Log message:

Emit inc / dec of registers as one byte instruction.

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

 X86InstrInfo.td |8 
 1 files changed, 4 insertions(+), 4 deletions(-)


Index: llvm/lib/Target/X86/X86InstrInfo.td
diff -u llvm/lib/Target/X86/X86InstrInfo.td:1.278 
llvm/lib/Target/X86/X86InstrInfo.td:1.279
--- llvm/lib/Target/X86/X86InstrInfo.td:1.278   Wed Jun 28 19:36:51 2006
+++ llvm/lib/Target/X86/X86InstrInfo.td Tue Jul 11 14:49:49 2006
@@ -1095,9 +1095,9 @@
 def INC8r  : I<0xFE, MRM0r, (ops GR8 :$dst, GR8 :$src), "inc{b} $dst",
[(set GR8:$dst, (add GR8:$src, 1))]>;
 let isConvertibleToThreeAddress = 1 in {   // Can transform into LEA.
-def INC16r : I<0xFF, MRM0r, (ops GR16:$dst, GR16:$src), "inc{w} $dst",
+def INC16r : I<0x40, AddRegFrm, (ops GR16:$dst, GR16:$src), "inc{w} $dst",
[(set GR16:$dst, (add GR16:$src, 1))]>, OpSize;
-def INC32r : I<0xFF, MRM0r, (ops GR32:$dst, GR32:$src), "inc{l} $dst",
+def INC32r : I<0x40, AddRegFrm, (ops GR32:$dst, GR32:$src), "inc{l} $dst",
[(set GR32:$dst, (add GR32:$src, 1))]>;
 }
 let isTwoAddress = 0 in {
@@ -1112,9 +1112,9 @@
 def DEC8r  : I<0xFE, MRM1r, (ops GR8 :$dst, GR8 :$src), "dec{b} $dst",
[(set GR8:$dst, (add GR8:$src, -1))]>;
 let isConvertibleToThreeAddress = 1 in {   // Can transform into LEA.
-def DEC16r : I<0xFF, MRM1r, (ops GR16:$dst, GR16:$src), "dec{w} $dst",
+def DEC16r : I<0x48, AddRegFrm, (ops GR16:$dst, GR16:$src), "dec{w} $dst",
[(set GR16:$dst, (add GR16:$src, -1))]>, OpSize;
-def DEC32r : I<0xFF, MRM1r, (ops GR32:$dst, GR32:$src), "dec{l} $dst",
+def DEC32r : I<0x48, AddRegFrm, (ops GR32:$dst, GR32:$src), "dec{l} $dst",
[(set GR32:$dst, (add GR32:$src, -1))]>;
 }
 



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


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

2006-07-11 Thread Chris Lattner


Changes in directory llvm:

Makefile.rules updated: 1.384 -> 1.385
---
Log message:

Profile builds should always have debug info enabled.


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

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


Index: llvm/Makefile.rules
diff -u llvm/Makefile.rules:1.384 llvm/Makefile.rules:1.385
--- llvm/Makefile.rules:1.384   Thu Jun 29 14:38:04 2006
+++ llvm/Makefile.rules Tue Jul 11 13:33:50 2006
@@ -208,9 +208,9 @@
 
 ifdef ENABLE_PROFILING
   BuildMode := Profile
-  CXX.Flags := $(OPTIMIZE_OPTION) -pg
-  C.Flags   := $(OPTIMIZE_OPTION) -pg
-  LD.Flags  := $(OPTIMIZE_OPTION) -pg 
+  CXX.Flags := $(OPTIMIZE_OPTION) -pg -g
+  C.Flags   := $(OPTIMIZE_OPTION) -pg -g
+  LD.Flags  := $(OPTIMIZE_OPTION) -pg -g
 else
   ifdef ENABLE_OPTIMIZED
 BuildMode := Release



___
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

2006-07-11 Thread Chris Lattner


Changes in directory llvm/lib/Transforms/Scalar:

InstructionCombining.cpp updated: 1.498 -> 1.499
---
Log message:

Silence a warning produced in assertions-disabled mode


---
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.498 
llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.499
--- llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.498   Mon Jul 10 
17:15:25 2006
+++ llvm/lib/Transforms/Scalar/InstructionCombining.cpp Tue Jul 11 13:31:26 2006
@@ -2902,7 +2902,7 @@
   // If they do then *success* we can turn this into a bswap.  Figure out what
   // bswap to make it into.
   Module *M = I.getParent()->getParent()->getParent();
-  const char *FnName;
+  const char *FnName = 0;
   if (I.getType() == Type::UShortTy)
 FnName = "llvm.bswap.i16";
   else if (I.getType() == Type::UIntTy)



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


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

2006-07-11 Thread Devang Patel


Changes in directory llvm/docs:

MakefileGuide.html updated: 1.34 -> 1.35
---
Log message:

Fix typo.


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

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


Index: llvm/docs/MakefileGuide.html
diff -u llvm/docs/MakefileGuide.html:1.34 llvm/docs/MakefileGuide.html:1.35
--- llvm/docs/MakefileGuide.html:1.34   Sat Jun  3 13:55:33 2006
+++ llvm/docs/MakefileGuide.htmlTue Jul 11 13:25:57 2006
@@ -237,7 +237,7 @@
   LIBRARYNAME = mylib
   SHARED_LIBRARY = 1
   ARCHIVE_LIBRARY = 1
-  DONT_BUILT_RELINKED = 1
+  DONT_BUILD_RELINKED = 1
   
   says to build a library named "mylib" with both a shared library 
   (mylib.so) and an archive library (mylib.a) version but
@@ -1004,7 +1004,7 @@
 
   mailto:[EMAIL PROTECTED]">Reid Spencer
   http://llvm.org";>The LLVM Compiler Infrastructure
-  Last modified: $Date: 2006/06/03 18:55:33 $
+  Last modified: $Date: 2006/07/11 18:25:57 $
 
 
 



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

2006-07-11 Thread Jim Laskey


Changes in directory llvm/lib/CodeGen/SelectionDAG:

ScheduleDAG.cpp updated: 1.97 -> 1.98
---
Log message:

It was pointed out that DEBUG() is only available with -debug.


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

 ScheduleDAG.cpp |4 +++-
 1 files changed, 3 insertions(+), 1 deletion(-)


Index: llvm/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp
diff -u llvm/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp:1.97 
llvm/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp:1.98
--- llvm/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp:1.97  Tue Jul 11 12:58:07 2006
+++ llvm/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp   Tue Jul 11 13:25:13 2006
@@ -421,7 +421,9 @@
   } else {
 switch (Node->getOpcode()) {
 default:
-  DEBUG(Node->dump()); 
+#ifndef NDEBUG
+  Node->dump();
+#endif
   assert(0 && "This target-independent node should have been selected!");
 case ISD::EntryToken: // fall thru
 case ISD::TokenFactor:



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

2006-07-11 Thread Jim Laskey


Changes in directory llvm/lib/Target/IA64:

IA64ISelDAGToDAG.cpp updated: 1.43 -> 1.44
---
Log message:

It was pointed out that DEBUG() is only available with -debug.


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

 IA64ISelDAGToDAG.cpp |6 +-
 1 files changed, 5 insertions(+), 1 deletion(-)


Index: llvm/lib/Target/IA64/IA64ISelDAGToDAG.cpp
diff -u llvm/lib/Target/IA64/IA64ISelDAGToDAG.cpp:1.43 
llvm/lib/Target/IA64/IA64ISelDAGToDAG.cpp:1.44
--- llvm/lib/Target/IA64/IA64ISelDAGToDAG.cpp:1.43  Tue Jul 11 12:58:07 2006
+++ llvm/lib/Target/IA64/IA64ISelDAGToDAG.cpp   Tue Jul 11 13:25:13 2006
@@ -511,7 +511,11 @@
   N->getValueType(0) : cast(N->getOperand(3))->getVT();
 unsigned Opc;
 switch (TypeBeingLoaded) {
-default: DEBUG(N->dump()); assert(0 && "Cannot load this type!");
+default:
+#ifndef NDEBUG
+  N->dump();
+#endif
+  assert(0 && "Cannot load this type!");
 case MVT::i1: { // this is a bool
   Opc = IA64::LD1; // first we load a byte, then compare for != 0
   if(N->getValueType(0) == MVT::i1) { // XXX: early exit!



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


[llvm-commits] CVS: llvm/lib/Analysis/IPA/Andersens.cpp

2006-07-11 Thread Jim Laskey


Changes in directory llvm/lib/Analysis/IPA:

Andersens.cpp updated: 1.29 -> 1.30
---
Log message:

It was pointed out that DEBUG() is only available with -debug.


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

 Andersens.cpp |4 +++-
 1 files changed, 3 insertions(+), 1 deletion(-)


Index: llvm/lib/Analysis/IPA/Andersens.cpp
diff -u llvm/lib/Analysis/IPA/Andersens.cpp:1.29 
llvm/lib/Analysis/IPA/Andersens.cpp:1.30
--- llvm/lib/Analysis/IPA/Andersens.cpp:1.29Tue Jul 11 12:58:07 2006
+++ llvm/lib/Analysis/IPA/Andersens.cpp Tue Jul 11 13:25:13 2006
@@ -260,7 +260,9 @@
 
   std::map::iterator I = ValueNodes.find(V);
   if (I == ValueNodes.end()) {
-DEBUG(V->dump());
+#ifndef NDEBUG
+V->dump();
+#endif
 assert(0 && "Value does not have a node in the points-to graph!");
   }
   return &GraphNodes[I->second];



___
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

2006-07-11 Thread Jim Laskey


Changes in directory llvm/utils/TableGen:

DAGISelEmitter.cpp updated: 1.218 -> 1.219
---
Log message:

It was pointed out that DEBUG() is only available with -debug.


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

 DAGISelEmitter.cpp |   16 
 1 files changed, 12 insertions(+), 4 deletions(-)


Index: llvm/utils/TableGen/DAGISelEmitter.cpp
diff -u llvm/utils/TableGen/DAGISelEmitter.cpp:1.218 
llvm/utils/TableGen/DAGISelEmitter.cpp:1.219
--- llvm/utils/TableGen/DAGISelEmitter.cpp:1.218Tue Jul 11 12:58:07 2006
+++ llvm/utils/TableGen/DAGISelEmitter.cpp  Tue Jul 11 13:25:13 2006
@@ -2136,7 +2136,9 @@
 if (DefInit *Pred = dynamic_cast(Predicates->getElement(i))) 
{
   Record *Def = Pred->getDef();
   if (!Def->isSubClassOf("Predicate")) {
-DEBUG(Def->dump());
+#ifndef NDEBUG
+Def->dump();
+#endif
 assert(0 && "Unknown predicate type!");
   }
   if (!PredicateCheck.empty())
@@ -2344,8 +2346,10 @@
 emitCheck("cast(" + RootName + utostr(OpNo) +
   ")->get() == ISD::" + LeafRec->getName());
   } else {
-DEBUG(Child->dump());
+#ifndef NDEBUG
+Child->dump();
 std::cerr << " ";
+#endif
 assert(0 && "Unknown leaf type!");
   }
 } else if (IntInit *II =
@@ -2357,7 +2361,9 @@
 
   emitCheck("CN" + utostr(CTmp) + " == " +itostr(II->getValue()));
 } else {
-  DEBUG(Child->dump());
+#ifndef NDEBUG
+  Child->dump();
+#endif
   assert(0 && "Unknown leaf type!");
 }
   }
@@ -2510,7 +2516,9 @@
 return std::make_pair(1, ResNo);
   }
 
-  DEBUG(N->dump());
+#ifndef NDEBUG
+  N->dump();
+#endif
   assert(0 && "Unknown leaf type!");
   return std::make_pair(1, ~0U);
 }



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


[llvm-commits] CVS: llvm/lib/Analysis/IPA/Andersens.cpp

2006-07-11 Thread Jim Laskey


Changes in directory llvm/lib/Analysis/IPA:

Andersens.cpp updated: 1.28 -> 1.29
---
Log message:

Ensure that dump calls that are associated with asserts are removed from
non-debug build.


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

 Andersens.cpp |5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)


Index: llvm/lib/Analysis/IPA/Andersens.cpp
diff -u llvm/lib/Analysis/IPA/Andersens.cpp:1.28 
llvm/lib/Analysis/IPA/Andersens.cpp:1.29
--- llvm/lib/Analysis/IPA/Andersens.cpp:1.28Wed May 24 12:04:04 2006
+++ llvm/lib/Analysis/IPA/Andersens.cpp Tue Jul 11 12:58:07 2006
@@ -260,9 +260,8 @@
 
   std::map::iterator I = ValueNodes.find(V);
   if (I == ValueNodes.end()) {
-V->dump();
-assert(I != ValueNodes.end() &&
-   "Value does not have a node in the points-to graph!");
+DEBUG(V->dump());
+assert(0 && "Value does not have a node in the points-to graph!");
   }
   return &GraphNodes[I->second];
 }



___
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

2006-07-11 Thread Jim Laskey


Changes in directory llvm/utils/TableGen:

DAGISelEmitter.cpp updated: 1.217 -> 1.218
---
Log message:

Ensure that dump calls that are associated with asserts are removed from
non-debug build.


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

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


Index: llvm/utils/TableGen/DAGISelEmitter.cpp
diff -u llvm/utils/TableGen/DAGISelEmitter.cpp:1.217 
llvm/utils/TableGen/DAGISelEmitter.cpp:1.218
--- llvm/utils/TableGen/DAGISelEmitter.cpp:1.217Thu Jun 29 18:57:05 2006
+++ llvm/utils/TableGen/DAGISelEmitter.cpp  Tue Jul 11 12:58:07 2006
@@ -2136,7 +2136,7 @@
 if (DefInit *Pred = dynamic_cast(Predicates->getElement(i))) 
{
   Record *Def = Pred->getDef();
   if (!Def->isSubClassOf("Predicate")) {
-Def->dump();
+DEBUG(Def->dump());
 assert(0 && "Unknown predicate type!");
   }
   if (!PredicateCheck.empty())
@@ -2344,7 +2344,7 @@
 emitCheck("cast(" + RootName + utostr(OpNo) +
   ")->get() == ISD::" + LeafRec->getName());
   } else {
-Child->dump();
+DEBUG(Child->dump());
 std::cerr << " ";
 assert(0 && "Unknown leaf type!");
   }
@@ -2357,7 +2357,7 @@
 
   emitCheck("CN" + utostr(CTmp) + " == " +itostr(II->getValue()));
 } else {
-  Child->dump();
+  DEBUG(Child->dump());
   assert(0 && "Unknown leaf type!");
 }
   }
@@ -2510,7 +2510,7 @@
 return std::make_pair(1, ResNo);
   }
 
-  N->dump();
+  DEBUG(N->dump());
   assert(0 && "Unknown leaf type!");
   return std::make_pair(1, ~0U);
 }



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


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

2006-07-11 Thread Jim Laskey


Changes in directory llvm/lib/Target/Alpha:

AlphaISelDAGToDAG.cpp updated: 1.46 -> 1.47
---
Log message:

Ensure that dump calls that are associated with asserts are removed from
non-debug build.


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

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


Index: llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp
diff -u llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp:1.46 
llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp:1.47
--- llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp:1.46Wed Jun 21 10:42:36 2006
+++ llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp Tue Jul 11 12:58:07 2006
@@ -303,7 +303,7 @@
   bool rev = false;
   bool isNE = false;
   switch(CC) {
-  default: N->dump(); assert(0 && "Unknown FP comparison!");
+  default: DEBUG(N->dump()); assert(0 && "Unknown FP comparison!");
   case ISD::SETEQ: case ISD::SETOEQ: case ISD::SETUEQ: Opc = 
Alpha::CMPTEQ; break;
   case ISD::SETLT: case ISD::SETOLT: case ISD::SETULT: Opc = 
Alpha::CMPTLT; break;
   case ISD::SETLE: case ISD::SETOLE: case ISD::SETULE: Opc = 
Alpha::CMPTLE; break;



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

2006-07-11 Thread Jim Laskey


Changes in directory llvm/lib/Target/IA64:

IA64ISelDAGToDAG.cpp updated: 1.42 -> 1.43
---
Log message:

Ensure that dump calls that are associated with asserts are removed from
non-debug build.


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

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


Index: llvm/lib/Target/IA64/IA64ISelDAGToDAG.cpp
diff -u llvm/lib/Target/IA64/IA64ISelDAGToDAG.cpp:1.42 
llvm/lib/Target/IA64/IA64ISelDAGToDAG.cpp:1.43
--- llvm/lib/Target/IA64/IA64ISelDAGToDAG.cpp:1.42  Wed May 24 19:24:28 2006
+++ llvm/lib/Target/IA64/IA64ISelDAGToDAG.cpp   Tue Jul 11 12:58:07 2006
@@ -511,7 +511,7 @@
   N->getValueType(0) : cast(N->getOperand(3))->getVT();
 unsigned Opc;
 switch (TypeBeingLoaded) {
-default: N->dump(); assert(0 && "Cannot load this type!");
+default: DEBUG(N->dump()); assert(0 && "Cannot load this type!");
 case MVT::i1: { // this is a bool
   Opc = IA64::LD1; // first we load a byte, then compare for != 0
   if(N->getValueType(0) == MVT::i1) { // XXX: early exit!



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

2006-07-11 Thread Jim Laskey


Changes in directory llvm/lib/Target/PowerPC:

PPCCodeEmitter.cpp updated: 1.61 -> 1.62
---
Log message:

Ensure that dump calls that are associated with asserts are removed from
non-debug build.


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

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


Index: llvm/lib/Target/PowerPC/PPCCodeEmitter.cpp
diff -u llvm/lib/Target/PowerPC/PPCCodeEmitter.cpp:1.61 
llvm/lib/Target/PowerPC/PPCCodeEmitter.cpp:1.62
--- llvm/lib/Target/PowerPC/PPCCodeEmitter.cpp:1.61 Wed Jun 28 18:17:23 2006
+++ llvm/lib/Target/PowerPC/PPCCodeEmitter.cpp  Tue Jul 11 12:58:07 2006
@@ -160,7 +160,7 @@
   Reloc = PPC::reloc_pcrel_bx;
 else {
   switch (MI.getOpcode()) {
-  default: MI.dump(); assert(0 && "Unknown instruction for relocation!");
+  default: DEBUG(MI.dump()); assert(0 && "Unknown instruction for 
relocation!");
   case PPC::LIS:
 Reloc = PPC::reloc_absolute_high;   // Pointer to symbol
 break;



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

2006-07-11 Thread Jim Laskey


Changes in directory llvm/lib/CodeGen/SelectionDAG:

LegalizeDAG.cpp updated: 1.381 -> 1.382
ScheduleDAG.cpp updated: 1.96 -> 1.97
---
Log message:

Ensure that dump calls that are associated with asserts are removed from
non-debug build.


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

 LegalizeDAG.cpp |   14 +-
 ScheduleDAG.cpp |2 +-
 2 files changed, 14 insertions(+), 2 deletions(-)


Index: llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
diff -u llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.381 
llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.382
--- llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.381 Mon Jul 10 20:40:09 2006
+++ llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp   Tue Jul 11 12:58:07 2006
@@ -540,7 +540,9 @@
   return Result.getValue(Op.ResNo);
 }
 // Otherwise this is an unhandled builtin node.  splat.
+#ifndef NDEBUG
 std::cerr << "NODE: "; Node->dump(); std::cerr << "\n";
+#endif
 assert(0 && "Do not know how to legalize this operator!");
 abort();
   case ISD::GlobalAddress:
@@ -2865,7 +2867,9 @@
   case ISD::CopyFromReg:
 assert(0 && "CopyFromReg must be legal!");
   default:
+#ifndef NDEBUG
 std::cerr << "NODE: "; Node->dump(); std::cerr << "\n";
+#endif
 assert(0 && "Do not know how to promote this operator!");
 abort();
   case ISD::UNDEF:
@@ -4205,7 +4209,9 @@
   case ISD::CopyFromReg:
 assert(0 && "CopyFromReg must be legal!");
   default:
+#ifndef NDEBUG
 std::cerr << "NODE: "; Node->dump(); std::cerr << "\n";
+#endif
 assert(0 && "Do not know how to expand this operator!");
 abort();
   case ISD::UNDEF:
@@ -4703,7 +4709,11 @@
   }
   
   switch (Node->getOpcode()) {
-  default: Node->dump(); assert(0 && "Unhandled operation in SplitVectorOp!");
+  default: 
+#ifndef NDEBUG
+Node->dump();
+#endif
+assert(0 && "Unhandled operation in SplitVectorOp!");
   case ISD::VBUILD_VECTOR: {
 std::vector LoOps(Node->op_begin(), 
Node->op_begin()+NewNumElts);
 LoOps.push_back(NewNumEltsNode);
@@ -4820,7 +4830,9 @@
   SDOperand Result;
   switch (Node->getOpcode()) {
   default: 
+#ifndef NDEBUG
 Node->dump(); std::cerr << "\n";
+#endif
 assert(0 && "Unknown vector operation in PackVectorOp!");
   case ISD::VADD:
   case ISD::VSUB:


Index: llvm/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp
diff -u llvm/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp:1.96 
llvm/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp:1.97
--- llvm/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp:1.96  Thu Jun 15 02:22:16 2006
+++ llvm/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp   Tue Jul 11 12:58:07 2006
@@ -421,7 +421,7 @@
   } else {
 switch (Node->getOpcode()) {
 default:
-  Node->dump(); 
+  DEBUG(Node->dump()); 
   assert(0 && "This target-independent node should have been selected!");
 case ISD::EntryToken: // fall thru
 case ISD::TokenFactor:



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


[llvm-commits] CVS: llvm/lib/VMCore/IntrinsicInst.cpp

2006-07-11 Thread Jim Laskey


Changes in directory llvm/lib/VMCore:

IntrinsicInst.cpp updated: 1.8 -> 1.9
---
Log message:

1. Support for c++ mangled names.
2. Support for private/protected class members.


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

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


Index: llvm/lib/VMCore/IntrinsicInst.cpp
diff -u llvm/lib/VMCore/IntrinsicInst.cpp:1.8 
llvm/lib/VMCore/IntrinsicInst.cpp:1.9
--- llvm/lib/VMCore/IntrinsicInst.cpp:1.8   Mon Jun 19 07:54:15 2006
+++ llvm/lib/VMCore/IntrinsicInst.cpp   Tue Jul 11 10:58:09 2006
@@ -61,7 +61,7 @@
 
 std::string DbgStopPointInst::getFileName() const {
   // Once the operand indices are verified, update this assert
-  assert(LLVMDebugVersion == (4 << 16) && "Verify operand indices");
+  assert(LLVMDebugVersion == (5 << 16) && "Verify operand indices");
   GlobalVariable *GV = cast(getContext());
   ConstantStruct *CS = cast(GV->getInitializer());
   return CS->getOperand(3)->getStringValue();
@@ -69,7 +69,7 @@
 
 std::string DbgStopPointInst::getDirectory() const {
   // Once the operand indices are verified, update this assert
-  assert(LLVMDebugVersion == (4 << 16) && "Verify operand indices");
+  assert(LLVMDebugVersion == (5 << 16) && "Verify operand indices");
   GlobalVariable *GV = cast(getContext());
   ConstantStruct *CS = cast(GV->getInitializer());
   return CS->getOperand(4)->getStringValue();



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


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

2006-07-11 Thread Jim Laskey


Changes in directory llvm/lib/CodeGen:

DwarfWriter.cpp updated: 1.67 -> 1.68
MachineDebugInfo.cpp updated: 1.44 -> 1.45
---
Log message:

1. Support for c++ mangled names.
2. Support for private/protected class members.


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

 DwarfWriter.cpp  |6 ++
 MachineDebugInfo.cpp |9 -
 2 files changed, 14 insertions(+), 1 deletion(-)


Index: llvm/lib/CodeGen/DwarfWriter.cpp
diff -u llvm/lib/CodeGen/DwarfWriter.cpp:1.67 
llvm/lib/CodeGen/DwarfWriter.cpp:1.68
--- llvm/lib/CodeGen/DwarfWriter.cpp:1.67   Fri Jun 23 07:51:53 2006
+++ llvm/lib/CodeGen/DwarfWriter.cppTue Jul 11 10:58:09 2006
@@ -1383,6 +1383,12 @@
 Block->AddUInt(DW_FORM_udata, FieldOffset >> 3);
 Block->ComputeSize(*this);
 Member->AddBlock(DW_AT_data_member_location, 0, Block);
+
+if (MemberDesc->isProtected()) {
+  Member->AddUInt(DW_AT_accessibility, 0, DW_ACCESS_protected);
+} else if (MemberDesc->isPrivate()) {
+  Member->AddUInt(DW_AT_accessibility, 0, DW_ACCESS_private);
+}
 
 Ty->AddChild(Member);
   }


Index: llvm/lib/CodeGen/MachineDebugInfo.cpp
diff -u llvm/lib/CodeGen/MachineDebugInfo.cpp:1.44 
llvm/lib/CodeGen/MachineDebugInfo.cpp:1.45
--- llvm/lib/CodeGen/MachineDebugInfo.cpp:1.44  Tue Jun 20 14:41:06 2006
+++ llvm/lib/CodeGen/MachineDebugInfo.cpp   Tue Jul 11 10:58:09 2006
@@ -671,6 +671,7 @@
 , Size(0)
 , Align(0)
 , Offset(0)
+, Flags(0)
 {}
 
 /// ApplyToFields - Target the visitor to the fields of the TypeDesc.
@@ -685,6 +686,7 @@
   Visitor->Apply(Size);
   Visitor->Apply(Align);
   Visitor->Apply(Offset);
+  if (getVersion() > LLVMDebugVersion4) Visitor->Apply(Flags);
 }
 
 /// getDescString - Return a string used to compose global names and labels.
@@ -710,7 +712,8 @@
 << "Line(" << Line << "), "
 << "Size(" << Size << "), "
 << "Align(" << Align << "), "
-<< "Offset(" << Offset << ")\n";
+<< "Offset(" << Offset << "), "
+<< "Flags(" << Flags << ")\n";
 }
 #endif
 
@@ -1029,6 +1032,7 @@
 : AnchoredDesc(T)
 , Context(0)
 , Name("")
+, DisplayName("")
 , File(NULL)
 , Line(0)
 , TyDesc(NULL)
@@ -1043,6 +1047,7 @@
 
   Visitor->Apply(Context);
   Visitor->Apply(Name);
+  if (getVersion() > LLVMDebugVersion4) Visitor->Apply(DisplayName);
   Visitor->Apply(File);
   Visitor->Apply(Line);
   Visitor->Apply(TyDesc);
@@ -1096,6 +1101,7 @@
 << "Tag(" << getTag() << "), "
 << "Anchor(" << getAnchor() << "), "
 << "Name(\"" << getName() << "\"), "
+<< "DisplayName(\"" << getDisplayName() << "\"), "
 << "File(" << getFile() << "),"
 << "Line(" << getLine() << "),"
 << "Type(\"" << getType() << "\"), "
@@ -1148,6 +1154,7 @@
 << "Tag(" << getTag() << "), "
 << "Anchor(" << getAnchor() << "), "
 << "Name(\"" << getName() << "\"), "
+<< "DisplayName(\"" << getDisplayName() << "\"), "
 << "File(" << getFile() << "),"
 << "Line(" << getLine() << "),"
 << "Type(\"" << getType() << "\"), "



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

2006-07-11 Thread Jim Laskey


Changes in directory llvm/include/llvm/CodeGen:

MachineDebugInfo.h updated: 1.37 -> 1.38
---
Log message:

1. Support for c++ mangled names.
2. Support for private/protected class members.


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

 MachineDebugInfo.h |   19 ++-
 1 files changed, 18 insertions(+), 1 deletion(-)


Index: llvm/include/llvm/CodeGen/MachineDebugInfo.h
diff -u llvm/include/llvm/CodeGen/MachineDebugInfo.h:1.37 
llvm/include/llvm/CodeGen/MachineDebugInfo.h:1.38
--- llvm/include/llvm/CodeGen/MachineDebugInfo.h:1.37   Fri Jun 23 07:51:53 2006
+++ llvm/include/llvm/CodeGen/MachineDebugInfo.hTue Jul 11 10:58:09 2006
@@ -57,7 +57,8 @@
 // Debug info constants.
 
 enum {
-  LLVMDebugVersion = (4 << 16), // Current version of debug 
information.
+  LLVMDebugVersion = (5 << 16), // Current version of debug 
information.
+  LLVMDebugVersion4 = (4 << 16),// Constant for version 4.
   LLVMDebugVersionMask = 0x // Mask for version number.
 };
 
@@ -276,6 +277,10 @@
 ///
 class TypeDesc : public DebugInfoDesc {
 private:
+  enum {
+FlagPrivate= 1 << 0,
+FlagProtected  = 1 << 1
+  };
   DebugInfoDesc *Context;   // Context debug descriptor.
   std::string Name; // Type name (may be empty.)
   DebugInfoDesc *File;  // Defined compile unit (may be NULL.)
@@ -283,6 +288,7 @@
   uint64_t Size;// Type bit size (may be zero.)
   uint64_t Align;   // Type bit alignment (may be zero.)
   uint64_t Offset;  // Type bit offset (may be zero.)
+  unsigned Flags;   // Miscellaneous flags.
 
 public:
   TypeDesc(unsigned T);
@@ -297,6 +303,12 @@
   uint64_t getSize() const { return Size; }
   uint64_t getAlign()const { return Align; }
   uint64_t getOffset()   const { return Offset; }
+  bool isPrivate() const {
+return (Flags & FlagPrivate) != 0;
+  }
+  bool isProtected() const {
+return (Flags & FlagProtected) != 0;
+  }
   void setContext(DebugInfoDesc *C){ Context = C; }
   void setName(const std::string &N)   { Name = N; }
   void setFile(CompileUnitDesc *U) {
@@ -306,6 +318,8 @@
   void setSize(uint64_t S) { Size = S; }
   void setAlign(uint64_t A){ Align = A; }
   void setOffset(uint64_t O)   { Offset = O; }
+  void setIsPrivate()  { Flags |= FlagPrivate; }
+  void setIsProtected(){ Flags |= FlagProtected; }
   
   /// ApplyToFields - Target the visitor to the fields of the TypeDesc.
   ///
@@ -572,6 +586,7 @@
 private:
   DebugInfoDesc *Context;   // Context debug descriptor.
   std::string Name; // Global name.
+  std::string DisplayName;  // C++ unmangled name.
   DebugInfoDesc *File;  // Defined compile unit (may be NULL.)
   unsigned Line;// Defined line# (may be zero.)
   DebugInfoDesc *TyDesc;// Type debug descriptor.
@@ -585,6 +600,7 @@
   // Accessors
   DebugInfoDesc *getContext()const { return Context; }
   const std::string &getName()   const { return Name; }
+  const std::string &getDisplayName()const { return DisplayName; }
   CompileUnitDesc *getFile() const {
 return static_cast(File);
   }
@@ -596,6 +612,7 @@
   bool isDefinition()const { return IsDefinition; }
   void setContext(DebugInfoDesc *C){ Context = C; }
   void setName(const std::string &N)   { Name = N; }
+  void setDisplayName(const std::string &N){ DisplayName = N; }
   void setFile(CompileUnitDesc *U) {
 File = static_cast(U);
   }



___
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 ARMISelDAGToDAG.cpp ARMInstrInfo.td ARMRegisterInfo.cpp

2006-07-11 Thread Rafael Espindola


Changes in directory llvm/lib/Target/ARM:

ARMAsmPrinter.cpp updated: 1.4 -> 1.5
ARMISelDAGToDAG.cpp updated: 1.14 -> 1.15
ARMInstrInfo.td updated: 1.6 -> 1.7
ARMRegisterInfo.cpp updated: 1.6 -> 1.7
---
Log message:

add the memri memory operand
this makes it possible for ldr instructions with non-zero immediate


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

 ARMAsmPrinter.cpp   |6 ++
 ARMISelDAGToDAG.cpp |7 +--
 ARMInstrInfo.td |   17 +
 ARMRegisterInfo.cpp |   26 ++
 4 files changed, 42 insertions(+), 14 deletions(-)


Index: llvm/lib/Target/ARM/ARMAsmPrinter.cpp
diff -u llvm/lib/Target/ARM/ARMAsmPrinter.cpp:1.4 
llvm/lib/Target/ARM/ARMAsmPrinter.cpp:1.5
--- llvm/lib/Target/ARM/ARMAsmPrinter.cpp:1.4   Fri May 26 05:56:17 2006
+++ llvm/lib/Target/ARM/ARMAsmPrinter.cpp   Tue Jul 11 06:36:48 2006
@@ -58,6 +58,12 @@
   return "ARM Assembly Printer";
 }
 
+void printMemRegImm(const MachineInstr *MI, unsigned OpNo) {
+  printOperand(MI, OpNo + 1);
+  O << ", ";
+  printOperand(MI, OpNo);
+}
+
 void printOperand(const MachineInstr *MI, int opNum);
 void printMemOperand(const MachineInstr *MI, int opNum,
  const char *Modifier = 0);


Index: llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
diff -u llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp:1.14 
llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp:1.15
--- llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp:1.14Sun Jul  9 20:41:35 2006
+++ llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp Tue Jul 11 06:36:48 2006
@@ -164,7 +164,7 @@
 
   void Select(SDOperand &Result, SDOperand Op);
   virtual void InstructionSelectBasicBlock(SelectionDAG &DAG);
-  bool SelectAddrReg(SDOperand N, SDOperand &Base);
+  bool SelectAddrRegImm(SDOperand N, SDOperand &Offset, SDOperand &Base);
 
   // Include the pieces autogenerated from the target description.
 #include "ARMGenDAGISel.inc"
@@ -183,7 +183,10 @@
   ScheduleAndEmitDAG(DAG);
 }
 
-bool ARMDAGToDAGISel::SelectAddrReg(SDOperand N, SDOperand &Base) {
+//register plus/minus 12 bit offset
+bool ARMDAGToDAGISel::SelectAddrRegImm(SDOperand N, SDOperand &Offset,
+   SDOperand &Base) {
+  Offset = CurDAG->getTargetConstant(0, MVT::i32);
   if (FrameIndexSDNode *FI = dyn_cast(N)) {
 Base = CurDAG->getTargetFrameIndex(FI->getIndex(), N.getValueType());
   }


Index: llvm/lib/Target/ARM/ARMInstrInfo.td
diff -u llvm/lib/Target/ARM/ARMInstrInfo.td:1.6 
llvm/lib/Target/ARM/ARMInstrInfo.td:1.7
--- llvm/lib/Target/ARM/ARMInstrInfo.td:1.6 Sun Jul  9 20:41:35 2006
+++ llvm/lib/Target/ARM/ARMInstrInfo.td Tue Jul 11 06:36:48 2006
@@ -12,9 +12,18 @@
 //
 
//===--===//
 
+// Address operands
+def memri : Operand {
+  let PrintMethod = "printMemRegImm";
+  let NumMIOperands = 2;
+  let MIOperandInfo = (ops i32imm, ptr_rc);
+}
+
 // Define ARM specific addressing mode.
- //register or frame index
-def raddr  : ComplexPattern;
+//register plus/minus 12 bit offset
+def iaddr  : ComplexPattern;
+//register plus scaled register
+//def raddr  : ComplexPattern;
 
 
//===--===//
 // Instructions
@@ -42,9 +51,9 @@
 
 def bxr: InstARM<(ops IntRegs:$dst), "bx $dst", [(brind IntRegs:$dst)]>;
 
-def ldr   : InstARM<(ops IntRegs:$dst, IntRegs:$addr),
+def ldr   : InstARM<(ops IntRegs:$dst, memri:$addr),
  "ldr $dst, [$addr]",
- [(set IntRegs:$dst, (load raddr:$addr))]>;
+ [(set IntRegs:$dst, (load iaddr:$addr))]>;
 
 def str  : InstARM<(ops IntRegs:$src, IntRegs:$addr),
 "str $src, [$addr]",


Index: llvm/lib/Target/ARM/ARMRegisterInfo.cpp
diff -u llvm/lib/Target/ARM/ARMRegisterInfo.cpp:1.6 
llvm/lib/Target/ARM/ARMRegisterInfo.cpp:1.7
--- llvm/lib/Target/ARM/ARMRegisterInfo.cpp:1.6 Sun Jul  9 20:41:35 2006
+++ llvm/lib/Target/ARM/ARMRegisterInfo.cpp Tue Jul 11 06:36:48 2006
@@ -83,23 +83,33 @@
 
   assert (MI.getOpcode() == ARM::ldr);
 
-  unsigned FrameIdx = 1;
+  unsigned FrameIdx = 2;
+  unsigned OffIdx = 1;
 
   int FrameIndex = MI.getOperand(FrameIdx).getFrameIndex();
 
   int Offset = MF.getFrameInfo()->getObjectOffset(FrameIndex);
+  assert (MI.getOperand(OffIdx).getImmedValue() == 0);
 
   unsigned StackSize = MF.getFrameInfo()->getStackSize();
 
   Offset += StackSize;
 
-  // Insert a set of r12 with the full address
-  // r12 = r13 + offset
-  MachineBasicBlock *MBB2 = MI.getParent();
-  BuildMI(*MBB2, II, ARM::addri, 2, ARM::R12).addReg(ARM::R13).addImm(Offset);
-
-  // Replace the FrameIndex with r12
-  MI.getOperand(FrameIdx).ChangeToRegister(ARM::R12);
+  assert (Offset >= 0);
+  if (Offset < 4096) {
+// Replace the FrameIndex with r13
+MI.getOperand(FrameIdx).ChangeToRegister(ARM::R13);
+// Replace the ldr offset with Offset
+MI.getOperand(OffIdx).ChangeToImmediate(Offset);
+  } else {
+ 

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

2006-07-11 Thread Owen Anderson


Changes in directory llvm/lib/Transforms/Scalar:

IndVarSimplify.cpp updated: 1.84 -> 1.85
---
Log message:

Revert my indvars changes because they were breaking things.  Unfortunately this
didn't start showing up until after the recent instcombine fixes.


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

 IndVarSimplify.cpp |   44 +++-
 1 files changed, 15 insertions(+), 29 deletions(-)


Index: llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
diff -u llvm/lib/Transforms/Scalar/IndVarSimplify.cpp:1.84 
llvm/lib/Transforms/Scalar/IndVarSimplify.cpp:1.85
--- llvm/lib/Transforms/Scalar/IndVarSimplify.cpp:1.84  Mon Jun 26 21:17:08 2006
+++ llvm/lib/Transforms/Scalar/IndVarSimplify.cpp   Tue Jul 11 02:25:33 2006
@@ -325,8 +325,20 @@
 for (Value::use_iterator UI = I->use_begin(), E = I->use_end();
  UI != E; ++UI) {
   Instruction *User = cast(*UI);
-  if (!L->contains(User->getParent()))
+  if (!L->contains(User->getParent())) {
+// If this is a PHI node in the exit block and we're inserting,
+// into the exit block, it must have a single entry.  In this
+// case, we can't insert the code after the PHI and have the 
PHI
+// still use it.  Instead, don't insert the the PHI.
+if (PHINode *PN = dyn_cast(User)) {
+  // FIXME: This is a case where LCSSA pessimizes code, this
+  // should be fixed better.
+  if (PN->getNumOperands() == 2 && 
+  PN->getParent() == BlockToInsertInto)
+continue;
+}
 ExtraLoopUsers.push_back(User);
+  }
 }
 
 if (!ExtraLoopUsers.empty()) {
@@ -346,34 +358,8 @@
 
 // Rewrite any users of the computed value outside of the loop
 // with the newly computed value.
-for (unsigned i = 0, e = ExtraLoopUsers.size(); i != e; ++i) {
-  PHINode* PN = dyn_cast(ExtraLoopUsers[i]);
-  if (PN && PN->getParent() == BlockToInsertInto) {
- // We're dealing with an LCSSA Phi.  Handle it specially.
-Instruction* LCSSAInsertPt = BlockToInsertInto->begin();
-
-Instruction* NewInstr = dyn_cast(NewVal);
-if (Instruction* NewInstr = dyn_cast(NewVal))
-  for (unsigned j = 0; j < NewInstr->getNumOperands(); 
++j){
-Instruction* PredI = 
- 
dyn_cast(NewInstr->getOperand(j));
-if (PredI && L->contains(PredI->getParent())) {
-  PHINode* NewLCSSA = new PHINode(PredI->getType(),
-PredI->getName() + 
".lcssa",
-LCSSAInsertPt);
-  NewLCSSA->addIncoming(PredI, 
- 
BlockToInsertInto->getSinglePredecessor());
-
-  NewInstr->replaceUsesOfWith(PredI, NewLCSSA);
-}
-  }
-
-PN->replaceAllUsesWith(NewVal);
-PN->eraseFromParent();
-  } else {
-ExtraLoopUsers[i]->replaceUsesOfWith(I, NewVal);
-  }
-}
+for (unsigned i = 0, e = ExtraLoopUsers.size(); i != e; ++i)
+  ExtraLoopUsers[i]->replaceUsesOfWith(I, NewVal);
 
 // If this instruction is dead now, schedule it to be removed.
 if (I->use_empty())



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