Commit Graph

17635 Commits

Author SHA1 Message Date
Chris Lattner 5d43cbc6ac Add a test for llvm.prefetch.
llvm-svn: 20379
2005-02-28 19:31:42 +00:00
Chris Lattner 811107350a Add support to the C backend for llvm.prefetch. Patch contributed by
Justin Wick!

llvm-svn: 20378
2005-02-28 19:29:46 +00:00
Chris Lattner 1772c1a672 recognize llvm.prefetch. Patch contributed by Justin Wick!
llvm-svn: 20377
2005-02-28 19:28:00 +00:00
Chris Lattner 39637ef023 Verify llvm.prefetch.
llvm-svn: 20376
2005-02-28 19:27:42 +00:00
Chris Lattner c87e03aeea Lower prefetch to a noop, patch contributed by Justin Wick!
llvm-svn: 20375
2005-02-28 19:27:23 +00:00
Chris Lattner 816cc5e10d Add a prefetch intrinsic, patch contributed by Justin Wick!
llvm-svn: 20374
2005-02-28 19:25:57 +00:00
Chris Lattner c8a2c22f36 Document llvm.prefetch, patch contributed by Justin Wick!
llvm-svn: 20373
2005-02-28 19:24:19 +00:00
Andrew Lenharth 76eff48195 fix integer division and stuff
llvm-svn: 20372
2005-02-28 17:22:18 +00:00
Chris Lattner 81c1dd2a06 Adam Treat implemented this :)
llvm-svn: 20371
2005-02-28 16:52:28 +00:00
Reid Spencer 9947c42037 Changes to enable creation of native executables directly from gccld and to
ensure that -L paths don't contain both bytecode and native libraries.
This patch contributed by Adam Treat.

llvm-svn: 20370
2005-02-28 08:45:35 +00:00
Reid Spencer 35cb2f49c4 A few small steps toward HTML 4.01 Strict compliance.
llvm-svn: 20369
2005-02-28 01:10:48 +00:00
Reid Spencer da132f2fdf Add a little more detail about the configuration process for projects.
llvm-svn: 20368
2005-02-28 00:40:29 +00:00
Jeff Cohen dcaa48b5c4 Fix crash in LSR due to attempt to remove original induction variable. However,
for reasons explained in the comments, I also deactivated this code as it needs
more thought.

llvm-svn: 20367
2005-02-28 00:08:56 +00:00
Jeff Cohen fd63d3af0d PHI nodes were incorrectly placed when more than one GEP is reduced in a loop.
llvm-svn: 20360
2005-02-27 21:08:04 +00:00
Jeff Cohen 39751c3b7c First pass at improved Loop Strength Reduction. Still not yet ready for prime time.
llvm-svn: 20358
2005-02-27 19:37:07 +00:00
Chris Lattner c6e3380fd7 Bug fixed
llvm-svn: 20357
2005-02-27 19:31:02 +00:00
Chris Lattner cf1359ddf5 New testcase for PR529
llvm-svn: 20356
2005-02-27 19:28:30 +00:00
Chris Lattner 2fe7b71936 Fix this to create a recursive mutex. Patch by Evan Jones!
llvm-svn: 20355
2005-02-27 19:07:36 +00:00
Chris Lattner 7f32c4aa36 Use const iterators where possible. Patch by Evan Jones!
llvm-svn: 20354
2005-02-27 19:06:10 +00:00
Chris Lattner eeffe8eea3 Rename include guard, patch contributed by Evan Jones!
llvm-svn: 20353
2005-02-27 19:05:24 +00:00
Chris Lattner 7561ca1d15 Teach globalopt how memset/cpy/move affect memory, to allow better optimization.
llvm-svn: 20352
2005-02-27 18:58:52 +00:00
Chris Lattner a1079acb0a new testcase globalopt should handle.
llvm-svn: 20351
2005-02-27 18:48:19 +00:00
Chris Lattner 19d4ab642f new testcase globalopt should implement
llvm-svn: 20350
2005-02-27 18:47:17 +00:00
Chris Lattner 5042453bb8 Test that a global is marked constant when it can be.
llvm-svn: 20349
2005-02-27 18:19:26 +00:00
Alkis Evlogimenos 24340589c0 Add llc to tools.
llvm-svn: 20345
2005-02-27 10:21:37 +00:00
Chris Lattner 0ce80cd542 Fix spelling, patch contributed by Gabor Greif!
llvm-svn: 20343
2005-02-27 06:18:25 +00:00
Chris Lattner dc166eb8f7 Fix spelling, patch contributed by Gabor Greif
llvm-svn: 20342
2005-02-27 06:15:51 +00:00
Chris Lattner 600420647f Fix misspellings, patch contributed by Gabor Greif!
llvm-svn: 20341
2005-02-27 06:14:21 +00:00
Chris Lattner 5315aa0ec6 Remove some stuff I checked in accidentally
llvm-svn: 20340
2005-02-27 04:32:35 +00:00
Chris Lattner 0b0f3520cb DCE a dead function
llvm-svn: 20339
2005-02-26 23:36:45 +00:00
Reid Spencer 709e10ed92 Implement an isBytecodeArchive method to determine if an archive contains
bytecode file members or not.
Patch Contributed By Adam Treat

