- 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 07, 2006
-
-
Evan Cheng authored
llvm-svn: 28158
-
- May 06, 2006
-
-
Jeff Cohen authored
llvm-svn: 28148
-
Chris Lattner authored
llvm-svn: 28139
-
- May 05, 2006
-
-
Chris Lattner authored
llvm-svn: 28133
-
Chris Lattner authored
llvm-svn: 28131
-
Evan Cheng authored
llvm-svn: 28127
-
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
-
- May 04, 2006
-
-
Chris Lattner authored
llvm-svn: 28105
-
Chris Lattner authored
llvm-svn: 28104
-
Chris Lattner authored
llvm-svn: 28102
-
Chris Lattner authored
llvm-svn: 28099
-
Jeff Cohen authored
llvm-svn: 28096
-
Jeff Cohen authored
llvm-svn: 28095
-
Chris Lattner authored
llvm-svn: 28094
-
Chris Lattner authored
llvm-svn: 28093
-
Chris Lattner authored
llvm-svn: 28092
-
Chris Lattner authored
llvm-svn: 28091
-
Chris Lattner authored
llvm-svn: 28090
-
- May 03, 2006
-
-
Evan Cheng authored
movlps cannot be used (e.g. when load from m64 has multiple uses). llvm-svn: 28089
-
Chris Lattner authored
in MachineRelocation to create Relocations. llvm-svn: 28088
-
Chris Lattner authored
llvm-svn: 28083
-
Chris Lattner authored
simplifies the MachineCodeEmitter interface just a little bit and makes BasicBlocks work like constant pools and jump tables. llvm-svn: 28082
-
Nate Begeman authored
instruction. llvm-svn: 28080
-
Owen Anderson authored
Refactor TargetMachine, pushing handling of TargetData into the target-specific subclasses. This has one caller-visible change: getTargetData() now returns a pointer instead of a reference. This fixes PR 759. llvm-svn: 28074
-
Chris Lattner authored
llvm-svn: 28069
-
Chris Lattner authored
1. Change several methods in the MachineCodeEmitter class to be pure virtual. 2. Suck emitConstantPool/initJumpTableInfo into startFunction, removing them from the MachineCodeEmitter interface, and reducing the amount of target- specific code. 3. Change the JITEmitter so that it allocates constantpools and jump tables *right* next to the functions that they belong to, instead of in a separate pool of memory. This makes all memory for a function be contiguous, and means the JITEmitter only tracks one block of memory now. llvm-svn: 28065
-
Nate Begeman authored
llvm-svn: 28063
-
- May 02, 2006
-
-
Chris Lattner authored
byte format. This doesn't work when using the code emitter in a cross target environment. Since the code emitter is only really used by the JIT, this isn't a current problem, but if we ever start emitting .o files, it would be. llvm-svn: 28060
-
Chris Lattner authored
code emission location into the base class, instead of being in the derived classes. This change means that low-level methods like emitByte/emitWord now are no longer virtual (yaay for speed), and we now have a framework to support growable code segments. This implements feature request #1 of PR469. llvm-svn: 28059
-
Nate Begeman authored
llvm-svn: 28056
-
Chris Lattner authored
llvm-svn: 28053
-
Nate Begeman authored
basic block labels, consolidating the code to do so in one place for each target. llvm-svn: 28050
-
Jeff Cohen authored
llvm-svn: 28047
-
Jeff Cohen authored
llvm-svn: 28046
-
Jeff Cohen authored
llvm-svn: 28045
-
Jeff Cohen authored
llvm-svn: 28044
-
- May 01, 2006
-
-
Chris Lattner authored
llvm-svn: 28027
-
- Apr 29, 2006
-
-
Jeff Cohen authored
llvm-svn: 28023
-
Evan Cheng authored
llvm-svn: 28021
-