- May 13, 2008
-
-
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
-
Dan Gohman authored
llvm-svn: 50695
-
Dan Gohman authored
ComputeMaskedBits handles, just use a 'default:'. This avoids TargetLowering's list getting out of date with SelectionDAG's. llvm-svn: 50693
-
Dan Gohman authored
ComputeMaskedBits. llvm-svn: 50692
-
Dan Gohman authored
llvm-svn: 50687
-
- May 05, 2008
-
-
Mon P Wang authored
llvm-svn: 50663
-
Dan Gohman authored
ELF headers. The ELF writer still isn't generally usable though. llvm-svn: 50652
-
Dan Gohman authored
the code being generated does not require an executable stack. Also, add target-specific code to make use of this on Linux on x86. llvm-svn: 50634
-
- May 02, 2008
-
-
Dan Gohman authored
llvm-svn: 50591
-
Dan Gohman authored
llvm-svn: 50562
-
Dan Gohman authored
llvm-svn: 50561
-
Dan Gohman authored
llvm-svn: 50558
-
- May 01, 2008
-
-
Chris Lattner authored
ffastmath mode. This fixes rdar://5902801, a miscompilation of gcc.dg/builtins-8.c. Bill, please pull this into Tak. llvm-svn: 50523
-
- Apr 30, 2008
-
-
Arnold Schwaighofer authored
Move platform independent code (lowering of possibly overwritten arguments, check for tail call optimization eligibility) from target X86ISelectionLowering.cpp to TargetLowering.h and SelectionDAGISel.cpp. Initial PowerPC tail call implementation: Support ppc32 implemented and tested (passes my tests and test-suite llvm-test). Support ppc64 implemented and half tested (passes my tests). On ppc tail call optimization is performed if caller and callee are fastcc call is a tail call (in tail call position, call followed by ret) no variable argument lists or byval arguments option -tailcallopt is enabled Supported: * non pic tail calls on linux/darwin * module-local tail calls on linux(PIC/GOT)/darwin(PIC) * inter-module tail calls on darwin(PIC) If constraints are not met a normal call will be emitted. A test checking the argument lowering behaviour on x86-64 was added. llvm-svn: 50477
-
Dale Johannesen authored
llvm-svn: 50463
-
Scott Michel authored
DAG.UpdateNodeOperands() is called before (not after) the call to TLI.LowerOperation(). llvm-svn: 50461
-
Dale Johannesen authored
targets. llvm-svn: 50451
-
- Apr 29, 2008
-
-
Roman Levenstein authored
This removes the existing bottleneck related to the removal of elements from the middle of the queue. Also fixes a subtle bug in ScheduleDAGRRList::CapturePred: It was updating the state of the SUnit before removing it. As a result, the comparison operators were working incorrectly and this SUnit could not be removed from the queue properly. Reviewed by Evan and Dan. Approved by Dan. llvm-svn: 50412
-
Chris Lattner authored
We now compile test2/test3 to: _test2: ## InlineAsm Start set %xmm0, %xmm1 ## InlineAsm End addps %xmm1, %xmm0 ret _test3: ## InlineAsm Start set %xmm0, %xmm1 ## InlineAsm End paddd %xmm1, %xmm0 ret as expected. llvm-svn: 50389
-