Chris Lattner [Thu, 3 Mar 2005 01:03:10 +0000 (01:03 +0000)]
Add an argument.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20413
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 2 Mar 2005 23:17:31 +0000 (23:17 +0000)]
Fix the spelling of the word `the'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20412
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 2 Mar 2005 23:12:40 +0000 (23:12 +0000)]
Print the module ID as a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20411
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 2 Mar 2005 21:56:00 +0000 (21:56 +0000)]
cleanup the cfg after lsr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20410
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Wed, 2 Mar 2005 17:23:03 +0000 (17:23 +0000)]
remove 32 sign extend after 32 sextload and handle small negative constant
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20408
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Wed, 2 Mar 2005 17:21:38 +0000 (17:21 +0000)]
Added LSR as a beta pass for alpha
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20407
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 2 Mar 2005 06:19:22 +0000 (06:19 +0000)]
Add a temporary option for llc-beta: -enable-lsr-for-ppc, which turns on
Loop Strength Reduction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20399
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 2 Mar 2005 05:45:56 +0000 (05:45 +0000)]
Be slightly more accurate in an error message.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20397
91177308-0d34-0410-b5e6-
96231b3b80d8
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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