| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
Implement ConstantPointerRefs
Treat long/ulongs as if they were integers. A hack, but an effective one
llvm-svn: 4995
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
InstSelectSimple.cpp: Add stub implementation of visitFreeInst.
Add comments that mention how we are failing to implement malloc/free.
Add initial implementation of visitAllocaInst.
X86TargetMachine.cpp: Include llvm/Transforms/Scalar.h.
Add LowerAllocations pass before instruction selection.
jello/Makefile: Add scalaropts.a.
llvm-svn: 4994
|
| |
|
|
| |
llvm-svn: 4986
|
| |
|
|
| |
llvm-svn: 4985
|
| |
|
|
| |
llvm-svn: 4983
|
| |
|
|
| |
llvm-svn: 4981
|
| |
|
|
| |
llvm-svn: 4980
|
| |
|
|
| |
llvm-svn: 4979
|
| |
|
|
|
|
| |
Add mem size flags to all instructions using an imm
llvm-svn: 4978
|
| |
|
|
| |
llvm-svn: 4977
|
| |
|
|
|
|
| |
X86, but would be 3-address in any normail architecture.
llvm-svn: 4974
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(lib/Target/X86) InstSelectSimple.cpp:
Include llvm/DerivedTypes.h and iostream.
Refactor visitMul out into a wrapper around doMultiply(), so that we
can do multiplications on temporary values when we are doing
getelementptrs.
Refactor part of getReg out into makeAnotherReg, so that we can create
registers willy-nilly to hold temporary values, when we are doing
getelementptrs.
Add stub implementations of visitMallocInst and visitAllocaInst.
Add initial implementation of visitGetElementPtrInst.
In copyConstantToRegister:
We throw a *lot* of our asserts here. So, when we want to throw an
assert, print out to stderr whatever expr or whatever constant made
us barf.
Support copying ConstantPointerNull to register, using a move immediate
of zero.
Rename FLDr4 and FLDr8 to FLDr32 and FLDr64, so that they match the meanings
of the numbers in the other instruction names. All uses modified.
Teach visitCallInst to extract byte- and short-class return values
from subregs of EAX. Add a FIXME note about how we would do it for
float-class return values.
Add a FIXME note about how we would cast float to int and back.
X86InstrInfo.def:
Rename FLDr4 and FLDr8 to FLDr32 and FLDr64, so that they match the meanings
of the numbers in the other instruction names. All uses modified.
(tools/jello) GlobalVars.cpp:
Include iostream.
If we have to emit a floating-point constant to memory, gamble and use
the same method as for ints.
If we have to emit a ConstantPointerNull to memory, try using a "void *"
and "NULL".
Otherwise, if we are going to throw an assert, print out whatever constant
made us barf, first.
llvm-svn: 4973
|
| |
|
|
| |
llvm-svn: 4944
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
" <SIZE> PTR " string when emitting assembly.
Target/X86/X86InstrInfo.def: Tidy up a bit:
Squashed everything down to 118 chars wide, wrapping lines so that
comment is at the same point on each line. Rename "NoImpRegs" as
"NoIR". (most instructions have NoImpRegs twice on a line, so this
saves 10 columns).
Also, annotate various instructions with flags for size of memory operand.
(MemArg16, MemArg32, MemArg64, etc.)
Target/X86/X86InstrInfo.h: Define flags for size of memory operand.
(MemArg16, MemArg32, MemArg64, etc.)
llvm-svn: 4932
|
| |
|
|
|
|
| |
removed EBP from the list of callee-saved registers (it isn't one).
llvm-svn: 4929
|
| |
|
|
| |
llvm-svn: 4928
|
| |
|
|
| |
llvm-svn: 4925
|
| |
|
|
| |
llvm-svn: 4924
|
| |
|
|
|
|
| |
arguments pushed onto the stack.
llvm-svn: 4922
|
| |
|
|
| |
llvm-svn: 4921
|
| |
|
|
| |
llvm-svn: 4919
|
| |
|
|
| |
llvm-svn: 4918
|
| |
|
|
| |
llvm-svn: 4917
|
| |
|
|
| |
llvm-svn: 4916
|
| |
|
|
|
|
| |
instead of by reference, since they return the modified iterator.
llvm-svn: 4914
|
| |
|
|
|
|
| |
it is target-independent.
llvm-svn: 4911
|
| |
|
|
|
|
| |
Remove some todo's
llvm-svn: 4910
|
| |
|
|
| |
llvm-svn: 4909
|
| |
|
|
| |
llvm-svn: 4907
|
| |
|
|
| |
llvm-svn: 4897
|
| |
|
|
| |
llvm-svn: 4895
|
| |
|
|
| |
llvm-svn: 4891
|
| |
|
|
| |
llvm-svn: 4884
|
| |
|
|
|
|
| |
Add support for cast ... to bool in visitCastInst (it's a start, anyways...)
llvm-svn: 4883
|
| |
|
|
| |
llvm-svn: 4882
|
| |
|
|
|
|
|
| |
* Expose information about implicit defs/uses of register through the
MachineInstrInfo.h file.
llvm-svn: 4877
|
| |
|
|
| |
llvm-svn: 4876
|
| |
|
|
|
|
|
| |
X86Implicit.cpp, X86Implicit.h: New files.
InstSelectSimple.cpp: Add some clarifications in visitCallInst comments.
llvm-svn: 4874
|
| |
|
|
| |
llvm-svn: 4872
|
| |
|
|
| |
llvm-svn: 4871
|
| |
|
|
| |
llvm-svn: 4870
|
| |
|
|
| |
llvm-svn: 4868
|
| |
|
|
|
|
| |
Remove handling of OtherFrm
llvm-svn: 4867
|
| |
|
|
| |
llvm-svn: 4866
|
| |
|
|
| |
llvm-svn: 4857
|
| |
|
|
| |
llvm-svn: 4841
|
| |
|
|
| |
llvm-svn: 4840
|
| |
|
|
|
|
|
|
| |
InstSelectSimple.cpp: Refactor out conversion of byte, short -> int
from visitReturnInst() to new method, promote32().
Use it in both visitReturnInst() and visitCallInst().
llvm-svn: 4839
|
| |
|
|
|
|
|
|
|
| |
InstSelectSimple.cpp: First draft of visitCallInst method, handling
int/float args.
X86InstrInfo.def: Add entries for CALL with 32-bit pc relative arg, and
PUSH with 32-bit reg arg.
llvm-svn: 4838
|
| |
|
|
|
|
|
| |
InstSelectSimple.cpp: Add some comments that say what I'm going to do for
calls and casts.
llvm-svn: 4832
|