Commit Graph

17555 Commits

Author SHA1 Message Date
Andrew Lenharth 27cf4eb1c7 Ah the problems you have to fix when you stray from the One True Way (TM)
llvm-svn: 20290
2005-02-23 17:33:42 +00:00
Chris Lattner 25169caa80 make this more efficient. Scan up to 16 nodes, not the whole list.
llvm-svn: 20289
2005-02-23 16:53:04 +00:00
Chris Lattner d36552f34f new method
llvm-svn: 20288
2005-02-23 16:51:11 +00:00
Chris Lattner 8a504447f7 Add new method.
llvm-svn: 20287
2005-02-23 16:50:59 +00:00
Chris Lattner cf08c21f2c 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

llvm-svn: 20286
2005-02-23 07:09:08 +00:00
Chris Lattner 5e166a5f3e 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.

llvm-svn: 20285
2005-02-23 06:12:11 +00:00
Chris Lattner 80c5b97046 Silence some uninit variable warnings.
llvm-svn: 20284
2005-02-23 05:57:21 +00:00
Tanya Lattner a31ad5172e Fixed bug in findAllcircuits. Fixed branch addition to schedule. Added debug information.
llvm-svn: 20280
2005-02-23 02:01:42 +00:00
Chris Lattner 5cf3521883 remove some more dead templates and a dead macro.
llvm-svn: 20279
2005-02-22 23:36:37 +00:00
Andrew Lenharth ccdfdd7aee oops
llvm-svn: 20278
2005-02-22 23:29:25 +00:00
Chris Lattner 3166471603 Remove use of bind_obj, deleter, and finegrainify namespacification.
llvm-svn: 20277
2005-02-22 23:27:21 +00:00
Chris Lattner 52e931b37d Remove use of bind_obj
llvm-svn: 20276
2005-02-22 23:22:58 +00:00
Chris Lattner 2c07348696 Remove a bunch of dead templates.
llvm-svn: 20275
2005-02-22 23:19:42 +00:00
Chris Lattner 06b6c4bbde C++ is not a functional programming language.
llvm-svn: 20274
2005-02-22 23:13:58 +00:00
Andrew Lenharth 7ac0143fa6 dynamic stack allocas
llvm-svn: 20273
2005-02-22 21:59:48 +00:00
Chris Lattner a474313902 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 :-/

llvm-svn: 20265
2005-02-22 07:23:39 +00:00
Andrew Lenharth 5ab3986e49 no longer build as a shared library
llvm-svn: 20264
2005-02-22 04:58:26 +00:00
Chris Lattner 25170b0177 add another plausible reason
llvm-svn: 20262
2005-02-21 16:35:31 +00:00
Chris Lattner b3dd24435f new testcase for PR523
llvm-svn: 20261
2005-02-21 04:03:32 +00:00
Chris Lattner 3a8f68e4cb Bug fixed.
llvm-svn: 20260
2005-02-20 23:31:49 +00:00
Chris Lattner 8a8f9032c3 New testcase for PR522.
llvm-svn: 20259
2005-02-20 23:29:23 +00:00
Chris Lattner ec3f094489 Fix problems running the HowToUseJIT on powerpc, and probably problems with
ANY program that does not have all functions internalized.

llvm-svn: 20258
2005-02-20 18:43:35 +00:00
Jeff Cohen 18cf7ebcee Fix silly mistake.
llvm-svn: 20256
2005-02-20 02:48:51 +00:00
Jeff Cohen 4220bf5726 Implement standard I/O redirection in ExecuteAndWait().
llvm-svn: 20255
2005-02-20 02:43:04 +00:00
Chris Lattner e68dae0eb6 Add support for ".so" files compiled with LLVM which contain LLVM bytecode.
llvm-svn: 20253
2005-02-19 18:30:29 +00:00
Chris Lattner fe723a7c05 Eliminate silly warnings from the linker of the form:
WARNING: Type conflict between types named 'union.._604.'.
    Src=' %union.._604.'.
   Dest=' %union.._604.'
