oota-llvm.git
19 years agoFix a nasty order of evaluation bug that Gabor Greif ran into. Here's an
Chris Lattner [Wed, 2 Mar 2005 03:54:43 +0000 (03:54 +0000)]
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 :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20394 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoNow that type does not derive from Value, these do not need to be virtual.
Chris Lattner [Wed, 2 Mar 2005 03:43:55 +0000 (03:43 +0000)]
Now that type does not derive from Value, these do not need to be virtual.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20393 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoFix HTML-4.01 Strict compliance
Misha Brukman [Tue, 1 Mar 2005 17:19:21 +0000 (17:19 +0000)]
Fix HTML-4.01 Strict compliance

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20386 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoUse a colon instead of a period since we're introducing a command list
Misha Brukman [Tue, 1 Mar 2005 17:15:23 +0000 (17:15 +0000)]
Use a colon instead of a period since we're introducing a command list

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20385 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoCorrect a typo in Makefile.rules.
Reid Spencer [Tue, 1 Mar 2005 16:27:06 +0000 (16:27 +0000)]
Correct a typo in Makefile.rules.
Patch idea contributed by Vladimir Merzliakov.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20384 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoFixed the following LSR bugs:
Jeff Cohen [Tue, 1 Mar 2005 03:46:11 +0000 (03:46 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20383 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoLower llvm.isunordered(a, b) into a != a | b != b.
Alkis Evlogimenos [Tue, 1 Mar 2005 02:07:58 +0000 (02:07 +0000)]
Lower llvm.isunordered(a, b) into a != a | b != b.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20382 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agocleanup my miswording
Chris Lattner [Mon, 28 Feb 2005 19:47:14 +0000 (19:47 +0000)]
cleanup my miswording

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20381 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoRemove tabs from file.
Chris Lattner [Mon, 28 Feb 2005 19:36:15 +0000 (19:36 +0000)]
Remove tabs from file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20380 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAdd a test for llvm.prefetch.
Chris Lattner [Mon, 28 Feb 2005 19:31:42 +0000 (19:31 +0000)]
Add a test for llvm.prefetch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20379 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAdd support to the C backend for llvm.prefetch. Patch contributed by
Chris Lattner [Mon, 28 Feb 2005 19:29:46 +0000 (19:29 +0000)]
Add support to the C backend for llvm.prefetch.  Patch contributed by
Justin Wick!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20378 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agorecognize llvm.prefetch. Patch contributed by Justin Wick!
Chris Lattner [Mon, 28 Feb 2005 19:28:00 +0000 (19:28 +0000)]
recognize llvm.prefetch.  Patch contributed by Justin Wick!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20377 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoVerify llvm.prefetch.
Chris Lattner [Mon, 28 Feb 2005 19:27:42 +0000 (19:27 +0000)]
Verify llvm.prefetch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20376 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoLower prefetch to a noop, patch contributed by Justin Wick!
Chris Lattner [Mon, 28 Feb 2005 19:27:23 +0000 (19:27 +0000)]
Lower prefetch to a noop, patch contributed by Justin Wick!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20375 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAdd a prefetch intrinsic, patch contributed by Justin Wick!
Chris Lattner [Mon, 28 Feb 2005 19:25:57 +0000 (19:25 +0000)]
Add a prefetch intrinsic, patch contributed by Justin Wick!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20374 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoDocument llvm.prefetch, patch contributed by Justin Wick!
Chris Lattner [Mon, 28 Feb 2005 19:24:19 +0000 (19:24 +0000)]
Document llvm.prefetch, patch contributed by Justin Wick!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20373 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agofix integer division and stuff
Andrew Lenharth [Mon, 28 Feb 2005 17:22:18 +0000 (17:22 +0000)]
fix integer division and stuff

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20372 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAdam Treat implemented this :)
Chris Lattner [Mon, 28 Feb 2005 16:52:28 +0000 (16:52 +0000)]
Adam Treat implemented this :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20371 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoChanges to enable creation of native executables directly from gccld and to
Reid Spencer [Mon, 28 Feb 2005 08:45:35 +0000 (08:45 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20370 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoA few small steps toward HTML 4.01 Strict compliance.
Reid Spencer [Mon, 28 Feb 2005 01:10:48 +0000 (01:10 +0000)]
A few small steps toward HTML 4.01 Strict compliance.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20369 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAdd a little more detail about the configuration process for projects.
Reid Spencer [Mon, 28 Feb 2005 00:40:29 +0000 (00:40 +0000)]
Add a little more detail about the configuration process for projects.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20368 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoFix crash in LSR due to attempt to remove original induction variable. However,
Jeff Cohen [Mon, 28 Feb 2005 00:08:56 +0000 (00:08 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20367 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoPHI nodes were incorrectly placed when more than one GEP is reduced in a loop.
Jeff Cohen [Sun, 27 Feb 2005 21:08:04 +0000 (21:08 +0000)]
PHI nodes were incorrectly placed when more than one GEP is reduced in a loop.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20360 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoFirst pass at improved Loop Strength Reduction. Still not yet ready for prime time.
Jeff Cohen [Sun, 27 Feb 2005 19:37:07 +0000 (19:37 +0000)]
First pass at improved Loop Strength Reduction.  Still not yet ready for prime time.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20358 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoBug fixed
Chris Lattner [Sun, 27 Feb 2005 19:31:02 +0000 (19:31 +0000)]
Bug fixed

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20357 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoNew testcase for PR529
Chris Lattner [Sun, 27 Feb 2005 19:28:30 +0000 (19:28 +0000)]
New testcase for PR529

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20356 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoFix this to create a recursive mutex. Patch by Evan Jones!
Chris Lattner [Sun, 27 Feb 2005 19:07:36 +0000 (19:07 +0000)]
Fix this to create a recursive mutex.  Patch by Evan Jones!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20355 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoUse const iterators where possible. Patch by Evan Jones!
Chris Lattner [Sun, 27 Feb 2005 19:06:10 +0000 (19:06 +0000)]
Use const iterators where possible.  Patch by Evan Jones!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20354 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoRename include guard, patch contributed by Evan Jones!
Chris Lattner [Sun, 27 Feb 2005 19:05:24 +0000 (19:05 +0000)]
Rename include guard, patch contributed by Evan Jones!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20353 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoTeach globalopt how memset/cpy/move affect memory, to allow better optimization.
Chris Lattner [Sun, 27 Feb 2005 18:58:52 +0000 (18:58 +0000)]
Teach globalopt how memset/cpy/move affect memory, to allow better optimization.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20352 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agonew testcase globalopt should handle.
Chris Lattner [Sun, 27 Feb 2005 18:48:19 +0000 (18:48 +0000)]
new testcase globalopt should handle.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20351 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agonew testcase globalopt should implement
Chris Lattner [Sun, 27 Feb 2005 18:47:17 +0000 (18:47 +0000)]
new testcase globalopt should implement

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20350 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoTest that a global is marked constant when it can be.
Chris Lattner [Sun, 27 Feb 2005 18:19:26 +0000 (18:19 +0000)]
Test that a global is marked constant when it can be.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20349 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAdd llc to tools.
Alkis Evlogimenos [Sun, 27 Feb 2005 10:21:37 +0000 (10:21 +0000)]
Add llc to tools.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20345 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoFix spelling, patch contributed by Gabor Greif!
Chris Lattner [Sun, 27 Feb 2005 06:18:25 +0000 (06:18 +0000)]
Fix spelling, patch contributed by Gabor Greif!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20343 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoFix spelling, patch contributed by Gabor Greif
Chris Lattner [Sun, 27 Feb 2005 06:15:51 +0000 (06:15 +0000)]
Fix spelling, patch contributed by Gabor Greif

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20342 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoFix misspellings, patch contributed by Gabor Greif!
Chris Lattner [Sun, 27 Feb 2005 06:14:21 +0000 (06:14 +0000)]
Fix misspellings, patch contributed by Gabor Greif!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20341 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoRemove some stuff I checked in accidentally
Chris Lattner [Sun, 27 Feb 2005 04:32:35 +0000 (04:32 +0000)]
Remove some stuff I checked in accidentally

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20340 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoDCE a dead function
Chris Lattner [Sat, 26 Feb 2005 23:36:45 +0000 (23:36 +0000)]
DCE a dead function

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20339 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoImplement an isBytecodeArchive method to determine if an archive contains
Reid Spencer [Sat, 26 Feb 2005 22:00:32 +0000 (22:00 +0000)]
Implement an isBytecodeArchive method to determine if an archive contains
bytecode file members or not.
Patch Contributed By Adam Treat

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20338 91177308-0d34-0410-b5e6-96231b3b80d8

19 years ago1 + 100 + 51 == 152, not 52.
Chris Lattner [Sat, 26 Feb 2005 18:50:19 +0000 (18:50 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20337 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoA testcase that we miscompile, noticed from the demo page.
Chris Lattner [Sat, 26 Feb 2005 18:49:04 +0000 (18:49 +0000)]
A testcase that we miscompile, noticed from the demo page.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20336 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoFix a case where we incorrectly returned hasComputableLoopEvolution for
Chris Lattner [Sat, 26 Feb 2005 18:40:02 +0000 (18:40 +0000)]
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).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20335 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoremove extraneous cast
Chris Lattner [Sat, 26 Feb 2005 18:33:28 +0000 (18:33 +0000)]
remove extraneous cast

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20334 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agomake BB labels be exported for debuging, add fp negation optimization, further pecimi...
Andrew Lenharth [Fri, 25 Feb 2005 22:55:15 +0000 (22:55 +0000)]
make BB labels be exported for debuging, add fp negation optimization, further pecimise the FP instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20332 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoadd an entry, add links to entries for demo page.
Chris Lattner [Fri, 25 Feb 2005 20:30:21 +0000 (20:30 +0000)]
add an entry, add links to entries for demo page.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20328 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoHandle null a bit more carefully.
Chris Lattner [Fri, 25 Feb 2005 01:27:48 +0000 (01:27 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20324 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoUse DataInstall macro instead of INSTALL.
Reid Spencer [Thu, 24 Feb 2005 21:43:43 +0000 (21:43 +0000)]
Use DataInstall macro instead of INSTALL.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20322 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoRemove a -C I forgot to remove earlier.
Reid Spencer [Thu, 24 Feb 2005 21:41:26 +0000 (21:41 +0000)]
Remove a -C I forgot to remove earlier.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20321 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoDon't try to strip bytecode files!
Reid Spencer [Thu, 24 Feb 2005 21:36:32 +0000 (21:36 +0000)]
Don't try to strip bytecode files!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20320 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoThe install program doesn't know how to strip bytecode files so install
Reid Spencer [Thu, 24 Feb 2005 21:30:37 +0000 (21:30 +0000)]
The install program doesn't know how to strip bytecode files so install
bytecode as data, not program.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20319 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoFor PR528:
Reid Spencer [Thu, 24 Feb 2005 21:28:08 +0000 (21:28 +0000)]
For PR528:
Use the DataInstall and MKDIR macros instead of using $(INSTALL) directly

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20318 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoThis instruction:
Chris Lattner [Thu, 24 Feb 2005 19:55:31 +0000 (19:55 +0000)]
This instruction:
  X = gep null, ...

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20316 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAdjust to changes needed to more easily support projects via the new
Reid Spencer [Thu, 24 Feb 2005 19:05:19 +0000 (19:05 +0000)]
Adjust to changes needed to more easily support projects via the new
LLVM_CONFIG_PROJECT macro.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20313 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoUpdate to reflect various changes in the autoconf directory. THe
Reid Spencer [Thu, 24 Feb 2005 18:53:47 +0000 (18:53 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20312 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoRemove auxilliary files that are now picked up from llvm/autoconf. This
Reid Spencer [Thu, 24 Feb 2005 18:52:22 +0000 (18:52 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20311 91177308-0d34-0410-b5e6-96231b3b80d8

19 years ago* Move all the "standard" configuration stuff to the start of the file
Reid Spencer [Thu, 24 Feb 2005 18:50:53 +0000 (18:50 +0000)]
* 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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20310 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoDon't put generated files into CVS.
Reid Spencer [Thu, 24 Feb 2005 18:49:37 +0000 (18:49 +0000)]
Don't put generated files into CVS.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20309 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoFix a bug introduced by revision 1.187 of this file.
Chris Lattner [Thu, 24 Feb 2005 18:48:07 +0000 (18:48 +0000)]
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

19 years ago* Fix an output message
Reid Spencer [Thu, 24 Feb 2005 18:42:34 +0000 (18:42 +0000)]
* 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

19 years agofix Allocas. Really. I mean it this time.
Andrew Lenharth [Thu, 24 Feb 2005 18:36:32 +0000 (18:36 +0000)]
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

19 years agoAdd a call to AC_CONFIG_COMMANDS to ensure that llvm_src is set properly
Reid Spencer [Thu, 24 Feb 2005 18:31:27 +0000 (18:31 +0000)]
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

19 years agoThis macro cannot assume that the location of install-sh and mkinstalldirs
Reid Spencer [Thu, 24 Feb 2005 18:28:20 +0000 (18:28 +0000)]
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

19 years agoAdd a new macro for configuring projects, LLVM_CONFIG_PROJECT. This macro
Reid Spencer [Thu, 24 Feb 2005 18:25:24 +0000 (18:25 +0000)]
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

19 years agoFix some problems where the verifier would crash on invalid input instead of
Chris Lattner [Thu, 24 Feb 2005 16:58:29 +0000 (16:58 +0000)]
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

19 years agoFix the other half of PR528 .. don't try to strip header files!
Reid Spencer [Thu, 24 Feb 2005 07:12:43 +0000 (07:12 +0000)]
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

19 years agoImplement Transforms/SimplifyCFG/switch_thread.ll
Chris Lattner [Thu, 24 Feb 2005 06:17:52 +0000 (06:17 +0000)]
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

19 years agonew testcase for a simple optimization that simplifycfg is about to do.
Chris Lattner [Thu, 24 Feb 2005 06:15:27 +0000 (06:15 +0000)]
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

19 years agoswitch instructions only allow constantints for their values, be more specific.
Chris Lattner [Thu, 24 Feb 2005 05:32:09 +0000 (05:32 +0000)]
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

19 years agouse more specific cast.
Chris Lattner [Thu, 24 Feb 2005 05:26:04 +0000 (05:26 +0000)]
use more specific cast.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20297 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoadd more checking
Chris Lattner [Thu, 24 Feb 2005 05:25:17 +0000 (05:25 +0000)]
add more checking

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20296 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoDo not read free'd memory when printing an error message.
Chris Lattner [Thu, 24 Feb 2005 04:59:49 +0000 (04:59 +0000)]
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

19 years agoFor PR528:
Reid Spencer [Thu, 24 Feb 2005 03:56:32 +0000 (03:56 +0000)]
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

19 years agoadd a new method.
Chris Lattner [Thu, 24 Feb 2005 02:37:26 +0000 (02:37 +0000)]
add a new method.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20293 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoOnly print out machine instructions before modulo scheduling if we are actually doing...
Tanya Lattner [Thu, 24 Feb 2005 02:14:44 +0000 (02:14 +0000)]
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

19 years agoadd another testcase to make sure it gets turned into a switch (answer: yes it does)
Chris Lattner [Thu, 24 Feb 2005 02:13:50 +0000 (02:13 +0000)]
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

19 years agoAh the problems you have to fix when you stray from the One True Way (TM)
Andrew Lenharth [Wed, 23 Feb 2005 17:33:42 +0000 (17:33 +0000)]
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

19 years agomake this more efficient. Scan up to 16 nodes, not the whole list.
Chris Lattner [Wed, 23 Feb 2005 16:53:04 +0000 (16:53 +0000)]
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

19 years agonew method
Chris Lattner [Wed, 23 Feb 2005 16:51:11 +0000 (16:51 +0000)]
new method

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20288 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAdd new method.
Chris Lattner [Wed, 23 Feb 2005 16:50:59 +0000 (16:50 +0000)]
Add new method.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20287 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoReduce the amount of searching this assertion does. On a testcase of mine,
Chris Lattner [Wed, 23 Feb 2005 07:09:08 +0000 (07:09 +0000)]
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

19 years agoFix a bugpoint crash that JeffC noticed, looking like this:
Chris Lattner [Wed, 23 Feb 2005 06:12:11 +0000 (06:12 +0000)]
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

19 years agoSilence some uninit variable warnings.
Chris Lattner [Wed, 23 Feb 2005 05:57:21 +0000 (05:57 +0000)]
Silence some uninit variable warnings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20284 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoFixed bug in findAllcircuits. Fixed branch addition to schedule. Added debug information.
Tanya Lattner [Wed, 23 Feb 2005 02:01:42 +0000 (02:01 +0000)]
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

19 years agoremove some more dead templates and a dead macro.
Chris Lattner [Tue, 22 Feb 2005 23:36:37 +0000 (23:36 +0000)]
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

19 years agooops
Andrew Lenharth [Tue, 22 Feb 2005 23:29:25 +0000 (23:29 +0000)]
oops

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20278 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoRemove use of bind_obj, deleter, and finegrainify namespacification.
Chris Lattner [Tue, 22 Feb 2005 23:27:21 +0000 (23:27 +0000)]
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

19 years agoRemove use of bind_obj
Chris Lattner [Tue, 22 Feb 2005 23:22:58 +0000 (23:22 +0000)]
Remove use of bind_obj

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20276 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoRemove a bunch of dead templates.
Chris Lattner [Tue, 22 Feb 2005 23:19:42 +0000 (23:19 +0000)]
Remove a bunch of dead templates.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20275 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoC++ is not a functional programming language.
Chris Lattner [Tue, 22 Feb 2005 23:13:58 +0000 (23:13 +0000)]
C++ is not a functional programming language.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20274 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agodynamic stack allocas
Andrew Lenharth [Tue, 22 Feb 2005 21:59:48 +0000 (21:59 +0000)]
dynamic stack allocas

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20273 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoFix a bug in the 'store fpimm, ptr' -> 'store intimm, ptr' handling code.
Chris Lattner [Tue, 22 Feb 2005 07:23:39 +0000 (07:23 +0000)]
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

19 years agono longer build as a shared library
Andrew Lenharth [Tue, 22 Feb 2005 04:58:26 +0000 (04:58 +0000)]
no longer build as a shared library

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20264 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoadd another plausible reason
Chris Lattner [Mon, 21 Feb 2005 16:35:31 +0000 (16:35 +0000)]
add another plausible reason

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20262 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agonew testcase for PR523
Chris Lattner [Mon, 21 Feb 2005 04:03:32 +0000 (04:03 +0000)]
new testcase for PR523

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20261 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoBug fixed.
Chris Lattner [Sun, 20 Feb 2005 23:31:49 +0000 (23:31 +0000)]
Bug fixed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20260 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoNew testcase for PR522.
Chris Lattner [Sun, 20 Feb 2005 23:29:23 +0000 (23:29 +0000)]
New testcase for PR522.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20259 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoFix problems running the HowToUseJIT on powerpc, and probably problems with
Chris Lattner [Sun, 20 Feb 2005 18:43:35 +0000 (18:43 +0000)]
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

19 years agoFix silly mistake.
Jeff Cohen [Sun, 20 Feb 2005 02:48:51 +0000 (02:48 +0000)]
Fix silly mistake.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20256 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoImplement standard I/O redirection in ExecuteAndWait().
Jeff Cohen [Sun, 20 Feb 2005 02:43:04 +0000 (02:43 +0000)]
Implement standard I/O redirection in ExecuteAndWait().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20255 91177308-0d34-0410-b5e6-96231b3b80d8