Vikram S. Adve
e92c22c656
Fix longjmp case so that, along with the call to abort(), we also
...
generate the appropriate CallArgsDescriptor and tmp. virtual regs.
llvm-svn: 8554
2003-09-16 05:56:22 +00:00
Vikram S. Adve
724b2d6f36
Add flag to control whether or not delay slots are filled during
...
instruction scheduling (this is off by default).
llvm-svn: 8553
2003-09-16 05:55:15 +00:00
Chris Lattner
584ade803f
Fix problems with programs that prototype printf to something unusual
...
llvm-svn: 8538
2003-09-15 16:47:12 +00:00
Chris Lattner
362afdca3f
Minor cleanups, give credit, remove code that should not be necessary, and
...
was a "major hack" :)
llvm-svn: 8524
2003-09-15 05:43:05 +00:00
Brian Gaeke
d7bc2c066d
Fix typos in comments.
...
llvm-svn: 8523
2003-09-15 05:28:42 +00:00
Chris Lattner
c66f223e5a
Initial checkin of the Setjmp/Longjmp lowering/transformation pass,
...
contributed by the masterful Bill Wendling!
llvm-svn: 8520
2003-09-15 04:56:27 +00:00
Chris Lattner
f3cac3df12
Ugh, a bug fix needed because of the bug in the CallGraph code
...
llvm-svn: 8519
2003-09-15 04:52:00 +00:00
Chris Lattner
98d4e5dffc
These two conditions are not exclusive!!
...
llvm-svn: 8518
2003-09-15 04:35:16 +00:00
Chris Lattner
f3c318737f
Make the print output more useful
...
llvm-svn: 8517
2003-09-15 04:29:37 +00:00
Chris Lattner
6075013b55
Fix bug: PruneEH/2003-09-14-ExternalCall.llx
...
llvm-svn: 8516
2003-09-15 02:22:50 +00:00
Chris Lattner
7a55e0b56d
Fix bug: Inline/2003-09-14-InlineValue.ll
...
llvm-svn: 8514
2003-09-15 02:10:16 +00:00
Chris Lattner
64791df910
Fix a spello Misha made while fixing one of my appostrifications
...
llvm-svn: 8510
2003-09-15 00:33:20 +00:00
Chris Lattner
3a26b0d3be
Make sure to cannonicalize loops before running indvar simplify
...
llvm-svn: 8502
2003-09-12 16:45:01 +00:00
Chris Lattner
f277240919
Do not return success after checking only the FIRST USE of a gep instruction.
...
Instead, check all uses.
This fixes bug: ScalarRepl/2003-09-12-IncorrectPromote.ll
This also fixes the miscompilation of Ptrdist/bc
llvm-svn: 8493
2003-09-12 16:02:12 +00:00
Chris Lattner
b12390cc41
Minor optimization efficiency improvement:
...
- Run mem2reg promotion first
- Only rerun passes if the previous thing changed something
llvm-svn: 8490
2003-09-12 15:36:03 +00:00
Misha Brukman
629711a7c3
Fixed spelling and grammar.
...
llvm-svn: 8489
2003-09-11 22:34:13 +00:00
Chris Lattner
9036a399f1
Simplify code
...
Implement InstCombine/mul.ll:test9
llvm-svn: 8488
2003-09-11 22:24:54 +00:00
Misha Brukman
b9a4ddbfc5
Fixed spelling and grammar.
...
llvm-svn: 8478
2003-09-11 18:14:24 +00:00
Misha Brukman
ddbf126a18
Apostrophes are only used for possession and quoting.
...
llvm-svn: 8473
2003-09-11 16:58:31 +00:00
Chris Lattner
8a901c4d27
Integrate functionality of the mem2reg pass directly into this pass to make
...
the combination more effective
llvm-svn: 8471
2003-09-11 16:45:55 +00:00
Chris Lattner
3d39abeeb7
Renamed DominatorTree::Node::getNode() -> getBlock()
...
llvm-svn: 8469
2003-09-11 16:26:13 +00:00
Misha Brukman
d8279c4406
Spell `definite' correctly.
...
llvm-svn: 8467
2003-09-11 15:32:37 +00:00
Misha Brukman
6c4ffae6a5
Spell `definitely' correctly.
...
llvm-svn: 8466
2003-09-11 15:31:17 +00:00
Misha Brukman
262290ec19
* Move include files from middle of file to the top where they belong, moving
...
the #define up there too
* Since we're including system headers, use the ones in include/llvm/Config
* While we're here, use the canonical LLVM header ordering algorithm
llvm-svn: 8463
2003-09-10 20:52:05 +00:00
Chris Lattner
b859bf2fb5
Unwind instructions are intrinsically alive, just like returns
...
llvm-svn: 8462
2003-09-10 20:38:14 +00:00
Chris Lattner
ebf6d5c622
Rework dominator interfaces to handle changes in the post-dominance
...
construction. Now there may be multiple root blocks, and null is a
special node used to mark the "virtual" exit node of a CFG.
llvm-svn: 8461
2003-09-10 20:37:51 +00:00
Chris Lattner
9d9fd138dc
Rework post dominator information so that we do not have to
...
unify all exit nodes of a function to compute post-dominance information.
This does not work with functions that have both unwind and return nodes,
because we cannot unify these blocks. The new implementation is better
anyway. :)
llvm-svn: 8460
2003-09-10 20:37:08 +00:00
Chris Lattner
0d124f6067
Update for new UnifyFunction... API
...
Remove using decl
llvm-svn: 8458
2003-09-10 20:35:33 +00:00
Chris Lattner
3e9d3081fc
Remove #include
...
llvm-svn: 8457
2003-09-10 20:35:21 +00:00
Chris Lattner
ee577bdc08
Expand the pass to unify all of the unwind blocks as well
...
llvm-svn: 8456
2003-09-10 20:34:51 +00:00
Chris Lattner
f6bd477804
Remove a bunch of warnings from the CBE generated C code
...
llvm-svn: 8455
2003-09-10 20:12:09 +00:00
Chris Lattner
49d7564882
"the one true solution for compatibility with GCC 3.3+"
...
... or so I hope
llvm-svn: 8454
2003-09-10 20:08:00 +00:00
Chris Lattner
5468c196f3
Be a little more specific about what is begin generated. Only print
...
command line if VERBOSE=1
llvm-svn: 8453
2003-09-10 19:52:54 +00:00
Chris Lattner
f9db4af8bf
Only emit inter-field-padding if the amount of padding is != 0
...
llvm-svn: 8452
2003-09-10 19:52:24 +00:00
Brian Gaeke
7eaecc239a
Make createVerifierPass return a FunctionPass *.
...
llvm-svn: 8449
2003-09-10 19:37:04 +00:00
Chris Lattner
e5b90f633d
Remove using declarations
...
llvm-svn: 8442
2003-09-10 16:08:03 +00:00
Misha Brukman
286f1a0fe8
Fix warning when _POSIX_MAPPED_FILES is already defined in unistd.h
...
llvm-svn: 8436
2003-09-10 15:09:45 +00:00
Chris Lattner
f4be611b55
another trivial cleanup
...
llvm-svn: 8435
2003-09-10 14:55:05 +00:00
Chris Lattner
37123e1b58
Simplification of trip counting machinery.
...
- make sure to check the indvar type before anything else (efficiency)
- Make sure to insert the 'add' into the program, even though it'll be
dead
- Wrap code at 80 columns
- Other minor cleanups to reduce indentation level
llvm-svn: 8434
2003-09-10 14:51:49 +00:00
John Criswell
29a0f79c05
Don't explicitly use $SourceDir to find the tblgen files. This causes make
...
some confusion when trying to generate files (it probably couldn't tell that
./file and $(SourceDir)/file may be the same file).
Now, just let VPATH find everything, and list the primary tblgen file first in
the list of dependencies so that we can just use $< to reference it in the make
rule.
This should hopefully fix the nightly tester.
llvm-svn: 8433
2003-09-10 14:10:44 +00:00
Chris Lattner
58d4183a25
Fix spell-o's
...
llvm-svn: 8431
2003-09-10 05:29:43 +00:00
Chris Lattner
df4ad7b311
Spelling fixes. I think that "cannonical" is ok, but "canonical" appears to
...
be the canonical form for the word
llvm-svn: 8430
2003-09-10 05:24:46 +00:00
Chris Lattner
620f051422
Spelling fixes
...
llvm-svn: 8429
2003-09-10 05:24:09 +00:00
Chris Lattner
501ec018c7
Fix up file header
...
llvm-svn: 8428
2003-09-10 05:10:34 +00:00
Chris Lattner
5d113e557d
clean up file header comment
...
llvm-svn: 8427
2003-09-10 05:08:19 +00:00
Chris Lattner
f0c30718e2
Simplify some code
...
llvm-svn: 8426
2003-09-10 04:49:10 +00:00
Misha Brukman
cac883668e
Spell `occurrence' correctly.
...
llvm-svn: 8425
2003-09-09 21:54:45 +00:00
John Criswell
e783801878
Updated to find source files using VPATH. This makes writing build rules
...
much cleaner and easier.
Labeled .td as a suffix for tblgen files in Makefile.rules.
Modified build rules so that source files generated during the build are placed
in the build directory and not the source directory (and not in a Debug
directory). This makes the system cleaner and allows us to have a read-only
source tree.
llvm-svn: 8424
2003-09-09 20:57:03 +00:00
John Criswell
6b94d6a603
Reverting back to the previous revision.
...
We want to check for length 5 because we might get the "llvm." string as the
name. That string is in the LLVM namespace and should be checked as such.
We also don't have to worry about garbage data because (I believe) the string
class will return a valid value. So, the switch statement will work and we
don't have to worry about the code wandering into segfault land.
llvm-svn: 8419
2003-09-09 16:58:41 +00:00
John Criswell
0641f1fad7
Modified the check for intrinsic functions. All intrinsic functions have to
...
be at least 6 characters, since something must follow the "llvm." string in the
function name.
This seems to fix an assertion failure with the SingleSource tests, too.
llvm-svn: 8418
2003-09-09 16:36:09 +00:00