oota-llvm.git
20 years agoTestcases for rev 250 of InstructionCombining.cpp
Chris Lattner [Mon, 27 Sep 2004 16:21:26 +0000 (16:21 +0000)]
Testcases for rev 250 of InstructionCombining.cpp

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16522 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFold: (setcc (shr X, ShAmt), CI), where 'cc' is eq or ne. This xform
Chris Lattner [Mon, 27 Sep 2004 16:18:50 +0000 (16:18 +0000)]
Fold: (setcc (shr X, ShAmt), CI), where 'cc' is eq or ne.  This xform
triggers often, for example:

6x in povray, 1x in gzip, 279x in gcc, 1x in crafty, 8x in eon, 11x in perlbmk,
362x in gap, 4x in vortex, 14 in m88ksim, 211x in 126.gcc, 1x in compress,
11x in ijpeg, and 4x in 147.vortex.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16521 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoImprove warning
Alkis Evlogimenos [Mon, 27 Sep 2004 07:35:19 +0000 (07:35 +0000)]
Improve warning

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16520 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoCorrect some BuildMI arguments for the upcoming simple scheduler
Nate Begeman [Mon, 27 Sep 2004 05:08:17 +0000 (05:08 +0000)]
Correct some BuildMI arguments for the upcoming simple scheduler

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16519 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix the copy-pasto that Brian noticed: V8 int regs are 32-bits wide, not 64.
Misha Brukman [Sun, 26 Sep 2004 21:07:43 +0000 (21:07 +0000)]
Fix the copy-pasto that Brian noticed: V8 int regs are 32-bits wide, not 64.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16518 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd some missing #includes
Reid Spencer [Sat, 25 Sep 2004 16:00:07 +0000 (16:00 +0000)]
Add some missing #includes

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16517 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoQualify Path with sys:: namespace so this file compiles.
Reid Spencer [Sat, 25 Sep 2004 15:59:41 +0000 (15:59 +0000)]
Qualify Path with sys:: namespace so this file compiles.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16516 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoUpdated to reflect changes in the interface of TimeValue::now().
Reid Spencer [Sat, 25 Sep 2004 08:32:37 +0000 (08:32 +0000)]
Updated to reflect changes in the interface of TimeValue::now().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16515 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoClean up the interface of TimeValue:
Reid Spencer [Sat, 25 Sep 2004 08:29:54 +0000 (08:29 +0000)]
Clean up the interface of TimeValue:
- get rid of unneeded constructors
- get rid of duplicate methods/constructors/operators
- normalize to LLVM coding standards
- wrap to 80 columns.

Many thanks to Alkis Evlogimenos for his suggestions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16514 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdded stub implementations of TimeValue concept for remaining platforms.
Reid Spencer [Sat, 25 Sep 2004 05:03:54 +0000 (05:03 +0000)]
Added stub implementations of TimeValue concept for remaining platforms.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16513 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoWrap to 80 cols.
Reid Spencer [Sat, 25 Sep 2004 05:03:22 +0000 (05:03 +0000)]
Wrap to 80 cols.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16512 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoInitial implementation of the TimeValue abstraction.
Reid Spencer [Fri, 24 Sep 2004 23:25:19 +0000 (23:25 +0000)]
Initial implementation of the TimeValue abstraction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16511 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoUpdated the last two header files so that they are configured with
John Criswell [Fri, 24 Sep 2004 21:19:06 +0000 (21:19 +0000)]
Updated the last two header files so that they are configured with
AC_CONFIG_HEADERS.  This should prevent LLVM from needlessly re-compiling
on a re-configure.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16510 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoModified hash_map and hash_set configuration so that they are not
John Criswell [Fri, 24 Sep 2004 18:28:00 +0000 (18:28 +0000)]
Modified hash_map and hash_set configuration so that they are not
regenerated on every run of configure.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16509 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoImplement shift-and combinations, implementing InstCombine/and.ll:test19-21
Chris Lattner [Fri, 24 Sep 2004 15:21:34 +0000 (15:21 +0000)]
Implement shift-and combinations, implementing InstCombine/and.ll:test19-21

