Commit Graph

17545 Commits

Author SHA1 Message Date
Reid Spencer a556669219 Be slightly more accurate in an error message.
llvm-svn: 20397
2005-03-02 05:45:56 +00:00
Chris Lattner fe760deb75 Fix a nasty order of evaluation bug that Gabor Greif ran into. Here's an
explanation from IRC:

	|sabre|	I think it's an order of evaluation thing
	|sabre|	for me, the RHS of the assignment is evaluated first
	|sabre|	getTypeDescription checks to see if ConcreteTypeDescription[Ty] contains anything
	|sabre|	since it doesn't, it computes and returns the value
	|sabre|	this gets put into the map.
	|sabre|	For you, the LHS is evaluated first.
	|sabre|	Map[Ty] (aka ConcreteTypeDescriptions[Ty]) inserts an empty string into the map, returning a reference
	|sabre|	getTypeDesc then sees the empty string in the map
	|sabre|	and returns it
	|sabre|	bork :)

llvm-svn: 20394
2005-03-02 03:54:43 +00:00
Chris Lattner 884ebd4c79 Now that type does not derive from Value, these do not need to be virtual.
llvm-svn: 20393
2005-03-02 03:43:55 +00:00
Misha Brukman e4fad6b70f Fix HTML-4.01 Strict compliance
llvm-svn: 20386
2005-03-01 17:19:21 +00:00
Misha Brukman a9b8676393 Use a colon instead of a period since we're introducing a command list
llvm-svn: 20385
2005-03-01 17:15:23 +00:00
Reid Spencer fefb9ea94d Correct a typo in Makefile.rules.
Patch idea contributed by Vladimir Merzliakov.

llvm-svn: 20384
2005-03-01 16:27:06 +00:00
Jeff Cohen 8ea6f9e821 Fixed the following LSR bugs:
* Loop invariant code does not dominate the loop header, but rather
    the end of the loop preheader.

  * The base for a reduced GEP isn't a constant unless all of its
    operands (preceding the induction variable) are constant.

  * Allow induction variable elimination for the simple case after all.

Also made changes recommended by Chris for properly deleting
instructions.

llvm-svn: 20383
2005-03-01 03:46:11 +00:00
Alkis Evlogimenos b3846f4b06 Lower llvm.isunordered(a, b) into a != a | b != b.
llvm-svn: 20382
2005-03-01 02:07:58 +00:00
Chris Lattner ff851073f6 cleanup my miswording
llvm-svn: 20381
2005-02-28 19:47:14 +00:00
Chris Lattner 12328e9378 Remove tabs from file.
llvm-svn: 20380
2005-02-28 19:36:15 +00:00
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