Jeff Cohen
5e1e5e13ff
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
2005-02-27 21:08:04 +00:00
Jeff Cohen
f465db6c6a
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
2005-02-27 19:37:07 +00:00
Chris Lattner
2a3cdf7e34
Bug fixed
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20357 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-27 19:31:02 +00:00
Chris Lattner
81ddb8aaf3
New testcase for PR529
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20356 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-27 19:28:30 +00:00
Chris Lattner
a97cf21383
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
2005-02-27 19:07:36 +00:00
Chris Lattner
3e27952a8b
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
2005-02-27 19:06:10 +00:00
Chris Lattner
210bef19ef
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
2005-02-27 19:05:24 +00:00
Chris Lattner
35c81b0b12
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
2005-02-27 18:58:52 +00:00
Chris Lattner
b503cc4363
new testcase globalopt should handle.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20351 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-27 18:48:19 +00:00
Chris Lattner
5926ca209e
new testcase globalopt should implement
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20350 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-27 18:47:17 +00:00
Chris Lattner
9e2888609c
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
2005-02-27 18:19:26 +00:00
Alkis Evlogimenos
eebaf33b5d
Add llc to tools.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20345 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-27 10:21:37 +00:00
Chris Lattner
da895d6337
Fix spelling, patch contributed by Gabor Greif!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20343 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-27 06:18:25 +00:00
Chris Lattner
f8db8a0432
Fix spelling, patch contributed by Gabor Greif
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20342 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-27 06:15:51 +00:00
Chris Lattner
47b72fbf29
Fix misspellings, patch contributed by Gabor Greif!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20341 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-27 06:14:21 +00:00
Chris Lattner
e56509c697
Remove some stuff I checked in accidentally
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20340 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-27 04:32:35 +00:00
Chris Lattner
7192e501eb
DCE a dead function
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20339 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-26 23:36:45 +00:00
Reid Spencer
eaa06bb979
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
2005-02-26 22:00:32 +00:00
Chris Lattner
7ffc07dcf7
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
2005-02-26 18:50:19 +00:00
Chris Lattner
fe75292503
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
2005-02-26 18:49:04 +00:00
Chris Lattner
803513b364
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
2005-02-26 18:40:02 +00:00
Chris Lattner
be54dcc8a9
remove extraneous cast
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20334 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-26 18:33:28 +00:00
Andrew Lenharth
2b6c4f554b
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
2005-02-25 22:55:15 +00:00
Chris Lattner
5a53c5d197
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
2005-02-25 20:30:21 +00:00
Chris Lattner
6e84bd7d59
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
2005-02-25 01:27:48 +00:00
Reid Spencer
38b5788544
Use DataInstall macro instead of INSTALL.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20322 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-24 21:43:43 +00:00
Reid Spencer
837300ad99
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
2005-02-24 21:41:26 +00:00
Reid Spencer
b80621fb7e
Don't try to strip bytecode files!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20320 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-24 21:36:32 +00:00
Reid Spencer
151bbe44ac
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
2005-02-24 21:30:37 +00:00
Reid Spencer
29fbdd705a
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
2005-02-24 21:28:08 +00:00
Chris Lattner
753b113cdf
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
2005-02-24 19:55:31 +00:00
Reid Spencer
c06828350b
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
2005-02-24 19:05:19 +00:00
Reid Spencer
421ec0554d
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
2005-02-24 18:53:47 +00:00
Reid Spencer
bcb178fbe6
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
2005-02-24 18:52:22 +00:00
Reid Spencer
1a87ddc03b
* 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
2005-02-24 18:50:53 +00:00
Reid Spencer
b2da6507b0
Don't put generated files into CVS.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20309 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-24 18:49:37 +00:00
Chris Lattner
d7642c4f2d
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
2005-02-24 18:48:07 +00:00
Reid Spencer
f20856db35
* 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
2005-02-24 18:42:34 +00:00
Andrew Lenharth
016947578f
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
2005-02-24 18:36:32 +00:00
Reid Spencer
1807c1a3c9
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
2005-02-24 18:31:27 +00:00
Reid Spencer
a8d9789a7a
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
2005-02-24 18:28:20 +00:00
Reid Spencer
018e77de67
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
2005-02-24 18:25:24 +00:00
Chris Lattner
aab1820816
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
2005-02-24 16:58:29 +00:00
Reid Spencer
860598a295
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
2005-02-24 07:12:43 +00:00
Chris Lattner
623369ac56
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
2005-02-24 06:17:52 +00:00
Chris Lattner
d802347a2e
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
2005-02-24 06:15:27 +00:00
Chris Lattner
d1a326006d
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
2005-02-24 05:32:09 +00:00
Chris Lattner
7e6182319d
use more specific cast.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20297 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-24 05:26:04 +00:00
Chris Lattner
69331f5726
add more checking
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20296 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-24 05:25:17 +00:00
Chris Lattner
83beacddc9
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
2005-02-24 04:59:49 +00:00