llvm-svn: 20338
2005-02-26 22:00:32 +00:00
Chris Lattner f05d2b3178 1 + 100 + 51 == 152, not 52.
If we fold three constants together (c1+c2+c3), make sure to keep
LHSC updated, instead of reusing (in this case), the 1 instead of the
partial sum.

llvm-svn: 20337
2005-02-26 18:50:19 +00:00
Chris Lattner 67bf757d0a A testcase that we miscompile, noticed from the demo page.
llvm-svn: 20336
2005-02-26 18:49:04 +00:00
Chris Lattner 435829f89b Fix a case where we incorrectly returned hasComputableLoopEvolution for
a ternary commutative expr.  Remove FIXME that does not need to be fixed
(can't happen).

llvm-svn: 20335
2005-02-26 18:40:02 +00:00
Chris Lattner cc6d75fddf remove extraneous cast
llvm-svn: 20334
2005-02-26 18:33:28 +00:00
Andrew Lenharth 10bc4c0ff6 make BB labels be exported for debuging, add fp negation optimization, further pecimise the FP instructions
llvm-svn: 20332
2005-02-25 22:55:15 +00:00
Chris Lattner 37d554759b add an entry, add links to entries for demo page.
llvm-svn: 20328
2005-02-25 20:30:21 +00:00
Chris Lattner e99ee2b35d Handle null a bit more carefully.
Actually teach dsa about select instructions.  This doesn't affect the
graph in any way other than not setting a spurious U marker on pointer
nodes that are selected.

llvm-svn: 20324
2005-02-25 01:27:48 +00:00
Reid Spencer e447fce542 Use DataInstall macro instead of INSTALL.
llvm-svn: 20322
2005-02-24 21:43:43 +00:00
Reid Spencer 895e00b418 Remove a -C I forgot to remove earlier.
llvm-svn: 20321
2005-02-24 21:41:26 +00:00
Reid Spencer dcc5375d49 Don't try to strip bytecode files!
llvm-svn: 20320
2005-02-24 21:36:32 +00:00
Reid Spencer d77a4c0660 The install program doesn't know how to strip bytecode files so install
bytecode as data, not program.

llvm-svn: 20319
2005-02-24 21:30:37 +00:00
Reid Spencer e6684c8c82 For PR528:
Use the DataInstall and MKDIR macros instead of using $(INSTALL) directly

llvm-svn: 20318
2005-02-24 21:28:08 +00:00
Chris Lattner 468fd33abb This instruction:
X = gep null, ...

Used to not create a scalar map entry for X, which caused clients to barf.
This is bad.

llvm-svn: 20316
2005-02-24 19:55:31 +00:00
Reid Spencer eeedeaff99 Adjust to changes needed to more easily support projects via the new
LLVM_CONFIG_PROJECT macro.

llvm-svn: 20313
2005-02-24 19:05:19 +00:00
Reid Spencer 206bed0b97 Update to reflect various changes in the autoconf directory. THe
recommended configuration of projects is now much simplified and depends
on LLVM file presence rather than local project file presence.

llvm-svn: 20312
2005-02-24 18:53:47 +00:00
Reid Spencer 51d736301a Remove auxilliary files that are now picked up from llvm/autoconf. This
avoids version conflict problems with ltmain.sh (libtool), mkinstalldirs
and install-sh. This prevents projects from becoming stale when the LLVM
build system is upgraded or modified.

llvm-svn: 20311
2005-02-24 18:52:22 +00:00
Reid Spencer 0354a9ce35 * Move all the "standard" configuration stuff to the start of the file
* Make the auxilliary directory be llvm/autoconf not the project's
* Use the LLVM_CONFIG_PROJECT macro to get the --with-llvm{src,obj} args

llvm-svn: 20310
2005-02-24 18:50:53 +00:00
Reid Spencer 797f910736 Don't put generated files into CVS.
llvm-svn: 20309
2005-02-24 18:49:37 +00:00
Chris Lattner d13cc49e19 Fix a bug introduced by revision 1.187 of this file.
llvm-svn: 20308
2005-02-24 18:48:07 +00:00
Reid Spencer 07068a53ab * Fix an output message
* Make aclocal look in LLVM's autoconf/m4 directory for macros
* Don't force generation of missing files

llvm-svn: 20307
2005-02-24 18:42:34 +00:00
Andrew Lenharth 904650cdd0 fix Allocas. Really. I mean it this time.
llvm-svn: 20306
2005-02-24 18:36:32 +00:00
Reid Spencer f3102c287d 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.

llvm-svn: 20305
2005-02-24 18:31:27 +00:00
Reid Spencer 28f7cd3216 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.

llvm-svn: 20304
2005-02-24 18:28:20 +00:00
Reid Spencer 76d99df157 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).

