Reid Spencer [Thu, 23 Sep 2004 14:49:45 +0000 (14:49 +0000)]
Change Value from a "struct" to a "class" so that VC 7.1 doesn't generate
missing symbols when its referenced as a class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16496
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 23 Sep 2004 14:47:10 +0000 (14:47 +0000)]
Patch for MINGW. Patch provided by Henrik Bach.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16495
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 23 Sep 2004 06:07:24 +0000 (06:07 +0000)]
Missed one $*.a -> $@ conversion for the Release build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16494
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Thu, 23 Sep 2004 05:31:33 +0000 (05:31 +0000)]
Fix the last of the major PPC GEP folding deficiencies. This will allow
the ISel to use indexed and non-zero immediate offsets for GEPs that have
more than one use. This is common for instruction sequences such as a load
followed by a modify and store to the same address.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16493
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Thu, 23 Sep 2004 04:39:30 +0000 (04:39 +0000)]
Update email address
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16492
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 23 Sep 2004 04:36:01 +0000 (04:36 +0000)]
Grrr... I shouldn't have to do this one :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16491
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 23 Sep 2004 04:30:05 +0000 (04:30 +0000)]
Update credits
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16490
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 23 Sep 2004 00:58:06 +0000 (00:58 +0000)]
Correct the rules for making shared libraries per libtool 1.5.10
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16489
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 22 Sep 2004 21:48:50 +0000 (21:48 +0000)]
Use the V8/V9 shared register file description
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16485
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 22 Sep 2004 21:38:42 +0000 (21:38 +0000)]
Combine the F2 and F3 instruction classes into one file for simplicity
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16484
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 22 Sep 2004 21:29:12 +0000 (21:29 +0000)]
Fix file header path
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16483
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 22 Sep 2004 20:09:29 +0000 (20:09 +0000)]
Prettify formatting of the file, adjust paths to making V8 a subdir of Sparc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16482
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 22 Sep 2004 20:08:52 +0000 (20:08 +0000)]
V8 is now a subdirectory of Sparc; adjust paths accordingly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16481
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 22 Sep 2004 15:32:08 +0000 (15:32 +0000)]
Update to add the HAVE_UINT64_T test and the STACK_DIRECTION indicator.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16480
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 22 Sep 2004 15:28:32 +0000 (15:28 +0000)]
The alloca function, strangely enough, is found in the malloc.h header file
on MINGW platform. Provide an #elseif case to #include malloc.h for this
platform if malloc.h is found.
Patch provided by Henrik Bach. Thanks Henrik!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16479
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Wed, 22 Sep 2004 04:40:25 +0000 (04:40 +0000)]
add optimized code sequences for setcc x, 0
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16478
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Sep 2004 21:35:23 +0000 (21:35 +0000)]
Do not fold (X + C1 != C2) if there are other users of the add. Doing
this transformation used to take a loop like this:
int Array[1000];
void test(int X) {
int i;
for (i = 0; i < 1000; ++i)
Array[i] += X;
}
Compiled to LLVM is:
no_exit: ; preds = %entry, %no_exit
%indvar = phi uint [ 0, %entry ], [ %indvar.next, %no_exit ] ; <uint> [#uses=2]
%tmp.4 = getelementptr [1000 x int]* %Array, int 0, uint %indvar ; <int*> [#uses=2]
%tmp.7 = load int* %tmp.4 ; <int> [#uses=1]
%tmp.9 = add int %tmp.7, %X ; <int> [#uses=1]
store int %tmp.9, int* %tmp.4
*** %indvar.next = add uint %indvar, 1 ; <uint> [#uses=2]
*** %exitcond = seteq uint %indvar.next, 1000 ; <bool> [#uses=1]
br bool %exitcond, label %return, label %no_exit
and turn it into a loop like this:
no_exit: ; preds = %entry, %no_exit
%indvar = phi uint [ 0, %entry ], [ %indvar.next, %no_exit ] ; <uint> [#uses=3]
%tmp.4 = getelementptr [1000 x int]* %Array, int 0, uint %indvar ; <int*> [#uses=2]
%tmp.7 = load int* %tmp.4 ; <int> [#uses=1]
%tmp.9 = add int %tmp.7, %X ; <int> [#uses=1]
store int %tmp.9, int* %tmp.4
*** %indvar.next = add uint %indvar, 1 ; <uint> [#uses=1]
*** %exitcond = seteq uint %indvar, 999 ; <bool> [#uses=1]
br bool %exitcond, label %return, label %no_exit
Note that indvar.next and indvar can no longer be coallesced. In machine
code terms, this patch changes this code:
.LBBtest_1: # no_exit
mov %EDX, OFFSET Array
mov %ESI, %EAX
add %ESI, DWORD PTR [%EDX + 4*%ECX]
mov %EDX, OFFSET Array
mov DWORD PTR [%EDX + 4*%ECX], %ESI
mov %EDX, %ECX
inc %EDX
cmp %ECX, 999
mov %ECX, %EDX
jne .LBBtest_1 # no_exit
into this:
.LBBtest_1: # no_exit
mov %EDX, OFFSET Array
mov %ESI, %EAX
add %ESI, DWORD PTR [%EDX + 4*%ECX]
mov %EDX, OFFSET Array
mov DWORD PTR [%EDX + 4*%ECX], %ESI
inc %ECX
cmp %ECX, 1000
jne .LBBtest_1 # no_exit
We need better instruction selection to get this:
.LBBtest_1: # no_exit
add DWORD PTR [Array + 4*%ECX], EAX
inc %ECX
cmp %ECX, 1000
jne .LBBtest_1 # no_exit
... but at least there is less register juggling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16473
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Tue, 21 Sep 2004 21:22:11 +0000 (21:22 +0000)]
The real x87 floating point registers should not be allocatable. They
are only used by the stackifier when transforming FPn register
allocations to the real stack file x87 registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16472
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 21 Sep 2004 18:22:33 +0000 (18:22 +0000)]
s/ISel/PPC64ISel/ to have unique class names for debugging via gdb because the
C++ front-end in gcc does not mangle classes in anonymous namespaces correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16471
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 21 Sep 2004 18:22:19 +0000 (18:22 +0000)]
s/ISel/PPC32ISel/ to have unique class names for debugging via gdb because the
C++ front-end in gcc does not mangle classes in anonymous namespaces correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16470
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 21 Sep 2004 18:21:21 +0000 (18:21 +0000)]
s/ISel/X86ISel/ to have unique class names for debugging via gdb because the C++
front-end in gcc does not mangle classes in anonymous namespaces correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16469
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Sep 2004 17:30:54 +0000 (17:30 +0000)]
Make sure to set the operand list
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16466
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 21 Sep 2004 17:14:44 +0000 (17:14 +0000)]
Fix a problem where the mmap_file test was generating an incorrect test
program that always failed (wouldn't compile).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16465
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 21 Sep 2004 17:13:23 +0000 (17:13 +0000)]
Change the warning text so that NO warnings are permitted. This is now the
case since the AC_CONFIG_SUBDIRS problem has been fixed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16464
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 21 Sep 2004 17:12:35 +0000 (17:12 +0000)]
Don't attempt to (illegally) configure a subdir if we don't recognize it.
Instead just create a warning message that says the directory cannot be
configured because it isn't recognized. This also gets rid of a bunch of
warning messages from the auto* tools.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16463
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 21 Sep 2004 17:10:52 +0000 (17:10 +0000)]
Fix the program passed to AC_LANG_PROGRAM to be only the BODY of the main
function, not the whole main function. This problem resulted during
conversion of scripts to the new autoconf standard. The effect was that
the mmap_file test would fail and if it does there is currently an
#ifdef'd #error that causes compilation to fail. Bad, bad, bad.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16462
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 21 Sep 2004 16:54:37 +0000 (16:54 +0000)]
Thanks to Brad Jones for packed type support!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16461
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 21 Sep 2004 16:53:29 +0000 (16:53 +0000)]
Thanks to Brad for documentation on adding a DerivedType
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16460
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Sep 2004 16:26:13 +0000 (16:26 +0000)]
This is an empty directory
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16459
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Sep 2004 16:25:41 +0000 (16:25 +0000)]
This is a dead directory now
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16458
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 20 Sep 2004 22:14:56 +0000 (22:14 +0000)]
Change the name of the "known" module for Java from llvm-java to Java.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16453
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Mon, 20 Sep 2004 15:45:36 +0000 (15:45 +0000)]
Use the right directory for the Java frontend
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16448
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Sep 2004 10:15:10 +0000 (10:15 +0000)]
Fix potential miscompilations: InstCombine/2004-09-20-BadLoadCombine*.llx
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16447
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Sep 2004 10:14:27 +0000 (10:14 +0000)]
Two testcases for invalid transformations that instcombine is doing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16446
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 20 Sep 2004 08:09:36 +0000 (08:09 +0000)]
Documentation upgrade.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16445
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 20 Sep 2004 08:04:13 +0000 (08:04 +0000)]
Finish the documentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16444
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 20 Sep 2004 08:00:09 +0000 (08:00 +0000)]
Tighten up the specification of what counts as a code file. The previous
specification was too liberal in some areas and missing things in others.
This specification is based on the actual extensions found in the source
tree.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16443
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 20 Sep 2004 07:22:23 +0000 (07:22 +0000)]
Base the implementation on the llvmdo script so that we only have to
maintain the logic for "what counts as a source file" in one place.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16442
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 20 Sep 2004 07:21:19 +0000 (07:21 +0000)]
Fixed to actually work correctly and be the basis for other tools by
allowing the set of directories searched to be specified either by the
LLVMDO_DIRS env var or by the -dirs "dirs..." command line option.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16441
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Mon, 20 Sep 2004 06:42:58 +0000 (06:42 +0000)]
Fix loop condition so that we don't decrement off the beginning of the
list.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16440
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Sep 2004 05:01:04 +0000 (05:01 +0000)]
Don't count .lo files :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16439
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Sep 2004 04:48:05 +0000 (04:48 +0000)]
'Pass' should now not be derived from by clients. Instead, they should derive
from ModulePass. Instead of implementing Pass::run, then should implement
ModulePass::runOnModule.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16436
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Sep 2004 04:47:19 +0000 (04:47 +0000)]
'Pass' should now not be derived from by clients. Instead, they should derive
from ModulePass. Instead of implementing Pass::run, then should implement
ModulePass::runOnModule.
Also, fix some undefined behavior, expecting | on booleans to evaluate
left-to-right.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16435
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Sep 2004 04:44:31 +0000 (04:44 +0000)]
Finegrainify namespacification
'Pass' should now not be derived from by clients. Instead, they should derive
from ModulePass. Instead of implementing Pass::run, then should implement
ModulePass::runOnModule.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16434
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Sep 2004 04:43:57 +0000 (04:43 +0000)]
Prototype more accurately
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16433
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Sep 2004 04:43:15 +0000 (04:43 +0000)]
Prototype these functions more accurately
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16432
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Sep 2004 04:41:39 +0000 (04:41 +0000)]
Do not prototype any of these passes as returning Pass*. Instead, be specific
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16431
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Sep 2004 04:36:29 +0000 (04:36 +0000)]
'Pass' should now not be derived from by clients. Instead, they should derive
from ModulePass. Instead of implementing Pass::run, then should implement
ModulePass::runOnModule.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16430
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Sep 2004 04:35:27 +0000 (04:35 +0000)]
Adjust to API changes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16429
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 20 Sep 2004 04:13:43 +0000 (04:13 +0000)]
Put in a #error in the event that we don't have an mmap that can map a file
into memor. This is just a reminder that the ReadFileIntoAddressSpace
function needs to be properly converted to lib/System and implemented via
read/write if there's no mmap of file support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16428
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 20 Sep 2004 04:09:56 +0000 (04:09 +0000)]
Fix problems with AC_FUNC_MMAP_FILE and AC_LINK_USE_R that caused problems
with correctly recognizing mmap of files and the linker's support of -r.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16427
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 20 Sep 2004 04:08:22 +0000 (04:08 +0000)]
Correct the use AC_RUN_IFELSE to ensure it builds programs correctly by
using the AC_LANG_PROGRAM macro.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16426
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 20 Sep 2004 03:06:28 +0000 (03:06 +0000)]
Allow the suffix for shared libraries to be obtained correctly so we can
build them again.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16425
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 20 Sep 2004 03:05:46 +0000 (03:05 +0000)]
The problem with depending on the internal implementation of third party
tools is that you break when they change. This is a case in point.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16424
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 20 Sep 2004 01:43:00 +0000 (01:43 +0000)]
libtool's name is now back to mklib.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16423
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 20 Sep 2004 01:42:32 +0000 (01:42 +0000)]
Change to support creation of "mklib" instead of "libtool" in builddir.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16422
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 20 Sep 2004 01:41:24 +0000 (01:41 +0000)]
Update the script to generate mklib instead of libtool.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16421
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 19 Sep 2004 23:53:36 +0000 (23:53 +0000)]
Adjust the libtool macros so that libtool's name is "mklib". Also, tidy up
the use of obsolete macros, hopefully making us more compliant on more sys.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16420
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 19 Sep 2004 23:43:52 +0000 (23:43 +0000)]
Various minor cleanups and replacement of obsoleted macro names.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16419
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 19 Sep 2004 23:42:55 +0000 (23:42 +0000)]
Numerous fixes to convert ~ into ; that (probably) occurred during data
transmission.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16418
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Sep 2004 23:15:47 +0000 (23:15 +0000)]
The lexicon doc is more of a user guide than programming dox
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16417
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 19 Sep 2004 22:31:49 +0000 (22:31 +0000)]
Bring the script out of the dark ages and into modern autoconfness.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16415
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 19 Sep 2004 22:30:53 +0000 (22:30 +0000)]
Make the "Warning" notice a LOT more prominent.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16414
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 19 Sep 2004 22:14:24 +0000 (22:14 +0000)]
Add in version dependency checks on all the tools we depend on. This is
necessary to ensure that a consistent configuration is created on each
platform. Certain definitions we use (like m4/libtool.m4) require certain
versions of the tools and we can no longer be slack about this or we'll
have problems with mis-configured builds.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16412
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 19 Sep 2004 21:47:47 +0000 (21:47 +0000)]
Add our own version of libtool.m4 instead of relying on the installed one.
This is a potential version mismatch problem because this file came from
libtool 1.5.10. If you're running a different version of libtool, the
checks in this file may not be quite right. Having our own version of this
file violates the spirit of libtool and is only provided to change the name
of "libtool" to "mklib". This is done so that the name "libtool" does not
conflict with the "lib" directory when doing tab completion and your
$objdir == $srcdir.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16411
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Sep 2004 19:21:26 +0000 (19:21 +0000)]
better code
Move other things to the right sections
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16410
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Sep 2004 19:18:10 +0000 (19:18 +0000)]
Make isSafeToLoadUnconditionally a bit smarter, implementing PR362 and
Regression/Transforms/InstCombine/CPP_min_max.llx
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16409
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Sep 2004 19:17:10 +0000 (19:17 +0000)]
New testcase for PR362: Icky code generated for std::min/std::max
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16408
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Sep 2004 19:01:06 +0000 (19:01 +0000)]
Fix a nasty iterator invalidation problem I introduced yesterday. This
unfortunately is the cause of a bunch of failures from tonight, and the
reason the tester is running so slow :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16407
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Sep 2004 18:51:51 +0000 (18:51 +0000)]
Remove a whole bunch of horrible hacky code that was used to promote allocas
whose addresses where used by trivial phi nodes and select instructions. This
is now performed by the instcombine pass, which is more powerful, is much
simpler, and is faster. This allows the deletion of a bunch of code, two
FIXME's and two gotos.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16406
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Sep 2004 18:45:45 +0000 (18:45 +0000)]
Instcombine now helps out with these
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16405
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Sep 2004 18:43:46 +0000 (18:43 +0000)]
Make instruction combining a bit more aggressive in the face of volatile
loads, and implement two new transforms: InstCombine/load.ll:test[56].
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16404
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Sep 2004 18:43:01 +0000 (18:43 +0000)]
Add two new testcases that instcombine should handle
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16403
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 19 Sep 2004 05:37:39 +0000 (05:37 +0000)]
Minor correction to Signals implementation.
Patch submitted by Jeff Cohen. Thanks Jeff!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16401
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Sep 2004 01:05:16 +0000 (01:05 +0000)]
Add comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16400
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 18 Sep 2004 21:37:03 +0000 (21:37 +0000)]
Fix the inliner to always delete any edges from the external call node to
a function being deleted. Due to optimizations done while inlining, there
can be edges from the external call node to a function node that were not
apparent any longer.
This fixes the compiler crash while compiling 175.vpr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16399
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 18 Sep 2004 21:34:34 +0000 (21:34 +0000)]
Add CallGraphNode::removeAnyCallEdgeTo method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16398
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 18 Sep 2004 19:34:09 +0000 (19:34 +0000)]
Use the /dev/zero device as the device on which the pages are mapped.
Patch contributed by Henrik Bach. Thanks Henrik!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16397
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 18 Sep 2004 19:29:16 +0000 (19:29 +0000)]
Porting of Unix implementation to Win32.
Patch contributed by Jeff Cohen. Thanks Jeff!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16396
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 18 Sep 2004 19:25:11 +0000 (19:25 +0000)]
Get rid of file descriptor leak in create_file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16395
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 18 Sep 2004 16:16:28 +0000 (16:16 +0000)]
Misha implemented the ModuleProvider interface back in 9/18/2003.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16394
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 18 Sep 2004 06:39:35 +0000 (06:39 +0000)]
Provide initial docs for CallGraphSCCPass's, and fix several grammar-o's and
other problems.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16393
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 18 Sep 2004 06:28:07 +0000 (06:28 +0000)]
Make this HTML 4.01 strict
Update to reflect changes to the 'Register' tblgen class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16392
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 18 Sep 2004 04:40:46 +0000 (04:40 +0000)]
Don't include libtool "object" files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16391
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 18 Sep 2004 00:34:13 +0000 (00:34 +0000)]
Convert this pass to be a CallGraphSCCPass instead of a Pass, which eliminates
the worklist and makes it more efficient. This does not change functionality
at all.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16390
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 18 Sep 2004 00:32:40 +0000 (00:32 +0000)]
Make sure to remove the Select instruction as well
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16389
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 18 Sep 2004 00:27:20 +0000 (00:27 +0000)]
When changing a function, make sure to update the CallGraphNode for the
function, not just the CallGraph.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16388
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 18 Sep 2004 00:22:43 +0000 (00:22 +0000)]
Implement new changeFunction method, nuke a never implemented one.
Add comments and doxygenify others.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16387
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 18 Sep 2004 00:22:13 +0000 (00:22 +0000)]
Implement new changeFunction method, nuke a never implemented one.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16386
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Fri, 17 Sep 2004 15:08:25 +0000 (15:08 +0000)]
Changed the distclean target to handle the new location of config.h.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16385
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 17 Sep 2004 03:58:39 +0000 (03:58 +0000)]
Fix typo in comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16384
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 17 Sep 2004 03:02:27 +0000 (03:02 +0000)]
Make sure critical sections are entered before trying to leave them.
Add some additional commentary about the workings of this module.
Patch contributed by Jeff Cohen. Thanks Jeff!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16383
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 16 Sep 2004 16:41:31 +0000 (16:41 +0000)]
Adjust the license files based on the actual content of llvm and llvm-test
after llvm-test was split out of llvm.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16382
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 16 Sep 2004 16:36:10 +0000 (16:36 +0000)]
Allow "bc" as suffix for bytecode files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16381
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 16 Sep 2004 15:53:16 +0000 (15:53 +0000)]
Implement the signals interface for Win32.
Patch provided by Jeff Cohen. Thanks Jeff!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16380
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Thu, 16 Sep 2004 14:11:25 +0000 (14:11 +0000)]
Add dependencies so that project tools are recompiled if LLVM libraries
are updated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16378
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 15 Sep 2004 17:53:52 +0000 (17:53 +0000)]
Add a newline
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16369
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 15 Sep 2004 17:06:42 +0000 (17:06 +0000)]
Convert code to compile with vc7.1.
Patch contributed by Paolo Invernizzi. Thanks Paolo!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16368
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 15 Sep 2004 17:00:41 +0000 (17:00 +0000)]
Make sure to update the list end when an element is removed from it. This
fixes a crash in LICM when processing povray.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16367
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 15 Sep 2004 16:59:47 +0000 (16:59 +0000)]
Add some assertions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16366
91177308-0d34-0410-b5e6-
96231b3b80d8