These combinations trigger 4 times in povray, 7x in gcc, 4x in gap, and 2x in bzip2.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16508 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd some tests for shr-and folding
Chris Lattner [Fri, 24 Sep 2004 15:18:43 +0000 (15:18 +0000)]
Add some tests for shr-and folding

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16507 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoConfigure Datatypes.h.in with AC_CONFIG_HEADERS. This should prevent it
John Criswell [Fri, 24 Sep 2004 13:28:51 +0000 (13:28 +0000)]
Configure Datatypes.h.in with AC_CONFIG_HEADERS.  This should prevent it
from being re-generated if the new version is identical to the old version.
Hence, it should save us some recompiling after re-configures.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16506 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMove LHSI->hasOneUse() into the arms of the conditional, reindenting code.
Chris Lattner [Thu, 23 Sep 2004 21:52:49 +0000 (21:52 +0000)]
Move LHSI->hasOneUse() into the arms of the conditional, reindenting code.
No functionality changes here.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16505 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoImplement Transforms/InstCombine/and.ll:test18, a case that occurs 20 times
Chris Lattner [Thu, 23 Sep 2004 21:46:38 +0000 (21:46 +0000)]
Implement Transforms/InstCombine/and.ll:test18, a case that occurs 20 times
in perlbmk

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16504 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoNew testcase for a pattern that occurs 20 times in perlbmk
Chris Lattner [Thu, 23 Sep 2004 21:42:49 +0000 (21:42 +0000)]
New testcase for a pattern that occurs 20 times in perlbmk

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16503 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd a blurb about the use of class vs. struct keyword in class decls.
Reid Spencer [Thu, 23 Sep 2004 16:03:48 +0000 (16:03 +0000)]
Add a blurb about the use of class vs. struct keyword in class decls.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16500 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoImplement select.ll:test16: fold load (select C, X, null) -> load X
Chris Lattner [Thu, 23 Sep 2004 15:46:00 +0000 (15:46 +0000)]
Implement select.ll:test16: fold   load (select C, X, null)  -> load X

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16499 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoload null is undefined behavior, this should fold
Chris Lattner [Thu, 23 Sep 2004 15:45:20 +0000 (15:45 +0000)]
load null is undefined behavior, this should fold

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16498 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoChange Value from a "struct" to a "class" so that VC 7.1 doesn't generate
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

20 years agoPatch for MINGW. Patch provided by Henrik Bach.
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

20 years agoMissed one $*.a -> $@ conversion for the Release build.
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

20 years agoFix the last of the major PPC GEP folding deficiencies. This will allow
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

20 years agoUpdate email address
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

20 years agoGrrr... I shouldn't have to do this one :)
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

20 years agoUpdate credits
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

20 years agoCorrect the rules for making shared libraries per libtool 1.5.10
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

20 years agoUse the V8/V9 shared register file description
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

20 years agoCombine the F2 and F3 instruction classes into one file for simplicity
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

20 years agoFix file header path
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

20 years agoPrettify formatting of the file, adjust paths to making V8 a subdir of Sparc
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

20 years agoV8 is now a subdirectory of Sparc; adjust paths accordingly
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

20 years agoUpdate to add the HAVE_UINT64_T test and the STACK_DIRECTION indicator.
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

20 years agoThe alloca function, strangely enough, is found in the malloc.h header file
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

20 years agoadd optimized code sequences for setcc x, 0
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

20 years agoDo not fold (X + C1 != C2) if there are other users of the add. Doing
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

20 years agoThe real x87 floating point registers should not be allocatable. They
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

20 years agos/ISel/PPC64ISel/ to have unique class names for debugging via gdb because the
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

20 years agos/ISel/PPC32ISel/ to have unique class names for debugging via gdb because the
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

