Chris Lattner
78f166c6ab
new directory
...
llvm-svn: 20495
2005-03-06 21:42:59 +00:00
Chris Lattner
dd3ec92085
trivial simplification
...
llvm-svn: 20494
2005-03-06 21:35:38 +00:00
Chris Lattner
238f6df546
Fix a bug where we could corrupt a parent loop's header info if we unrolled
...
a nested loop. This fixes Transforms/LoopUnroll/2005-03-06-BadLoopInfoUpdate.ll
and PR532
llvm-svn: 20493
2005-03-06 20:57:32 +00:00
Chris Lattner
1c69aab68b
New testcase for PR532
...
llvm-svn: 20492
2005-03-06 20:56:55 +00:00
Chris Lattner
6aa5f97a05
new helper method
...
llvm-svn: 20491
2005-03-06 20:55:34 +00:00
Chris Lattner
a93419c8df
new testcase reduced from the MultiSource/Applications/d failure last night.
...
llvm-svn: 20490
2005-03-06 19:40:19 +00:00
Chris Lattner
5de9dec0d1
move some method declarations around to make it clear that users should
...
not call insert(Value *Val), remove(Value* Val), or
changeName(Value *V, const std::string &Name)
llvm-svn: 20488
2005-03-06 06:03:44 +00:00
Chris Lattner
96b7bf6244
this method is never called.
...
llvm-svn: 20487
2005-03-06 06:00:24 +00:00
Chris Lattner
897cc8e1ec
cleanup some html
...
remove a statement that is no longer true
remove comment about a dead method.
llvm-svn: 20486
2005-03-06 06:00:13 +00:00
Chris Lattner
19d1c03311
the only caller of insertEntry is insert, inline it and remove insertEntry
...
llvm-svn: 20485
2005-03-06 05:56:02 +00:00
Chris Lattner
86fe3a1fdb
rename insertEntry to insert
...
llvm-svn: 20484
2005-03-06 05:55:40 +00:00
Chris Lattner
533805e6da
Merge SymbolTable::removeEntry into SymbolTable::remove, its only caller
...
llvm-svn: 20483
2005-03-06 05:51:09 +00:00
Chris Lattner
7dfb29d5cb
remove this method.
...
llvm-svn: 20482
2005-03-06 05:50:49 +00:00
Chris Lattner
290d881f84
Delete the really inefficient method: void remove(const Type* Typ);
...
Speed up the symbol stripping code by avoiding a linear search of the
type table.
Get rid of removeEntry(type_iterator), since 'remove' is exactly the same
operation.
llvm-svn: 20481
2005-03-06 05:46:41 +00:00
Chris Lattner
aa4138a5da
Delete the really inefficient method: void remove(const Type* Typ);
...
Get rid of removeEntry(type_iterator), since 'remove' is exactly the same
operation.
llvm-svn: 20480
2005-03-06 05:46:00 +00:00
Chris Lattner
1b032f59e7
Make this MUCH faster by avoiding a linear search in the symbol table code.
...
llvm-svn: 20479
2005-03-06 05:42:36 +00:00
Chris Lattner
bcd8393d50
InternallyInconsistent is dead!
...
llvm-svn: 20478
2005-03-06 05:22:05 +00:00
Chris Lattner
bad0e7e2d9
Remove some really gross and hard to understand code now that
...
InternallyInconsistent is always false.
llvm-svn: 20477
2005-03-06 05:21:40 +00:00
Chris Lattner
cd56f5a8e4
Simplify some code.
...
llvm-svn: 20476
2005-03-06 05:13:42 +00:00
Chris Lattner
6be3b418e7
remove these dead methods.
...
llvm-svn: 20475
2005-03-06 02:38:24 +00:00
Chris Lattner
eb9a12cbce
remove these methods.
...
llvm-svn: 20474
2005-03-06 02:37:47 +00:00
Chris Lattner
807db03233
These methods are removed.
...
llvm-svn: 20473
2005-03-06 02:37:21 +00:00
Chris Lattner
8a982e10be
simplify and speed up some code
...
llvm-svn: 20472
2005-03-06 02:32:00 +00:00
Chris Lattner
c9b0984666
simplify some code.
...
llvm-svn: 20471
2005-03-06 02:28:23 +00:00
Chris Lattner
8344ba0dac
nuke some dead methods.
...
llvm-svn: 20470
2005-03-06 02:25:02 +00:00
Chris Lattner
ffb3778f87
This fixes PR531, a crash when running the CBE on a bytecode file.
...
The problem is that Function::renameLocalSymbols is iterating through
the symbol table planes, occasionally calling setName to rename a value
(which used to do a symbol table remove/insert pair).
The problem is that if there is only a single value in a particular type
plane that the remove will nuke the symbol table plane, and the insert
will create and insert a new one. This hoses Function::renameLocalSymbols
because it has an iterator to the old plane, under the (very reasonable)
assumption that simply renaming a value won't cause the type plane to
disappear.
This patch fixes the bug by making the rename operation a single atomic
operation, which has a side effect of making the whole thing faster too. :)
llvm-svn: 20469
2005-03-06 02:14:28 +00:00
Chris Lattner
bb28bfdcbf
Add a new method, allow symtab to poke name.
...
llvm-svn: 20468
2005-03-06 02:10:40 +00:00
Jeff Cohen
4abcea3a69
Reformat comments to fix 80 columns.
...
llvm-svn: 20467
2005-03-05 22:45:40 +00:00
Jeff Cohen
be37fa07fd
Reuse induction variables created for strength-reduced GEPs by other similar GEPs.
...
llvm-svn: 20466
2005-03-05 22:40:34 +00:00
Chris Lattner
9d0ac507ba
remove extraneous spaces from argument lists.
...
llvm-svn: 20465
2005-03-05 19:58:40 +00:00
Chris Lattner
cdb9bfc150
remove all of the various setName implementations, consolidating them into
...
Value::setName, which is no longer virtual.
llvm-svn: 20464
2005-03-05 19:51:50 +00:00
Chris Lattner
6d0a24c608
second argument to Value::setName is now gone.
...
llvm-svn: 20463
2005-03-05 19:05:20 +00:00
Chris Lattner
7c832fb0b2
Make sure the two arguments of a setcc instruction point to the same node.
...
llvm-svn: 20462
2005-03-05 19:04:31 +00:00
Chris Lattner
aa72c889a6
zap
...
llvm-svn: 20461
2005-03-05 19:04:07 +00:00
Chris Lattner
f66165674f
2nd arg to setName goes away.
...
llvm-svn: 20460
2005-03-05 19:02:15 +00:00
Chris Lattner
cc77b84fcb
Constants never get names.
...
llvm-svn: 20459
2005-03-05 19:01:59 +00:00
Chris Lattner
ed2fb1cf93
Remove the 2nd argument to Value::setName
...
llvm-svn: 20458
2005-03-05 19:01:49 +00:00
Chris Lattner
f18c871b58
Remove the second argument to Value::setName, it is never needed.
...
llvm-svn: 20457
2005-03-05 18:59:36 +00:00
Chris Lattner
15ac102737
New testcase for PR533
...
llvm-svn: 20456
2005-03-05 18:47:28 +00:00
Chris Lattner
f246ef3e2f
don't break the build on 32-bit hosts.
...
llvm-svn: 20455
2005-03-05 17:47:38 +00:00
Chris Lattner
02f0d7bcc9
This file is all commented out.
...
llvm-svn: 20454
2005-03-05 17:28:37 +00:00
Andrew Lenharth
7c954c6d13
fix data size stuff for architectures with bit challenged data types
...
llvm-svn: 20453
2005-03-05 15:30:33 +00:00
Chris Lattner
cfe2822cdf
Do not compute 1ULL << 64, which is undefined. This fixes Ptrdist/ks on the
...
sparc, and testcase Regression/Transforms/InstCombine/2005-03-04-ShiftOverflow.ll
llvm-svn: 20445
2005-03-04 23:21:33 +00:00
Chris Lattner
6cc4ee0f24
Testcase for a bug that caused us to miscompile ptrdist/ks on sparc.
...
llvm-svn: 20444
2005-03-04 23:20:46 +00:00
Andrew Lenharth
f3cd1477c3
fix up stack pointer adjustments
...
llvm-svn: 20442
2005-03-04 21:40:02 +00:00
Chris Lattner
c01e2f76c3
Trivial cleanup patch
...
llvm-svn: 20436
2005-03-04 20:27:46 +00:00
Andrew Lenharth
8df62dda57
fix FCMOVxx typo, set rem and div to hardcode target reg to be the same as the one the assembler uese, update ISel to put values in regs used by assembler for rem and div
...
llvm-svn: 20434
2005-03-04 20:09:23 +00:00
Jeff Cohen
a2c59b7423
Add support for not strength reducing GEPs where the element size is a small
...
power of two. This emphatically includes the zeroeth power of two.
llvm-svn: 20429
2005-03-04 04:04:26 +00:00
Andrew Lenharth
f0ab14aa24
turn on IEEE for compares
...
llvm-svn: 20425
2005-03-03 22:12:11 +00:00
Andrew Lenharth
6a5f52d15a
beter Select on FP
...
llvm-svn: 20424
2005-03-03 21:47:53 +00:00
Chris Lattner
00ee68c612
Print -X like this:
...
double test(double l1_X) {
return (-l1_X);
}
instead of like this:
double test(double l1_X) {
return (-0x0p+0 - l1_X);
}
llvm-svn: 20423
2005-03-03 21:12:04 +00:00
Andrew Lenharth
00348ce902
LSR cleanup patch
...
llvm-svn: 20422
2005-03-03 19:03:21 +00:00
Chris Lattner
1a678c67c9
Do not lower malloc's to pass "sizeof" expressions like this:
...
ltmp_0_7 = malloc(((unsigned )(&(((signed char (*)[784])/*NULL*/0)[1u]))));
Instead, just emit the literal constant, like this:
ltmp_0_7 = malloc(784u);
This works around a bug in ICC 8.1 compiling the CBE generated code. :-(
llvm-svn: 20415
2005-03-03 01:04:50 +00:00
Chris Lattner
ef1e989e4f
Add an optional argument to lower to a specific constant value instead of
...
to a "sizeof" expression.
llvm-svn: 20414
2005-03-03 01:03:43 +00:00
Chris Lattner
3b5667c579
Add an argument.
...
llvm-svn: 20413
2005-03-03 01:03:10 +00:00
Misha Brukman
f090d1b3ab
Fix the spelling of the word `the'
...
llvm-svn: 20412
2005-03-02 23:17:31 +00:00
Chris Lattner
4d8689edcb
Print the module ID as a comment.
...
llvm-svn: 20411
2005-03-02 23:12:40 +00:00
Chris Lattner
5b5caaf3cd
cleanup the cfg after lsr
...
llvm-svn: 20410
2005-03-02 21:56:00 +00:00
Andrew Lenharth
180a04a4bb
remove 32 sign extend after 32 sextload and handle small negative constant
...
llvm-svn: 20408
2005-03-02 17:23:03 +00:00
Andrew Lenharth
ed4b6488a7
Added LSR as a beta pass for alpha
...
llvm-svn: 20407
2005-03-02 17:21:38 +00:00
Chris Lattner
c8bb99760a
Add a temporary option for llc-beta: -enable-lsr-for-ppc, which turns on
...
Loop Strength Reduction.
llvm-svn: 20399
2005-03-02 06:19:22 +00:00
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
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