- May 20, 2008
-
-
Evan Cheng authored
If local spiller optimization turns some instruction into an identity copy, it will be removed. If the output register happens to be dead (and source is obviously killed), transfer the kill / dead information to last use / def in the same MBB. llvm-svn: 51306
-
Evan Cheng authored
llvm-svn: 51305
-
- May 19, 2008
-
-
Dale Johannesen authored
$non_lazy_ptr's and $lazy_ptr's. llvm-svn: 51277
-
- May 16, 2008
-
-
Gabor Greif authored
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
-
Evan Cheng authored
llvm-svn: 51192
-
Duncan Sands authored
original method caused gcc-4.2 to complain. llvm-svn: 51186
-
- May 15, 2008
-
-
Nate Begeman authored
something with a v1 type. llvm-svn: 51160
-
Dan Gohman authored
moving toward making structs and arrays first-class types. llvm-svn: 51157
-
Evan Cheng authored
Make use of vector load and store operations to implement memcpy, memmove, and memset. Currently only X86 target is taking advantage of these. llvm-svn: 51140
-
- May 14, 2008
-
-
Evan Cheng authored
llvm-svn: 51131
-
Evan Cheng authored
llvm-svn: 51126
-
Evan Cheng authored
llvm-svn: 51123
-
Dale Johannesen authored
are represented as "weak", but there are subtle differences in some cases on Darwin, so we need both. The intent is that "common" will behave identically to "weak" unless somebody changes their target to do something else. No functional change as yet. llvm-svn: 51118
-
Evan Cheng authored
llvm-svn: 51115
-
Dan Gohman authored
SETOEQ, is it does with (SETEQ & SETULE), map it to SETEQ. llvm-svn: 51112
-
Dan Gohman authored
llvm-svn: 51089
-
- May 13, 2008
-
-
Evan Cheng authored
Instead of a vector load, shuffle and then extract an element. Load the element from address with an offset. pshufd $1, (%rdi), %xmm0 movd %xmm0, %eax => movl 4(%rdi), %eax llvm-svn: 51026
-
Dan Gohman authored
address of the PassInfo directly instead of calling getPassInfo. This eliminates a bunch of dynamic initializations of static data. Also, fold RegisterPassBase into PassInfo, make a bunch of its data members const, and rearrange some code to initialize data members in constructors instead of using setter member functions. llvm-svn: 51022
-
Dan Gohman authored
several things that were neither in an anonymous namespace nor static but not intended to be global. llvm-svn: 51017
-
Nate Begeman authored
Teach X86 a few more vsetcc patterns. Custom lowering for unsupported ones is next. llvm-svn: 51009
-
Evan Cheng authored
Xform bitconvert(build_pair(load a, load b)) to a single load if the load locations are at the right offset from each other. llvm-svn: 51008
-
Dale Johannesen authored
if those blocks consist entirely of common instructions; merging will not add an extra branch in this case. llvm-svn: 51006
-
Bill Wendling authored
changes that don't change functionality. llvm-svn: 51004
-
- May 12, 2008
-
-
Dale Johannesen authored
semantically identical, but little difference in either results or execution speed; but it's much easier to read, at least IMO. llvm-svn: 50999
-
Evan Cheng authored
llvm-svn: 50991
-
Bill Wendling authored
llvm-svn: 50990
-
Nate Begeman authored
This is necessary to unbreak the build. llvm-svn: 50988
-
Bill Wendling authored
possible for it to produce worse code than before. The rest of this patch is code cleanup. llvm-svn: 50987
-
Dan Gohman authored
llvm-svn: 50967
-
- May 10, 2008
-
-
Evan Cheng authored
If all sources of a PHI node are defined by an implicit_def, just emit an implicit_def instead of a copy. llvm-svn: 50927
-
Bill Wendling authored
- Comment fixes. - Moar whitespace. - Made ivars "private" by default. No functionality change. llvm-svn: 50926
-
Dale Johannesen authored
no functional change. llvm-svn: 50921
-
- May 09, 2008
-
-
Dale Johannesen authored
case where there are multiple blocks with a large number of common tail instructions more efficiently (compile time optimization). llvm-svn: 50916
-
- May 08, 2008
-
-
Duncan Sands authored
Darwin. This is a hack of course, but it does at least look at the right thing: gotpcrel means that this is already an offset, so an explicit offset is not needed (and wrong). I think this is good enough for the moment: Anton is working on something better. llvm-svn: 50850
-
Anton Korobeynikov authored
llvm-svn: 50836
-
- May 07, 2008
-
-
Duncan Sands authored
on x86-64 linux. This causes no regressions on 32 bit linux and 32 bit ppc. More tests pass on 64 bit ppc with no regressions. I didn't turn on eh on 64 bit linux because the intrinsics needed to compile the eh runtime aren't done yet. But if you turn it on and link with the mainline runtime then eh seems to work fine on x86-64 linux with this patch. Thanks to Dale for testing. The main point of the patch is that if you output that some object is encoded using 4 bytes you had better not output 8 bytes for it: the patch makes everything consistent. llvm-svn: 50825
-
Evan Cheng authored
%ecx = op store %cl<kill>, (addr) (addr) = op %al It's not safe to unfold the last operand and eliminate store even though %cl is marked kill. It's a sub-register use which means one of its super-register(s) may be used below. llvm-svn: 50794
-
Dan Gohman authored
llvm-svn: 50793
-
Anton Korobeynikov authored
llvm-svn: 50775
-
- May 06, 2008
-
-
Dan Gohman authored
llvm-svn: 50696
-