20 years agos/ISel/X86ISel/ to have unique class names for debugging via gdb because the C++
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

20 years agoMake sure to set the operand list
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

20 years agoFix a problem where the mmap_file test was generating an incorrect test
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

20 years agoChange the warning text so that NO warnings are permitted. This is now the
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

20 years agoDon't attempt to (illegally) configure a subdir if we don't recognize it.
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

20 years agoFix the program passed to AC_LANG_PROGRAM to be only the BODY of the main
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

20 years agoThanks to Brad Jones for packed type support!
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

20 years agoThanks to Brad for documentation on adding a DerivedType
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

20 years agoThis is an empty directory
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

20 years agoThis is a dead directory now
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

20 years agoChange the name of the "known" module for Java from llvm-java to Java.
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

20 years agoUse the right directory for the Java frontend
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

20 years agoFix potential miscompilations: InstCombine/2004-09-20-BadLoadCombine*.llx
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

20 years agoTwo testcases for invalid transformations that instcombine is doing
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

20 years agoDocumentation upgrade.
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

20 years agoFinish the documentation.
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

20 years agoTighten up the specification of what counts as a code file. The previous
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

20 years agoBase the implementation on the llvmdo script so that we only have to
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

20 years agoFixed to actually work correctly and be the basis for other tools by
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

20 years agoFix loop condition so that we don't decrement off the beginning of the
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

20 years agoDon't count .lo files :)
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

20 years ago'Pass' should now not be derived from by clients. Instead, they should derive
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

20 years ago'Pass' should now not be derived from by clients. Instead, they should derive
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

20 years agoFinegrainify namespacification
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

20 years agoPrototype more accurately
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

20 years agoPrototype these functions more accurately
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

20 years agoDo not prototype any of these passes as returning Pass*. Instead, be specific
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

20 years ago'Pass' should now not be derived from by clients. Instead, they should derive
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

20 years agoAdjust to API changes
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

20 years agoPut in a #error in the event that we don't have an mmap that can map a file
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

20 years agoFix problems with AC_FUNC_MMAP_FILE and AC_LINK_USE_R that caused problems
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

20 years agoCorrect the use AC_RUN_IFELSE to ensure it builds programs correctly by
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

20 years agoAllow the suffix for shared libraries to be obtained correctly so we can
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

20 years agoThe problem with depending on the internal implementation of third party
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

20 years agolibtool's name is now back to mklib.
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

20 years agoChange to support creation of "mklib" instead of "libtool" in builddir.
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

20 years agoUpdate the script to generate mklib instead of libtool.
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

20 years agoAdjust the libtool macros so that libtool's name is "mklib". Also, tidy up
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

20 years agoVarious minor cleanups and replacement of obsoleted macro names.
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

20 years agoNumerous fixes to convert ~ into ; that (probably) occurred during data
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

20 years agoThe lexicon doc is more of a user guide than programming dox
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

20 years agoBring the script out of the dark ages and into modern autoconfness.
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

20 years agoMake the "Warning" notice a LOT more prominent.
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

20 years agoAdd in version dependency checks on all the tools we depend on. This is
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

20 years agoAdd our own version of libtool.m4 instead of relying on the installed one.
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

20 years agobetter code
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

20 years agoMake isSafeToLoadUnconditionally a bit smarter, implementing PR362 and
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

20 years agoNew testcase for PR362: Icky code generated for std::min/std::max
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

20 years agoFix a nasty iterator invalidation problem I introduced yesterday. This
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

20 years agoRemove a whole bunch of horrible hacky code that was used to promote allocas
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

20 years agoInstcombine now helps out with these
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

20 years agoMake instruction combining a bit more aggressive in the face of volatile
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

20 years agoAdd two new testcases that instcombine should handle
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

20 years agoMinor correction to Signals implementation.
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

20 years agoAdd comment
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

20 years agoFix the inliner to always delete any edges from the external call node to
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

20 years agoAdd CallGraphNode::removeAnyCallEdgeTo method
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