Skip to content
  1. Dec 13, 2002
    • Brian Gaeke's avatar
      · eaeacc58
      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
      eaeacc58
    • Brian Gaeke's avatar
      · 44876fde
      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
      44876fde
    • Chris Lattner's avatar
      Implement getelementptr constant exprs · 179519bf
      Chris Lattner authored
      Implement ConstantPointerRefs
      Treat long/ulongs as if they were integers.  A hack, but an effective one
      
      llvm-svn: 4995
      179519bf
    • Brian Gaeke's avatar
      · 4e2c30d8
      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
      4e2c30d8
    • Chris Lattner's avatar
      Remove extranous #include · 1176170c
      Chris Lattner authored
      llvm-svn: 4980
      1176170c
  2. Dec 12, 2002
    • Brian Gaeke's avatar
      · 5e91d38e
      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
      5e91d38e
  3. Dec 06, 2002
  4. Dec 05, 2002
  5. Dec 04, 2002
  6. Dec 03, 2002
    • Chris Lattner's avatar
      Fix instsel for calls · 645b7548
      Chris Lattner authored
      llvm-svn: 4891
      645b7548
    • Chris Lattner's avatar
      Fix the build · 6a087407
      Chris Lattner authored
      llvm-svn: 4884
      6a087407
    • Brian Gaeke's avatar
      brg · b6768573
      Brian Gaeke authored
      Add support for cast ... to bool in visitCastInst (it's a start, anyways...)
      
      llvm-svn: 4883
      b6768573
    • Brian Gaeke's avatar
      brg · 5485c079
      Brian Gaeke authored
      X86Implicit.cpp, X86Implicit.h: New files.
      InstSelectSimple.cpp: Add some clarifications in visitCallInst comments.
      
      llvm-svn: 4874
      5485c079
  7. Dec 02, 2002
  8. Nov 30, 2002
    • Brian Gaeke's avatar
      brg · 2ad3501d
      Brian Gaeke authored
      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
      2ad3501d
  9. Nov 29, 2002
    • Brian Gaeke's avatar
      brg · 23953e0f
      Brian Gaeke authored
      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
      23953e0f
  10. Nov 26, 2002
    • Brian Gaeke's avatar
      brg · 4ba2cb11
      Brian Gaeke authored
      InstSelectSimple.cpp: Add some comments that say what I'm going to do for
       calls and casts.
      
      llvm-svn: 4832
      4ba2cb11
  11. Nov 22, 2002
  12. Nov 21, 2002
  13. Nov 20, 2002
  14. Nov 19, 2002
    • Brian Gaeke's avatar
      Brian Gaeke says: · a648bc66
      Brian Gaeke authored
      lib/Target/X86/InstSelectSimple.cpp: Add a little something to
       visitBranchInst which supports conditional branches.
      lib/Target/X86/X86InstrInfo.def: Add defs of JNE, JE, CMPri8
      
      llvm-svn: 4755
      a648bc66
  15. Nov 17, 2002
  16. Nov 14, 2002
    • Brian Gaeke's avatar
      include/llvm/CodeGen/MachineInstrBuilder.h: Add addClobber() inline · e7454358
      Brian Gaeke authored
       convenience method.  Fix typo in comment.
      lib/Target/X86/InstSelectSimple.cpp: Explicitly specify some implicit uses.
       Use MOVZX/MOVSX instead of MOV instructions with sign extend instructions.
       Take out LEAVE instructions.
       32-bit IDIV and DIV use CDQ, not CWQ (CWQ is a typo).
       Fix typo in comment and remove some FIXME comments.
      lib/Target/X86/Printer.cpp: Include X86InstrInfo.h and llvm/Function.h.
       Add some simple code to Printer::runOnFunction to iterate over
        MachineBasicBlocks and call X86InstrInfo::print().
      lib/Target/X86/X86InstrInfo.def: Make some more instructions with
       implicit defs "Void".  Add more sign/zero extending "move" insns
       (movsx, movzx).
      lib/Target/X86/X86RegisterInfo.def: Add EFLAGS as a register.
      
      llvm-svn: 4707
      e7454358
  17. Nov 11, 2002
  18. Nov 07, 2002
  19. Nov 02, 2002
Loading