- Dec 13, 2002
-
-
Misha Brukman authored
llvm-svn: 5002
-
Misha Brukman authored
PHI nodes. llvm-svn: 5001
-
Brian Gaeke authored
lib/Target/X86/InstSelectSimple.cpp: Start counting arguments with 2, 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
-
Brian Gaeke authored
InstSelectSimple.cpp: Give promote32 a comment. Add initial 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
-
Chris Lattner authored
Implement ConstantPointerRefs Treat long/ulongs as if they were integers. A hack, but an effective one llvm-svn: 4995
-
Brian Gaeke authored
brg 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
-
Chris Lattner authored
llvm-svn: 4986
-
Chris Lattner authored
llvm-svn: 4985
-
Chris Lattner authored
llvm-svn: 4983
-
Misha Brukman authored
Also make all loads & stores 4-byte aligned for performance. ;) llvm-svn: 4982
-
Misha Brukman authored
llvm-svn: 4981
-
Chris Lattner authored
llvm-svn: 4980
-
Chris Lattner authored
llvm-svn: 4979
-
Chris Lattner authored
Add mem size flags to all instructions using an imm llvm-svn: 4978
-
Misha Brukman authored
llvm-svn: 4977
-
Misha Brukman authored
register-allocated them appropriately. llvm-svn: 4976
-
Misha Brukman authored
X86, but would be 3-address in any normail architecture. llvm-svn: 4974
-
- Dec 12, 2002
-
-
Brian Gaeke authored
This checkin is brought to you by the brian gaeke allnighter fund. (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
-
Misha Brukman authored
Also added Statistic counters for NoAlias and MayAlias. llvm-svn: 4972
-
Chris Lattner authored
llvm-svn: 4968
-
- Dec 10, 2002
-
-
Vikram S. Adve authored
parallelization pass. llvm-svn: 4965
-
Vikram S. Adve authored
virtual register computed by an Instruction& X and replaces it with a slot in the stack frame, allocated via alloca. llvm-svn: 4964
-
Vikram S. Adve authored
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
-
- Dec 08, 2002
-
-
Vikram S. Adve authored
i.e., enumerates all data and control dependences for the function. llvm-svn: 4958
-
Vikram S. Adve authored
computes a dependence graph for data dependences on memory locations using interprocedural Mod/Ref information. llvm-svn: 4957
-
Chris Lattner authored
llvm-svn: 4956
-
Chris Lattner authored
llvm-svn: 4955
-
Chris Lattner authored
llvm-svn: 4954
-
- Dec 07, 2002
-
-
Chris Lattner authored
llvm-svn: 4953
-
Chris Lattner authored
llvm-svn: 4952
-
- Dec 06, 2002
-
-
Vikram S. Adve authored
(1) Make entries for Constant values in the ScalarMap. (2) Set MOD bit for the node pointed to by the argument of a free instruction. llvm-svn: 4948
-
Vikram S. Adve authored
fact that the incoming nodes may be merged away at intermediate steps. Use an extra level of indirection via DSNodeHandles to track the nodes being merged. All this now happens in a static helper function MergeNodes(). llvm-svn: 4947
-
Brian Gaeke authored
llvm-svn: 4944
-
- Dec 05, 2002
-
-
Chris Lattner authored
llvm-svn: 4935
-
Vikram S. Adve authored
been missed if node *this got merged away due to recursive merging! Also, links were not moved correctly if a node is collapsed. llvm-svn: 4933
-
Brian Gaeke authored
" <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
-
Misha Brukman authored
llvm-svn: 4930
-
Misha Brukman authored
removed EBP from the list of callee-saved registers (it isn't one). llvm-svn: 4929
-
Misha Brukman authored
llvm-svn: 4928
-
Chris Lattner authored
llvm-svn: 4925
-