llvm-svn: 20303
2005-02-24 18:25:24 +00:00
Chris Lattner 08f7d0c262 Fix some problems where the verifier would crash on invalid input instead of
reporting the problem and exiting.

llvm-svn: 20302
2005-02-24 16:58:29 +00:00
Reid Spencer 247a10e729 Fix the other half of PR528 .. don't try to strip header files!
llvm-svn: 20301
2005-02-24 07:12:43 +00:00
Chris Lattner 1cca959e5d 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! :)

llvm-svn: 20300
2005-02-24 06:17:52 +00:00
Chris Lattner c0968c72ff new testcase for a simple optimization that simplifycfg is about to do.
All CFG edges to DEAD should be eliminated.

llvm-svn: 20299
2005-02-24 06:15:27 +00:00
Chris Lattner 47ac187c08 switch instructions only allow constantints for their values, be more specific.
llvm-svn: 20298
2005-02-24 05:32:09 +00:00
Chris Lattner 75f5b42624 use more specific cast.
llvm-svn: 20297
2005-02-24 05:26:04 +00:00
Chris Lattner fc824c1a7e add more checking
llvm-svn: 20296
2005-02-24 05:25:17 +00:00
Chris Lattner 5f0df0c1e6 Do not read free'd memory when printing an error message.
llvm-svn: 20295
2005-02-24 04:59:49 +00:00
Reid Spencer c43b1d403e 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.

llvm-svn: 20294
2005-02-24 03:56:32 +00:00
Chris Lattner ce046ac9c6 add a new method.
llvm-svn: 20293
2005-02-24 02:37:26 +00:00
Tanya Lattner ee47100d44 Only print out machine instructions before modulo scheduling if we are actually doing modulo scheduling! :)
llvm-svn: 20292
2005-02-24 02:14:44 +00:00
Chris Lattner 272f3527a3 add another testcase to make sure it gets turned into a switch (answer: yes it does)
llvm-svn: 20291
2005-02-24 02:13:50 +00:00
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
Chris Lattner 02fd7d1d56 new testcase for PR515
llvm-svn: 20223
2005-02-17 16:53:41 +00:00
Reid Spencer 53e86c13f6 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.

llvm-svn: 20216
2005-02-16 16:21:00 +00:00
Reid Spencer e386b72d21 Fix installation of configuration files.
llvm-svn: 20215
2005-02-16 16:17:11 +00:00
Reid Spencer fe0a01ee25 * Don't flatten the directory hierarchy when installing headers
* Make it possible to have the Install program run in verbose mode when
  the TOOL_VERBOSE=1 option is set
* Ensure non-executable installed files do not install with execute perms.

llvm-svn: 20214
2005-02-16 16:13:02 +00:00
Reid Spencer 48a82f49bd Don't use pax for installing header files. Use the install program instead.
llvm-svn: 20213
2005-02-16 15:54:03 +00:00
Jeff Cohen cce4b92601 Somehow tablegen.exe got moved... fix up tablegen invocations to match.
llvm-svn: 20212
2005-02-16 05:06:52 +00:00
Jeff Cohen 81d26d168d Get bugpoint compiling with VC++ again, not that it works anyway.
llvm-svn: 20211
2005-02-16 05:05:31 +00:00
Jeff Cohen 97a41e238e Arg list already has program name in it.
llvm-svn: 20208
2005-02-16 04:43:45 +00:00
Tanya Lattner c28fd0db2e Fixed node deletion bug.
llvm-svn: 20207
2005-02-16 04:00:59 +00:00
Chris Lattner 3e7a193bd7 Instead of doing a manual comparison loop, just use memcmp, thanks to JohnC
for the suggestion! :)

llvm-svn: 20203
2005-02-15 22:12:10 +00:00
Chris Lattner 9d0db6f602 Make this more efficient now that we know both files are the same length.
llvm-svn: 20202
2005-02-15 22:01:43 +00:00
Misha Brukman f232a4582d Fix spelling
llvm-svn: 20201
2005-02-15 21:59:53 +00:00
Reid Spencer f4425b0208 Adjust DiffFilesWithTolerance to help poor cygwin's mmap facility by
handling zero length files a little more intelligently. If both files are
zero length then we return 0 (true) indicating a match. If only one of the
files is zero length then we return 1 (false) indicating that the files
differ. If the files don't agree in length then they can't match so we
skip the first loop that looks for a quick match.

