Dan Gohman
b67e96f3aa
Add an operator< for SmallVector.
...
llvm-svn: 51791
2008-05-30 22:37:47 +00:00
Owen Anderson
d5fc134ec6
Forgot to commit this file.
...
llvm-svn: 51786
2008-05-30 20:14:04 +00:00
Evan Cheng
8ebaae9d1c
Patches for building llvm on Solaris x86. Contributed by Nathan Keynes.
...
llvm-svn: 51775
2008-05-30 17:16:20 +00:00
Dan Gohman
edc136d18f
Fix an error in the comment for APInt::getMinSignedBits.
...
llvm-svn: 51720
2008-05-30 00:46:49 +00:00
Dan Gohman
e587db7187
Fix doxygen comment syntax.
...
llvm-svn: 51716
2008-05-30 00:01:36 +00:00
Gabor Greif
42da2a4b26
add doxygen comments
...
llvm-svn: 51712
2008-05-29 22:58:33 +00:00
Anton Korobeynikov
80d70cd681
Remove guard, so *each* inclusion will result in a warning
...
llvm-svn: 51708
2008-05-29 21:57:11 +00:00
Bill Wendling
2ba98ca60f
Remove more iostream header includes. Needed to implement a "FlushStream"
...
function to flush a specified std::ostream.
llvm-svn: 51705
2008-05-29 21:46:33 +00:00
Dan Gohman
3ea2dceca0
Prune and tidy #includes.
...
llvm-svn: 51697
2008-05-29 19:52:31 +00:00
Anton Korobeynikov
f46e96a222
Add file with warning for backward comptibility. Should be removed after 2.4
...
llvm-svn: 51693
2008-05-29 18:18:15 +00:00
Anton Korobeynikov
c128302249
Update guards
...
llvm-svn: 51692
2008-05-29 18:17:53 +00:00
Anton Korobeynikov
f77142326f
For PR1338: rename include/llvm/ADT/ilist and friends to end with ".h"
...
llvm-svn: 51687
2008-05-29 17:41:17 +00:00
Owen Anderson
0e26c5897a
Force postdom to be linked into opt and bugpoint, even though it is no longer used by any passes.
...
llvm-svn: 51686
2008-05-29 17:00:13 +00:00
Bill Wendling
b56bc61cf4
Add a flag to indicate that an instruction is as cheap (or cheaper) than a move
...
instruction to execute. This can be used for transformations (like two-address
conversion) to remat an instruction instead of generating a "move"
instruction. The idea is to decrease the live ranges and register pressure and
all that jazz.
llvm-svn: 51660
2008-05-28 22:54:52 +00:00
Owen Anderson
705b97141c
Factor the numbering computation into a separate method, and add the slightest attempt at some renumbering logic, which is currently unused.
...
llvm-svn: 51652
2008-05-28 20:54:50 +00:00
Gabor Greif
e2dcdc92ac
Make Use::init() private, it breaks invariants, clients should assign or use set().
...
llvm-svn: 51615
2008-05-27 21:29:38 +00:00
Dan Gohman
29f4f83a1c
Fix a word-o and add an explicit keyword.
...
llvm-svn: 51610
2008-05-27 20:41:18 +00:00
Matthijs Kooijman
2a23a4e495
Use an explicit llvm:: prefix in the STATISTIC macro, so STATISTIC can still be
...
used when "using namespace llvm" is not in effect.
llvm-svn: 51592
2008-05-27 12:41:24 +00:00
Gabor Greif
e052a42a62
eliminate calls to deprecated Use::init() interface
...
llvm-svn: 51570
2008-05-26 21:33:52 +00:00
Duncan Sands
fa995d7cc5
Factor code to copy global value attributes like
...
the section or the visibility from one global
value to another: copyAttributesFrom. This is
particularly useful for duplicating functions:
previously this was done by explicitly copying
each attribute in turn at each place where a
new function was created out of an old one, with
the result that obscure attributes were regularly
forgotten (like the collector or the section).
Hopefully now everything is uniform and nothing
is forgotten.
llvm-svn: 51567
2008-05-26 19:58:59 +00:00
Nick Lewycky
744dad8004
"ret (constexpr)" can't be folded into a Constant. Add a method to
...
Analysis/ConstantFolding to fold ConstantExpr's, then make instcombine use it
to try to use targetdata to fold constant expressions on void instructions.
Also extend the icmp(inttoptr, inttoptr) folding to handle the case where
int size != ptr size.
llvm-svn: 51559
2008-05-25 20:56:15 +00:00
Evan Cheng
e5e0b4660d
Eliminate x86.sse2.punpckh.qdq and x86.sse2.punpckl.qdq.
...
llvm-svn: 51533
2008-05-24 02:56:30 +00:00
Evan Cheng
564238c841
Eliminate x86.sse2.movs.d, x86.sse2.shuf.pd, x86.sse2.unpckh.pd, and x86.sse2.unpckl.pd intrinsics. These will be lowered into shuffles.
...
llvm-svn: 51531
2008-05-24 02:14:05 +00:00
Evan Cheng
47bd4b07a8
Remove x86.sse2.loadh.pd and x86.sse2.loadl.pd. These will be lowered into load and shuffle instructions.
...
llvm-svn: 51521
2008-05-24 00:07:06 +00:00
Dan Gohman
11e695396f
It turns out there are only 3 non-first-class type kinds left now, so
...
it's simpler for isFirstClassType to use a negative test.
llvm-svn: 51511
2008-05-23 22:47:52 +00:00
Dan Gohman
8b6f4366ae
Tidy up BasicBlock::getFirstNonPHI, and change a bunch of places to
...
use it instead of duplicating its functionality.
llvm-svn: 51499
2008-05-23 21:05:58 +00:00
Dan Gohman
c877140168
Add #includes to make some dependencies explicit.
...
llvm-svn: 51496
2008-05-23 20:40:06 +00:00
Dan Gohman
c7007dd0dc
Make structs and arrays first-class types, and add assembly
...
and bitcode support for the extractvalue and insertvalue
instructions and constant expressions.
Note that this does not yet include CodeGen support.
llvm-svn: 51468
2008-05-23 01:55:30 +00:00
Dan Gohman
9674662036
Add more IR support for the new extractvalue and insertvalue
...
instructions.
llvm-svn: 51461
2008-05-23 00:36:11 +00:00
Gabor Greif
7ccadaaaf9
Suppress warnings about missing placement delete. This should now be std-conformant even if compiled with exceptions on.
...
llvm-svn: 51429
2008-05-22 13:16:42 +00:00
Dan Gohman
2804408839
Add a Type::isSingleValueType method. This will be used by code
...
that currently uses Type::isFirstClassType and depends on it
returning false for struct or array types.
This commit doesn't change the behavior of Type::isFirstClassType.
llvm-svn: 51396
2008-05-21 23:35:53 +00:00
Bill Wendling
7ec2aad450
Follow-up to the reverting of r51218. This puts the checks out-of-line. Because
...
they aren't in the header file, systems with a <string> header file that isn't
64-bit clean shouldn't warn if #including Path.h and specifying
-Wshorten-64-to-32.
llvm-svn: 51393
2008-05-21 21:20:07 +00:00
Gabor Greif
06c4e61e6b
update a comment
...
llvm-svn: 51390
2008-05-21 18:57:33 +00:00
Nate Begeman
26bb02a23a
Fix a couple issues with the JIT and multiple modules:
...
1. The "JITState" object creates a PassManager with the ModuleProvider that the
jit is created with. If the ModuleProvider is removed and deleted, the
PassManager is invalid.
2. The Global maps in the JIT were not invalidated with a ModuleProvider was
removed. This could lead to a case where the Module would be freed, and a
new Module with Globals at the same addresses could return invalid results.
llvm-svn: 51384
2008-05-21 16:34:48 +00:00
Bill Wendling
f4cc5ad69a
Reverting r51218 because of breakage on PPC32.
...
llvm-svn: 51358
2008-05-20 23:54:27 +00:00
Chris Lattner
5c3ce73720
Add a bool to isEdgeFeasible that tells it whether to treat unknown
...
value as undef or untracked.
llvm-svn: 51295
2008-05-20 03:39:39 +00:00
Steve Naroff
a1c616ae1d
Silence a warning about "*/" outside a comment.
...
llvm-svn: 51287
2008-05-20 00:46:15 +00:00
Dale Johannesen
e6977495aa
Handle quoted names when constructing $stub's,
...
$non_lazy_ptr's and $lazy_ptr's.
llvm-svn: 51277
2008-05-19 21:38:18 +00:00
Chris Lattner
f6ed78c9c7
add a helper method.
...
llvm-svn: 51274
2008-05-19 21:17:01 +00:00
Bill Wendling
1866fa680f
Remove warnings about unused parameters and shadowed variables.
...
llvm-svn: 51266
2008-05-19 20:15:12 +00:00
Gordon Henriksen
a1f7004038
Remove a duplicative binding. Patch by Mahadevan R.
...
llvm-svn: 51238
2008-05-19 05:47:10 +00:00
Chris Lattner
0c5b5c08e1
add missing #include.
...
llvm-svn: 51227
2008-05-18 14:24:58 +00:00
Bill Wendling
568cd9c076
On Darwin, the string header file isn't 64-bit clean. The use of
...
"-Wshorten-64-to-32 -Werror" will cause a failure when compiling this complex
program:
#include <string>
class Path {
mutable std::string path;
public:
bool operator == (const Path &that) {
return path == that.path;
}
};
Using strcmp gets us past this annoying error.
llvm-svn: 51218
2008-05-17 09:10:40 +00:00
Nick Lewycky
6f3744c685
Move isTrueWhenEqual to ICmpInst.
...
llvm-svn: 51215
2008-05-17 07:33:39 +00:00
Dale Johannesen
002f76dcec
Add CommonLinkage.
...
llvm-svn: 51208
2008-05-16 22:42:11 +00:00
Eric Christopher
11359e9b1c
Add functions to enable adding a single attribute to a function and
...
its associated call site.
llvm-svn: 51204
2008-05-16 20:39:43 +00:00
Gabor Greif
d61f20217a
API change for {BinaryOperator|CmpInst|CastInst}::create*() --> Create. Legacy interfaces will be in place for some time. (Merge from use-diet branch.)
...
llvm-svn: 51200
2008-05-16 19:29:10 +00:00
Dan Gohman
1760a08221
Update comments based on Duncan's feedback.
...
llvm-svn: 51170
2008-05-15 23:35:32 +00:00
Evan Cheng
73dadf21ce
Fix typos and comments.
...
llvm-svn: 51165
2008-05-15 22:13:02 +00:00
Dan Gohman
821bf58428
IR support for extractvalue and insertvalue instructions. Also, begin
...
moving toward making structs and arrays first-class types.
llvm-svn: 51157
2008-05-15 19:50:34 +00:00