Commit Graph

17524 Commits

Author SHA1 Message Date
Reid Spencer
b2da6507b0 Don't put generated files into CVS.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20309 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-24 18:49:37 +00:00
Chris Lattner
d7642c4f2d Fix a bug introduced by revision 1.187 of this file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20308 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-24 18:48:07 +00:00
Reid Spencer
f20856db35 * Fix an output message
* Make aclocal look in LLVM's autoconf/m4 directory for macros
* Don't force generation of missing files


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20307 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-24 18:42:34 +00:00
Andrew Lenharth
016947578f fix Allocas. Really. I mean it this time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20306 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-24 18:36:32 +00:00
Reid Spencer
1807c1a3c9 Add a call to AC_CONFIG_COMMANDS to ensure that llvm_src is set properly
in the config.status script. This allows the AC_CONFIG_MAKEFILE macro to
work properly after it was changed to support sub-projects.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20305 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-24 18:31:27 +00:00
Reid Spencer
a8d9789a7a This macro cannot assume that the location of install-sh and mkinstalldirs
is in ${srcdir}/autoconf because that is only true if the project is LLVM.
For other projects (e.g. sample), we don't want to have to distribute the
mkinstalldirs or install-sh programs because it opens a window of breakage
for projects. So, this change requires that the llvm_src variable be set
up via another AC_CONFIG_COMMANDS call. For LLVM this is done in the
configure.ac. For projects its done in the LLVM_CONFIG_PROJECT macro.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20304 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-24 18:28:20 +00:00
Reid Spencer
018e77de67 Add a new macro for configuring projects, LLVM_CONFIG_PROJECT. This macro
takes care of the --with-llvmsrc and --with-llvmobj options for the project
It was moved here from the project's configure.ac file because there is
some tricky handling of the llvm_src variable to tell the project where the
llvm source tree is (for mkinstalldirs and install-sh commands).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20303 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-24 18:25:24 +00:00
Chris Lattner
aab1820816 Fix some problems where the verifier would crash on invalid input instead of
reporting the problem and exiting.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20302 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-24 16:58:29 +00:00
Reid Spencer
860598a295 Fix the other half of PR528 .. don't try to strip header files!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20301 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-24 07:12:43 +00:00
Chris Lattner
623369ac56 Implement Transforms/SimplifyCFG/switch_thread.ll
This does a simple form of "jump threading", which eliminates CFG edges that
are provably dead.  This triggers 90 times in the external tests, and
eliminating CFG edges is always always a good thing! :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20300 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-24 06:17:52 +00:00
Chris Lattner
d802347a2e new testcase for a simple optimization that simplifycfg is about to do.
All CFG edges to DEAD should be eliminated.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20299 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-24 06:15:27 +00:00
Chris Lattner
d1a326006d switch instructions only allow constantints for their values, be more specific.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20298 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-24 05:32:09 +00:00
Chris Lattner
7e6182319d use more specific cast.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20297 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-24 05:26:04 +00:00
Chris Lattner
69331f5726 add more checking
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20296 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-24 05:25:17 +00:00
Chris Lattner
83beacddc9 Do not read free'd memory when printing an error message.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20295 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-24 04:59:49 +00:00
Reid Spencer
4a0aaea3de For PR528:
* Consolidate all "install" usage to the install program/script found by
  autoconf which includes the autoconf/install-sh script if necessary
* Change Makefile.rules to not use the -D flag to install but use the
  MKDIR command as necessary.
* Change Makefile.rules to differentiate between installation of executable
  files and regular data files to get the permission modes correct.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20294 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-24 03:56:32 +00:00
