Dan Gohman
f187690987
Make ConstantAggregateZero::get return a ConstantAggregateZero*,
...
as suggested in PR3182.
llvm-svn: 60691
2008-12-08 07:10:54 +00:00
Dan Gohman
84876ffe23
Update CPP backend for PrintModulePass API changes.
...
llvm-svn: 60690
2008-12-08 07:07:24 +00:00
Evan Cheng
d668dd83c0
Perform cheap checks first.
...
llvm-svn: 60689
2008-12-08 06:52:43 +00:00
Chris Lattner
d6036b3791
Speed up getABITypeSize by turning a i64 mul and div into an
...
AND. This is speedup on any reasonable target, but particularly
on 32-bit targets where this often turns into a libcall like udivdi3.
We know that alignments are a power of two but the compiler doesn't.
llvm-svn: 60688
2008-12-08 06:50:51 +00:00
Chris Lattner
494eb47570
Some minor optimizations for isObjectSmallerThan.
...
llvm-svn: 60687
2008-12-08 06:28:54 +00:00
Dan Gohman
bd0aaeaf8c
Clarify a comment.
...
llvm-svn: 60685
2008-12-08 04:54:58 +00:00
Dan Gohman
e4b1a93573
Move createVirtualRegister out-of-line.
...
llvm-svn: 60684
2008-12-08 04:54:11 +00:00
Dan Gohman
7954facae5
Clarify some comments.
...
llvm-svn: 60683
2008-12-08 04:53:23 +00:00
Dan Gohman
df0e24acce
Generalize bugpoint's concept of a "safe" backend, and add options
...
to allow the "safe" backend to be run with a different path, and/or
with different command-line options.
This enables the following use cases:
- bugpoint llc against an llc command from a different build
- bugpoint llc against the same llc with different command-line options
- and more...
Also, document the existing "custom" interpreter options.
llvm-svn: 60681
2008-12-08 04:02:47 +00:00
Nick Lewycky
69eb224a5e
Fixes for Visual Studio users. Patch by OvermindDL1 on llvm-dev!
...
llvm-svn: 60679
2008-12-08 00:45:02 +00:00
Dan Gohman
8b7aa3053d
Use bool instead of int, now that it no longer evokes a warning.
...
llvm-svn: 60678
2008-12-07 21:33:27 +00:00
Dan Gohman
42bd5cffc9
Use intptr_t instead of unsigned here, which is more appropriate
...
in a really obscure way, but more importantly has the side effect
of avoiding a GCC warning in the case that IntType is bool.
llvm-svn: 60677
2008-12-07 21:28:00 +00:00
Chris Lattner
1ff38d6629
add an assert. the cast<> below would catch this but a message is more
...
useful.
llvm-svn: 60674
2008-12-07 18:45:15 +00:00
Chris Lattner
8cd875dac6
factor some code better.
...
llvm-svn: 60673
2008-12-07 18:42:51 +00:00
Chris Lattner
9ebcc276e4
factor some code, fixing some fixme's.
...
llvm-svn: 60672
2008-12-07 18:39:13 +00:00
Chris Lattner
279bab1c8a
fix a typo duncan noticed!
...
llvm-svn: 60671
2008-12-07 18:21:37 +00:00
Oscar Fuentes
3eaab7ff7a
CMake: Added Tool.cpp to tools/llvmc/driver.
...
llvm-svn: 60670
2008-12-07 17:01:16 +00:00
Mikhail Glushenkov
63bd106f2c
Man page update.
...
llvm-svn: 60669
2008-12-07 16:48:07 +00:00
Mikhail Glushenkov
c1fc4efe85
Describe recent changes in the documentation.
...
llvm-svn: 60668
2008-12-07 16:47:42 +00:00
Mikhail Glushenkov
c75a4df77c
Make 'extern' an option property.
...
Makes (forward) work better.
llvm-svn: 60667
2008-12-07 16:47:12 +00:00
Mikhail Glushenkov
bc0bc455b7
Plugin updates: support more options.
...
llvm-svn: 60666
2008-12-07 16:46:23 +00:00
Mikhail Glushenkov
72a5dd4ae6
Join tools couldn't be used in the middle of the toolchain.
...
llvm-svn: 60665
2008-12-07 16:45:37 +00:00
Mikhail Glushenkov
e0c9f63882
Better error message.
...
llvm-svn: 60664
2008-12-07 16:45:12 +00:00
Mikhail Glushenkov
85098f0f90
Re-apply Cedric's changes.
...
Use B instead of Beg (for consistency), but NodeA and NodeB instead of A
and B.
llvm-svn: 60663
2008-12-07 16:44:47 +00:00
Mikhail Glushenkov
a60c58c6dc
Add some clarifying comments.
...
llvm-svn: 60662
2008-12-07 16:44:15 +00:00
Mikhail Glushenkov
7a56e66e32
Enable the Clang plugin by default.
...
This will eventually replace `ccc`. The command `llvmc -clang` now uses
the Clang toolchain instead of `llvm-gcc`.
llvm-svn: 60661
2008-12-07 16:43:42 +00:00
Mikhail Glushenkov
53f66e6d9a
Update plugins to use (actions).
...
llvm-svn: 60660
2008-12-07 16:43:17 +00:00
Mikhail Glushenkov
4522fd9b8a
Try to guess when the auto-generated cl::Sink option should be marked 'extern'.
...
This would be much easier to do if the CommandLine library didn't use
global state. Global state is evil.
llvm-svn: 60659
2008-12-07 16:42:47 +00:00
Mikhail Glushenkov
1348ac2185
Add a (progn)-like construct for (actions). Implemented as a DAG list.
...
llvm-svn: 60658
2008-12-07 16:42:22 +00:00
Mikhail Glushenkov
d676237550
Add tests for tblgen's LLVMC backend.
...
llvm-svn: 60657
2008-12-07 16:41:50 +00:00
Mikhail Glushenkov
f01331152a
Use (actions) instead of option properties, support external options.
...
Also includes a major refactoring. See documentation for more
information.
llvm-svn: 60656
2008-12-07 16:41:11 +00:00
Chris Lattner
16ea827dfd
add support for caching pointer dependence queries. Nothing uses this yet
...
so it "can't" break anything. That said, it does appear to work.
llvm-svn: 60654
2008-12-07 08:50:20 +00:00
Chris Lattner
a79a341f1e
fix a bug I introduced in simplifycfg handling single entry phi
...
nodes. FoldSingleEntryPHINodes deletes the PHI, so there is no
need to delete it afterward.
llvm-svn: 60653
2008-12-07 07:22:45 +00:00
Owen Anderson
a5f2ce1ee3
Switch to top-down mode and fix a crasher this exposed caused by an error in the
...
live interval updating.
llvm-svn: 60652
2008-12-07 05:33:18 +00:00
Nick Lewycky
e277f75880
Fix typo, psuedo -> pseudo.
...
llvm-svn: 60651
2008-12-07 03:49:52 +00:00
Chris Lattner
35095d7722
Some internal refactoring to make it easier to cache results.
...
llvm-svn: 60650
2008-12-07 02:56:57 +00:00
Chris Lattner
ad82419b46
Introduce a new MemDep::getNonLocalPointerDependency
...
method. This will eventually take over load/store dep
queries from getNonLocalDependency. For now it works
fine, but is incredibly slow because it does no caching.
Lets not switch GVN to use it until that is fixed :)
llvm-svn: 60649
2008-12-07 02:15:47 +00:00
Chris Lattner
8e8a6b4ec3
push the "pointer case" up the analysis stack a bit. This causes
...
duplication of logic (in 2 places) to determine what pointer a
load/store touches. This will be addressed in a future commit.
llvm-svn: 60648
2008-12-07 01:50:16 +00:00
Chris Lattner
d14e6778c6
make clients have to know how to call getCallSiteDependencyFrom
...
instead of making getDependencyFrom do it.
llvm-svn: 60647
2008-12-07 01:21:14 +00:00
Chris Lattner
ddfcaff37c
rename some variables for consistency
...
llvm-svn: 60644
2008-12-07 00:39:19 +00:00
Chris Lattner
e4c5f66b3b
I love how using out of scope variables is not an error with GCC, no really I do.
...
llvm-svn: 60643
2008-12-07 00:38:27 +00:00
Chris Lattner
20b7d9667d
Rename getCallSiteDependency -> getCallSiteDependencyFrom to
...
emphasize the scanning and make it more similar to
getDependencyFrom
llvm-svn: 60642
2008-12-07 00:35:51 +00:00
Chris Lattner
dc8cf1fa91
a memdep query on a volatile load/store will always return
...
clobber with the current implementation. Instead of returning
a "precise clobber" just return a fuzzy one. This doesn't
matter to any clients anyway and should speed up analysis time
very very slightly.
llvm-svn: 60641
2008-12-07 00:28:02 +00:00
Chris Lattner
135a48d48b
don't bother touching volatile stores, they will just return clobber on
...
everything interesting anyway.
llvm-svn: 60640
2008-12-07 00:25:15 +00:00
Chris Lattner
a04521164c
remove the ability to get memdep info for vaarg. I don't think the
...
original impl was correct and noone actually makes the query anyway.
llvm-svn: 60639
2008-12-07 00:21:18 +00:00
Chris Lattner
3b71e8da68
make getDependencyFrom private.
...
llvm-svn: 60637
2008-12-07 00:16:50 +00:00
Chris Lattner
bd507e3e4d
improve a note.
...
llvm-svn: 60636
2008-12-07 00:15:10 +00:00
Chris Lattner
1fa53e3e56
some more PRE/GVN/DSE related notes.
...
llvm-svn: 60633
2008-12-06 22:52:12 +00:00
Chris Lattner
00104cf8f8
add a note
...
llvm-svn: 60632
2008-12-06 22:49:05 +00:00
Chris Lattner
a87ff83a83
some random notes.
...
llvm-svn: 60624
2008-12-06 19:28:22 +00:00