- May 21, 2006
-
-
Evan Cheng authored
llvm-svn: 28425
-
- May 20, 2006
-
-
Evan Cheng authored
If it reads the chain result of the call, then the use, callseq_start, and call would form a cycle! - Don't forget handle node replacement! - There could also be a TokenFactor between the load and the callseq_start. llvm-svn: 28420
-
Evan Cheng authored
llvm-svn: 28418
-
Evan Cheng authored
llvm-svn: 28417
-
Evan Cheng authored
the TableGen generated code since the load's chain result is read by the callseq_start node. llvm-svn: 28416
-
- May 16, 2006
-
-
Evan Cheng authored
llvm-svn: 28324
-
- May 12, 2006
-
-
Evan Cheng authored
llvm-svn: 28261
-
- May 08, 2006
-
-
Evan Cheng authored
movw. That is we promote the destination operand to r16. So %CH = TRUNC_R16_R8 %BP is emitted as movw %bp, %cx. This is incorrect. If %cl is live, it would be clobbered. Ideally we want to do the opposite, that is emitted it as movb ??, %ch But this is not possible since %bp does not have a r8 sub-register. We are now defining a new register class R16_ which is a subclass of R16 containing only those 16-bit registers that have r8 sub-registers (i.e. AX - DX). We isel the truncate to two instructions, a MOV16to16_ to copy the value to the R16_ class, followed by a TRUNC_R16_R8. Due to bug 770, the register colaescer is not going to coalesce between R16 and R16_. That will be fixed later so we can eliminate the MOV16to16_. Right now, it can only be eliminated if we are lucky that source and destination registers are the same. llvm-svn: 28164
-
- May 05, 2006
-
-
Evan Cheng authored
that gets emitted as movl (for r32 to i16, i8) or a movw (for r16 to i8). And if the destination gets allocated a subregister of the source operand, then the instruction will not be emitted at all. llvm-svn: 28119
-
- Mar 25, 2006
-
-
Chris Lattner authored
llvm-svn: 27109
-
- Mar 14, 2006
-
-
Evan Cheng authored
llvm-svn: 26742
-
- Feb 28, 2006
-
-
Evan Cheng authored
llvm-svn: 26429
-
- Feb 25, 2006
-
-
Evan Cheng authored
* Cleaned up and tweaked LEA cost analysis code. Removed some hacks. * Handle ADD $X, c to MOV32ri $X+c. These patterns cannot be autogen'd and they need to be matched before LEA. llvm-svn: 26376
-
- Feb 23, 2006
-
-
Evan Cheng authored
and ExternalSymbol. - Use C++ code (rather than tblgen'd selection code) to match the above mentioned leaf nodes. Do not mutate and nodes and do not record the selection in CodeGenMap. These nodes should be safe to duplicate. This is a performance win. llvm-svn: 26335
-
Evan Cheng authored
1. Various asm printer bug. 2. Lowering bug. Now TargetGlobalAddress is wrapped in X86ISD::TGAWrapper. llvm-svn: 26324
-
Evan Cheng authored
Suppose base == %eax and it has multiple uses, then instead of movl %eax, %ecx addl $8, %ecx use leal 8(%eax), %ecx. llvm-svn: 26323
-
- Feb 18, 2006
-
-
Evan Cheng authored
llvm-svn: 26273
-
- Feb 11, 2006
-
-
Evan Cheng authored
X86 addressing mode. Currently we do not allow any node whose target node produces a chain as well as any node that is at the root of the addressing mode expression tree. llvm-svn: 26117
-
- Feb 10, 2006
-
-
Evan Cheng authored
llvm-svn: 26111
-
Evan Cheng authored
llvm-svn: 26110
-
- Feb 09, 2006
-
-
Evan Cheng authored
llvm-svn: 26096
-
Evan Cheng authored
llvm-svn: 26085
-
Evan Cheng authored
SDOperand Select(SDOperand N); to void Select(SDOperand &Result, SDOperand N); llvm-svn: 26067
-
- Feb 06, 2006
-
-
Evan Cheng authored
- Manually select SDOperand's returned by TryFoldLoad which make up the load address. llvm-svn: 26012
-
- Feb 05, 2006
-
-
Evan Cheng authored
llvm-svn: 25997
-
Evan Cheng authored
llvm-svn: 25983
-
- Feb 04, 2006
-
-
Chris Lattner authored
tblgen patch reverted. llvm-svn: 25971
-
Evan Cheng authored
Select them afterwards if it returns true. llvm-svn: 25968
-
- Jan 31, 2006
-
-
Evan Cheng authored
- Use XORP* to implement fneg. llvm-svn: 25857
-
- Jan 27, 2006
-
-
Evan Cheng authored
llvm-svn: 25679
-
- Jan 23, 2006
-
-
Chris Lattner authored
llvm-svn: 25515
-
- Jan 19, 2006
-
-
Evan Cheng authored
llvm-svn: 25436
-
Evan Cheng authored
llvm-svn: 25435
-
- Jan 16, 2006
-
-
Evan Cheng authored
llvm-svn: 25368
-
- Jan 15, 2006
-
-
Chris Lattner authored
llvm-svn: 25333
-
- Jan 14, 2006
-
-
Chris Lattner authored
llvm-svn: 25322
-
- Jan 11, 2006
-
-
Evan Cheng authored
llvm-svn: 25225
-
Evan Cheng authored
* Allow a register node as SelectAddr() base. * ExternalSymbol -> TargetExternalSymbol as direct function callee. * Use X86::ESP register rather than CopyFromReg(X86::ESP) as stack ptr for call parmater passing. llvm-svn: 25207
-
Chris Lattner authored
llvm-svn: 25192
-
Chris Lattner authored
llvm-svn: 25191
-