| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 5039
|
| |
|
|
| |
llvm-svn: 5037
|
| |
|
|
| |
llvm-svn: 5035
|
| |
|
|
|
|
|
| |
Add support for boolean constants
add getClassB method
llvm-svn: 5034
|
| |
|
|
| |
llvm-svn: 5033
|
| |
|
|
|
|
| |
rank map cache for instruction ranks
llvm-svn: 5030
|
| |
|
|
|
|
|
|
| |
* Reword comment to make more clear
* Don't print out BB's after modification made
* Don't delete and new an instruction when we need to move something, just move it.
llvm-svn: 5029
|
| |
|
|
| |
llvm-svn: 5024
|
| |
|
|
| |
llvm-svn: 5023
|
| |
|
|
| |
llvm-svn: 5021
|
| |
|
|
| |
llvm-svn: 5020
|
| |
|
|
| |
llvm-svn: 5019
|
| |
|
|
|
|
|
| |
constants in an array for quick lookup. Stole the idea from elsewhere in
Jello.
llvm-svn: 5017
|
| |
|
|
|
|
| |
basic block, as there could be multiple.
llvm-svn: 5016
|
| |
|
|
| |
llvm-svn: 5015
|
| |
|
|
|
|
|
|
| |
The MachineBasicBlock variable name patrol hereby fines Chris Lattner
one bag of nachos, for shadowing global names while his license to do so
was under suspension.
llvm-svn: 5014
|
| |
|
|
|
|
| |
an instruction to avoid using them to allocate to other virtual registers.
llvm-svn: 5013
|
| |
|
|
| |
llvm-svn: 5012
|
| |
|
|
|
|
|
| |
Try to mess around with emitGEPOperation's elementSizeReg to make it work,
again.
llvm-svn: 5011
|
| |
|
|
| |
llvm-svn: 5009
|
| |
|
|
|
|
| |
32-bit registers.
llvm-svn: 5008
|
| |
|
|
|
|
| |
disappeared during the last checkin.
llvm-svn: 5007
|
| |
|
|
| |
llvm-svn: 5004
|
| |
|
|
| |
llvm-svn: 5003
|
| |
|
|
| |
llvm-svn: 5002
|
| |
|
|
|
|
| |
PHI nodes.
llvm-svn: 5001
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
because arguments start two stack slots off of EBP. Break out of the
for loop once the argument is found. Increment the counter at the end
of the loop instead of the beginning. Use addRegOffset and compute
the scale * index part at compile time instead of using the fancy
load instruction. Just because an instruction set has wacky addressing
modes doesn't mean we ought to use them (at least, if you believe Dave
Patterson).
lib/Target/X86/X86InstrBuilder.h: Add some comments.
test/Regression/Jello/test-loadstore.ll: Let main return int 0.
llvm-svn: 4999
|
| |
|
|
|
|
|
|
|
|
|
| |
implementation of getReg() for arguments.
MachineCodeEmitter.cpp: Fix using EBP with index, scale and no
displacement (whew!) due to Chris.
Printer.cpp: Fix printing out index and scale in memory references.
llvm-svn: 4998
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
Also make all loads & stores 4-byte aligned for performance. ;)
llvm-svn: 4982
|
| |
|
|
| |
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
|
| |
|
|
|
|
| |
register-allocated them appropriately.
llvm-svn: 4976
|
| |
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
Also added Statistic counters for NoAlias and MayAlias.
llvm-svn: 4972
|
| |
|
|
| |
llvm-svn: 4968
|
| |
|
|
|
|
| |
parallelization pass.
llvm-svn: 4965
|
| |
|
|
|
|
|
| |
virtual register computed by an Instruction& X and replaces it with
a slot in the stack frame, allocated via alloca.
llvm-svn: 4964
|
| |
|
|
|
|
|
|
| |
using the Cilk multi-threaded runtime system to execute parallel code.
The current version inserts too many sync() operations in the program
because it does not attempt to optimize their placement.
llvm-svn: 4962
|
| |
|
|
|
|
| |
i.e., enumerates all data and control dependences for the function.
llvm-svn: 4958
|
| |
|
|
|
|
|
| |
computes a dependence graph for data dependences on memory locations
using interprocedural Mod/Ref information.
llvm-svn: 4957
|
| |
|
|
| |
llvm-svn: 4956
|