Chris Lattner
ad993cbb77 add a new method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20293 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-24 02:37:26 +00:00
Tanya Lattner
00aaadf9f0 Only print out machine instructions before modulo scheduling if we are actually doing modulo scheduling! :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20292 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-24 02:14:44 +00:00
Chris Lattner
90970609f2 add another testcase to make sure it gets turned into a switch (answer: yes it does)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20291 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-24 02:13:50 +00:00
Andrew Lenharth
3a7118d7da Ah the problems you have to fix when you stray from the One True Way (TM)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20290 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-23 17:33:42 +00:00
Chris Lattner
1f21ef1511 make this more efficient. Scan up to 16 nodes, not the whole list.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20289 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-23 16:53:04 +00:00
Chris Lattner
8daf056c90 new method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20288 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-23 16:51:11 +00:00
Chris Lattner
977a39570f Add new method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20287 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-23 16:50:59 +00:00
Chris Lattner
35f0aecdb0 Reduce the amount of searching this assertion does. On a testcase of mine,
this reduces the time for -simplifycfg in a debug build from 106s to 14.82s


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20286 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-23 07:09:08 +00:00
Chris Lattner
9b5b1905db Fix a bugpoint crash that JeffC noticed, looking like this:
*** Attempting to perform final cleanups: Final cleanups failed.  Sorry. :(  Ple
ase report a bug!

<llc>llc.exe: bytecode didn't read correctly.
llc.exe: bytecode didn't read correctly.
<crash>
Assertion failed: M && "You can't write a null module!!", file c:\llvm\lib\bytec
ode\writer\writer.cpp, line 1094


The fact that llc bombed (in this case) is ok, but bugpoint shouldn't crash after this.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20285 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-23 06:12:11 +00:00
Chris Lattner
572dd08204 Silence some uninit variable warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20284 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-23 05:57:21 +00:00
Tanya Lattner
01b4abd348 Fixed bug in findAllcircuits. Fixed branch addition to schedule. Added debug information.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20280 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-23 02:01:42 +00:00
Chris Lattner
6c2997f5b9 remove some more dead templates and a dead macro.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20279 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-22 23:36:37 +00:00
Andrew Lenharth
7bc47020f6 oops
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20278 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-22 23:29:25 +00:00
Chris Lattner
13d0108666 Remove use of bind_obj, deleter, and finegrainify namespacification.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20277 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-22 23:27:21 +00:00
Chris Lattner
cfa2f8eef4 Remove use of bind_obj
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20276 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-22 23:22:58 +00:00
Chris Lattner
127a8a7764 Remove a bunch of dead templates.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20275 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-22 23:19:42 +00:00
Chris Lattner
a08976b092 C++ is not a functional programming language.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20274 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-22 23:13:58 +00:00
Andrew Lenharth
032f235f02 dynamic stack allocas
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20273 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-22 21:59:48 +00:00
Chris Lattner
84734ce8ef Fix a bug in the 'store fpimm, ptr' -> 'store intimm, ptr' handling code.
Changing 'op' here caused us to not enter the store into a map, causing
reemission of the code!!  In practice, a simple loop like this:

no_exit:                ; preds = %no_exit, %entry
        %indvar = phi uint [ %indvar.next, %no_exit ], [ 0, %entry ]            ; <uint> [#uses=3]
        %tmp.4 = getelementptr "complex long double"* %P, uint %indvar, uint 0          ; <double*> [#uses=1]
        store double 0.000000e+00, double* %tmp.4
        %indvar.next = add uint %indvar, 1              ; <uint> [#uses=2]
        %exitcond = seteq uint %indvar.next, %N         ; <bool> [#uses=1]
        br bool %exitcond, label %return, label %no_exit

was being code gen'd to:

.LBBtest_1:     # no_exit
        movl %edx, %esi
        shll $4, %esi
        movl $0, 4(%eax,%esi)
        movl $0, (%eax,%esi)
        incl %edx
        movl $0, (%eax,%esi)
        movl $0, 4(%eax,%esi)
        cmpl %ecx, %edx
        jne .LBBtest_1  # no_exit

Note that we are doing 4 32-bit stores instead of 2.  Now we generate:

.LBBtest_1:     # no_exit
        movl %edx, %esi
        incl %esi
        shll $4, %edx
        movl $0, (%eax,%edx)
        movl $0, 4(%eax,%edx)
        cmpl %ecx, %esi
        movl %esi, %edx
        jne .LBBtest_1  # no_exit

This is much happier, though it would be even better if the increment of ESI
was scheduled after the compare :-/


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20265 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-22 07:23:39 +00:00
Andrew Lenharth
97f7735125 no longer build as a shared library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20264 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-22 04:58:26 +00:00
Chris Lattner
c8118e17ea add another plausible reason
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20262 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-21 16:35:31 +00:00
Chris Lattner
333f75dfe9 new testcase for PR523
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20261 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-21 04:03:32 +00:00
Chris Lattner
290d2293b9 Bug fixed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20260 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-20 23:31:49 +00:00
Chris Lattner
c19ff5c925 New testcase for PR522.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20259 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-20 23:29:23 +00:00
Chris Lattner
6943570f3a Fix problems running the HowToUseJIT on powerpc, and probably problems with
ANY program that does not have all functions internalized.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20258 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-20 18:43:35 +00:00
Jeff Cohen
45a1b26caa Fix silly mistake.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20256 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-20 02:48:51 +00:00
Jeff Cohen
875d08e36b Implement standard I/O redirection in ExecuteAndWait().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20255 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-20 02:43:04 +00:00
Chris Lattner
97716a47a1 Add support for ".so" files compiled with LLVM which contain LLVM bytecode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20253 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-19 18:30:29 +00:00
Chris Lattner
b9476d9b45 Eliminate silly warnings from the linker of the form:
WARNING: Type conflict between types named 'union.._604.'.
    Src=' %union.._604.'.
   Dest=' %union.._604.'


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20252 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-19 17:52:37 +00:00
Chris Lattner
d12b9b2f8d typeo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20251 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-19 17:17:32 +00:00
Chris Lattner
3363e2786c New entry.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20250 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-19 17:14:24 +00:00
Chris Lattner
94f6ac7258 Bug fixed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20249 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-19 17:13:20 +00:00
Chris Lattner
e8dfeed597 Testcase for PR520
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20248 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-19 17:07:48 +00:00
Chris Lattner
8e0de32cc9 Adjust this test to pass after recent CFE changes. We now generate:
%XX = global int cast (int* getelementptr ([2 x int]* getelementptr (%struct.S* null, int 0, uint 0), int 0, int 1) to int)

which is the literal translation of the testcase :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20247 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-19 07:31:54 +00:00