llvm-svn: 20252
2005-02-19 17:52:37 +00:00
Chris Lattner 3d6194f8cc typeo
llvm-svn: 20251
2005-02-19 17:17:32 +00:00
Chris Lattner fdff9e7d0d New entry.
llvm-svn: 20250
2005-02-19 17:14:24 +00:00
Chris Lattner 6a3ae64639 Bug fixed.
llvm-svn: 20249
2005-02-19 17:13:20 +00:00
Chris Lattner e98b480b2e Testcase for PR520
llvm-svn: 20248
2005-02-19 17:07:48 +00:00
Chris Lattner a94f9ffd0e 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 :)

llvm-svn: 20247
2005-02-19 07:31:54 +00:00
Chris Lattner 48c23141a2 Bug fixed.
llvm-svn: 20246
2005-02-19 07:29:25 +00:00
Chris Lattner 4fec95cd4d Make this testcase harder, to test the read case as well.
llvm-svn: 20245
2005-02-19 06:56:46 +00:00
Chris Lattner e22674c706 new testcase.
llvm-svn: 20244
2005-02-19 06:54:44 +00:00
Jeff Cohen 07e22ba2c7 Change __MINGW to __MINGW32__. Patch submitted by Henrik Bach.
llvm-svn: 20243
2005-02-19 03:01:13 +00:00
Chris Lattner 16fb0037c4 Fix a bug.
llvm-svn: 20242
2005-02-19 02:22:14 +00:00
Reid Spencer 9756aea1cb Quote the value of the PATH variable so that Cygwin and Windows can have
spaces in path names and not confuse the shell.

llvm-svn: 20241
2005-02-18 20:24:09 +00:00
Reid Spencer 75542d4e78 Allow dejagnu tests to run on Windows/Cygwin. Quote the value of the PATH
variable so that spaces don't screw it up.

llvm-svn: 20240
2005-02-18 20:17:44 +00:00
Reid Spencer 63eb0aa52a Adjust the help output so that it will fit cleanly within 80 columns.
llvm-svn: 20239
2005-02-18 20:00:05 +00:00
Misha Brukman 634b0a3b7e * llvmc does not have a -V switch
* --config-file is really --config-dir, according to `llvmc --help'

llvm-svn: 20238
2005-02-18 18:00:53 +00:00
Jeff Cohen 81549a57b8 Make PreventCoreFiles() do the right thing on Windows.
llvm-svn: 20237
2005-02-18 07:05:18 +00:00
Misha Brukman 3703685b1a Remove colloquialisms from the documentation.
llvm-svn: 20233
2005-02-17 22:22:24 +00:00
Misha Brukman 20430321c2 Fix compilation errors with VS 2005, patch contributed by Aaron Gray.
llvm-svn: 20232
2005-02-17 21:40:27 +00:00
Misha Brukman 73e929f89d Fix compilation errors with VS 2005, patch by Aaron Gray.
llvm-svn: 20231
2005-02-17 21:39:27 +00:00
Chris Lattner 381dddc90c Don't rely on doubles comparing identical to each other, which doesn't work
for 0.0 and -0.0.

llvm-svn: 20230
2005-02-17 20:17:32 +00:00
Chris Lattner 67395c2002 Map doubles from integers, not the double itself.
llvm-svn: 20229
2005-02-17 20:16:58 +00:00
Chris Lattner 0c56a548ed 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.
llvm-svn: 20228
2005-02-17 19:40:32 +00:00
Chris Lattner 7b5d9e2217 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

llvm-svn: 20227
2005-02-17 19:28:49 +00:00
Chris Lattner 854c086e0f New files, testing for a crash in ADCE compiling QT and a missed optimization.
llvm-svn: 20226
2005-02-17 19:27:44 +00:00
Chris Lattner 47555decfb Scary typo that fixes Regression/Transforms/IndVarsSimplify/2005-02-17-TruncateExprCrash.ll
and PR515.

llvm-svn: 20224
2005-02-17 16:54:16 +00:00