- Oct 15, 2008
-
-
Chris Lattner authored
llvm-svn: 57547
-
Chris Lattner authored
llvm-svn: 57546
-
Chris Lattner authored
llvm-svn: 57545
-
Chris Lattner authored
llvm-svn: 57544
-
Dan Gohman authored
- Move the EH landing-pad code and adjust it so that it works with FastISel as well as with SDISel. - Add FastISel support for @llvm.eh.exception and @llvm.eh.selector. llvm-svn: 57539
-
- Oct 08, 2008
-
-
Dan Gohman authored
SDISel typically adds them in. This makes it a little easier to compare FastISel output with SDISel output. llvm-svn: 57266
-
- Oct 07, 2008
-
-
Dan Gohman authored
X86::CL that was used, emit an EXTRACT_SUBREG from the CL super-register to CL. This more precisely describes how the CL register is being used. llvm-svn: 57264
-
- Oct 03, 2008
-
-
Dan Gohman authored
getting inserted into the ValueMap. This avoids infinite recursion in some rare cases. llvm-svn: 56989
-
Dan Gohman authored
sequences like this: sete %al testb %al, %al jne LBB11_1 with this: je LBB11_1 llvm-svn: 56969
-
- Oct 02, 2008
-
-
Dan Gohman authored
local register allocator's physreg liveness doesn't recognize subregs, so it doesn't know that defs of %ecx that are immediately followed by uses of %cl aren't dead. This comes up due to the way fast-isel emits shift instructions. This is a temporary workaround. Arguably, local regalloc should handle subreg references correctly. On the other hand, perhaps fast-isel should use INSERT_SUBREG instead of just assigning to the most convenient super-register of %cl when lowering shifts. This fixes MultiSource/Benchmarks/MallocBench/espresso, MultiSource/Applications/hexxagon, and others, under -fast. llvm-svn: 56947
-
- Oct 01, 2008
-
-
Dan Gohman authored
This allows the 64-bit forms to use+def RSP instead of ESP. This doesn't fix any real bugs today, but it is more precise and it makes the debug dumps on x86-64 look more consistent. Also, add some comments describing the CALL instructions' physreg operand uses and defs. llvm-svn: 56925
-
- Sep 30, 2008
-
-
Dan Gohman authored
llvm-svn: 56829
-
Dan Gohman authored
and X86FastISel.cpp into X86MachineFunction.h, so that it can be shared, instead of having each selector keep track of its own. llvm-svn: 56825
-
Dan Gohman authored
doesn't have SSE(2), with X86FastISel. llvm-svn: 56823
-
- Sep 29, 2008
-
-
Dan Gohman authored
llvm-svn: 56802
-
- Sep 26, 2008
-
-
Dan Gohman authored
values for overflow. llvm-svn: 56686
-
Dan Gohman authored
require RIP-relative addressing and use it to fix a bug in X86FastISel in x86-64 PIC mode, where it was trying to use base/index registers with RIP-relative addresses. This fixes a bunch of x86-64 testsuite failures. llvm-svn: 56676
-
Dan Gohman authored
require more work. llvm-svn: 56637
-
Dan Gohman authored
load from the stub, instead of the result of the load from the stub. llvm-svn: 56626
-
- Sep 25, 2008
-
-
Devang Patel authored
s/ParamAttr/Attribute/g s/PAList/AttrList/g s/FnAttributeWithIndex/AttributeWithIndex/g s/FnAttr/Attribute/g This sets the stage - to implement function notes as function attributes and - to distinguish between function attributes and return value attributes. This requires corresponding changes in llvm-gcc and clang. llvm-svn: 56622
-
Dan Gohman authored
llvm-svn: 56608
-
- Sep 23, 2008
-
-
Dan Gohman authored
object. This will be needed to support debug info. llvm-svn: 56508
-
- Sep 22, 2008
-
-
Arnold Schwaighofer authored
Change the calling convention used when tail call optimization is enabled from CC_X86_32_TailCall to CC_X86_32_FastCC. llvm-svn: 56436
-
- Sep 21, 2008
-
-
Chris Lattner authored
sarl $3, %ecx instead of: movl $3, %ecx sarl %cl, %edx This shrinks fast isel 176.gcc by about 2000 instructions (.3%) llvm-svn: 56413
-
- Sep 20, 2008
-
-
Dan Gohman authored
llvm-svn: 56376
-
Dan Gohman authored
results in better code for globals. Also, unbreak the local CSE for GlobalValue stub loads. llvm-svn: 56371
-
- Sep 19, 2008
-
-
Dan Gohman authored
catches a fair number of common cases. Note that this currently causes Fast-ISel to leave behind lots of dead instructions. Those will be dealt with in subsequent commits. llvm-svn: 56320
-
- Sep 18, 2008
-
-
Dan Gohman authored
llvm-svn: 56311
-
- Sep 17, 2008
-
-
Dan Gohman authored
over having it in a register. And wait until after checking type legality before requesting that the callee address be placed in a register. Also, fix support for calls with void return type. This speeds up fast-isel isel time by about 15% and reduces instruction counts by about 3% overall on certain testcases. It also changes many indirect calls to direct calls. llvm-svn: 56292
-
- Sep 11, 2008
-
-
Owen Anderson authored
llvm-svn: 56117
-
Owen Anderson authored
If ISD::ANY_EXTEND fails, try ISD::ZERO_EXTEND and ISD::SIGN_EXTEND before giving up. This fixes 445.gobmk on X86-64 in fast isel. llvm-svn: 56088
-
- Sep 10, 2008
-
-
Dan Gohman authored
llvm-svn: 56070
-
Dan Gohman authored
to static allocas. As part of this change, refactor the address mode code for laods and stores. llvm-svn: 56066
-
- Sep 09, 2008
-
-
Evan Cheng authored
Fix a constant lowering bug. Now we can do load and store instructions with funky getelementptr embedded in the address operand. llvm-svn: 55975
-
- Sep 08, 2008
-
-
Evan Cheng authored
llvm-svn: 55925
-
Dan Gohman authored
llvm-svn: 55918
-
Evan Cheng authored
llvm-svn: 55891
-
- Sep 07, 2008
-
-
Evan Cheng authored
Initial fastisel call support for C, Fast, and X86_FastCall calling conventions. It's meant to handle "simple" calls, i.e. no byval, structret, etc. It doesn't support multi-result returns either. Not yet turned on, it needs to support sext / zext of arguments and result. llvm-svn: 55882
-
Evan Cheng authored
llvm-svn: 55877
-
- Sep 06, 2008
-
-
Owen Anderson authored
llvm-svn: 55868
-