Commit Graph

17602 Commits

Author SHA1 Message Date
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
Chris Lattner
c1f90a9fce Bug fixed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20246 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-19 07:29:25 +00:00
Chris Lattner
630f340f8f Make this testcase harder, to test the read case as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20245 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-19 06:56:46 +00:00
Chris Lattner
9f95ab7e61 new testcase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20244 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-19 06:54:44 +00:00
Jeff Cohen
23a1cf3e08 Change __MINGW to __MINGW32__. Patch submitted by Henrik Bach.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20243 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-19 03:01:13 +00:00
Chris Lattner
a977c486ba Fix a bug.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20242 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-19 02:22:14 +00:00
Reid Spencer
18c5729033 Quote the value of the PATH variable so that Cygwin and Windows can have
spaces in path names and not confuse the shell.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20241 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-18 20:24:09 +00:00
Reid Spencer
13a29035cc Allow dejagnu tests to run on Windows/Cygwin. Quote the value of the PATH
variable so that spaces don't screw it up.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20240 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-18 20:17:44 +00:00
Reid Spencer
5443af2b41 Adjust the help output so that it will fit cleanly within 80 columns.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20239 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-18 20:00:05 +00:00
Misha Brukman
7e8a1d7baf * llvmc does not have a -V switch
* --config-file is really --config-dir, according to `llvmc --help'


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20238 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-18 18:00:53 +00:00
Jeff Cohen
d79bcfddbc Make PreventCoreFiles() do the right thing on Windows.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20237 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-18 07:05:18 +00:00
Misha Brukman
600df458ff Remove colloquialisms from the documentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20233 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-17 22:22:24 +00:00
Misha Brukman
1fb623e4ed Fix compilation errors with VS 2005, patch contributed by Aaron Gray.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20232 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-17 21:40:27 +00:00
Misha Brukman
d3f03e4b50 Fix compilation errors with VS 2005, patch by Aaron Gray.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20231 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-17 21:39:27 +00:00
Chris Lattner
d8658616cf Don't rely on doubles comparing identical to each other, which doesn't work
for 0.0 and -0.0.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20230 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-17 20:17:32 +00:00
Chris Lattner
b29cb29364 Map doubles from integers, not the double itself.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20229 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-17 20:16:58 +00:00
Chris Lattner
aa781b3404 Don't sink argument loads into loops or other bad places. This disables folding of argument loads with instructions that are not in the entry block.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20228 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-17 19:40:32 +00:00
Chris Lattner
1a84bd38ef Do not mark obviously unreachable blocks live when processing PHI nodes,
and handle incomplete control dependences correctly.  This fixes:

Regression/Transforms/ADCE/dead-phi-edge.ll
  -> a missed optimization

Regression/Transforms/ADCE/dead-phi-edge.ll
  -> a compiler crash distilled from QT4


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20227 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-17 19:28:49 +00:00
Chris Lattner
ae02b723bf New files, testing for a crash in ADCE compiling QT and a missed optimization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20226 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-17 19:27:44 +00:00
Chris Lattner
2352fec205 Scary typo that fixes Regression/Transforms/IndVarsSimplify/2005-02-17-TruncateExprCrash.ll
and PR515.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20224 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-17 16:54:16 +00:00
Chris Lattner
491a1b87d5 new testcase for PR515
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20223 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-17 16:53:41 +00:00
Reid Spencer
78ba11d0d2 Remove the "pax" program from the list of those needed to support LLVM.
The install target in Makefile.rules no longer uses pax but just uses find
and "install" instead.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20216 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-16 16:21:00 +00:00
Reid Spencer
2804201b63 Fix installation of configuration files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20215 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-16 16:17:11 +00:00