llvm-svn: 20200
2005-02-15 21:47:02 +00:00
Andrew Lenharth 5f7c53599e add Alpha to llc
llvm-svn: 20198
2005-02-15 21:14:09 +00:00
Chris Lattner 915fd0de4b Fix a problem where the PPC backend lost track of the fact that it had
to save and restore the LR register on entry and exit of a leaf function
that needed to access globals or the constant pool.  This should hopefully
fix oscar from sending the PPC tester spinning out of control.

llvm-svn: 20197
2005-02-15 20:26:49 +00:00
Chris Lattner 3e708301d2 Add a sanity check.
llvm-svn: 20195
2005-02-15 18:48:48 +00:00
Chris Lattner 219002ed8f Add a new method to make it easy to update graphs.
llvm-svn: 20194
2005-02-15 18:40:55 +00:00
Chris Lattner 385a47394a Bug fixed
llvm-svn: 20193
2005-02-15 07:02:12 +00:00
Chris Lattner 3bef66fcf3 Fix volatile load/store of pointers. Consider this testcase:
void %test(int** %P) {
  %A = volatile load int** %P
  ret void
}

void %test2(int*** %Q) {
  %P = load int*** %Q
  volatile store int** %P, int*** %Q
  ret void
}

instead of emitting:

void test(int **l1_P) {
  int *l2_A;

  l2_A = (int **((volatile int **)l1_P));
  return;
}
void test2(int ***l2_Q) {
  int **l1_P;

  l1_P = *l2_Q;
  *((volatile int ***)l2_Q) = l1_P;
  return;
}

... which is loading/storing volatile pointers, not through volatile pointers,
emit this (which is right):

void test(int **l1_P) {
  int *l3_A;

  l3_A = *((int * volatile*)l1_P);
  return;
}
void test2(int ***l2_Q) {
  int **l1_P;

  l1_P = *l2_Q;
  *((int ** volatile*)l2_Q) = l1_P;
  return;
}

llvm-svn: 20191
2005-02-15 05:52:14 +00:00
Chris Lattner 1f031b20fe Bug fixed.
llvm-svn: 20190
2005-02-15 05:28:06 +00:00
Chris Lattner 1a9cbe67ed New testcase for PR510.
llvm-svn: 20189
2005-02-15 05:18:05 +00:00
Chris Lattner be895eda63 wow, interesting typo :)
llvm-svn: 20187
2005-02-14 22:58:38 +00:00
Chris Lattner 7027143f0a execution tests shouldn't go here. This was killing the PPC nightly tester.
llvm-svn: 20186
2005-02-14 21:54:32 +00:00
Reid Spencer e9fa5444c5 For PR496:
When llvm-gcc is not available, bypass rules for Modules and Bytecode
Libraries that require llvm-gcc and emit instead a warning that llvm-gcc
is not available. This permits "make LLVMGCC=" to build LLVM completely
without error and provides warnings about the modules and bc libs that
could not be constructed.

llvm-svn: 20185
2005-02-14 21:54:08 +00:00
Chris Lattner 6e528dce90 Fix a bug in my previous change to this, which broke the build on sparcs.
llvm-svn: 20184
2005-02-14 21:42:10 +00:00
Chris Lattner 145569b076 Print GEP offsets as signed values instead of unsigned values. On X86, this
prints:

getelementptr (int* %A, int -1)

as: "(A) - 4" instead of "(A) + 18446744073709551612", which makes the
assembler much happier.

This fixes test/Regression/CodeGen/X86/2005-02-14-IllegalAssembler.ll,
and Benchmarks/Prolangs-C/cdecl with LLC on X86.

llvm-svn: 20183
2005-02-14 21:40:26 +00:00
Chris Lattner 3d2881066b A testcase that LLC produces illegal asm on for Prolangs-C/cdecl now.
llvm-svn: 20182
2005-02-14 21:31:41 +00:00
Chris Lattner 31f3382b3b Fix the second bug attached to PR504.
llvm-svn: 20181
2005-02-14 20:11:45 +00:00
Chris Lattner a3a55bf997 Work around GCC PR19958, which causes programs to sometimes crash after
printing help output or version info.

llvm-svn: 20180
2005-02-14 19:17:29 +00:00
Misha Brukman 2b1e10031f Write out single characters as chars, not strings.
llvm-svn: 20179
2005-02-14 18:52:35 +00:00
Chris Lattner 1c75b25546 Bugs fixed
llvm-svn: 20178
2005-02-14 16:57:55 +00:00
Chris Lattner 7afbdcad15 Implement CodeGen/CBackend/2005-02-14-VolatileOperations.ll
Volatile loads and stores need to emit volatile pointer operations in C.

llvm-svn: 20177
2005-02-14 16:47:52 +00:00
Chris Lattner 4c13ab61b3 new testcase
llvm-svn: 20176
2005-02-14 16:45:38 +00:00