Skip to content
  1. Feb 17, 2012
  2. Jan 24, 2012
  3. Dec 30, 2011
  4. Dec 19, 2011
  5. Dec 07, 2011
    • Evan Cheng's avatar
      Add bundle aware API for querying instruction properties and switch the code · 7f8e563a
      Evan Cheng authored
      generator to it. For non-bundle instructions, these behave exactly the same
      as the MC layer API.
      
      For properties like mayLoad / mayStore, look into the bundle and if any of the
      bundled instructions has the property it would return true.
      For properties like isPredicable, only return true if *all* of the bundled
      instructions have the property.
      For properties like canFoldAsLoad, isCompare, conservatively return false for
      bundles.
      
      llvm-svn: 146026
      7f8e563a
  6. Dec 06, 2011
    • Evan Cheng's avatar
      First chunk of MachineInstr bundle support. · 2a81dd4a
      Evan Cheng authored
      1. Added opcode BUNDLE
      2. Taught MachineInstr class to deal with bundled MIs
      3. Changed MachineBasicBlock iterator to skip over bundled MIs; added an iterator to walk all the MIs
      4. Taught MachineBasicBlock methods about bundled MIs
      
      llvm-svn: 145975
      2a81dd4a
  7. Nov 11, 2011
    • Bruno Cardoso Lopes's avatar
      Mips MC object code emission improvements: · c85e3ff3
      Bruno Cardoso Lopes authored
      "With this patch we can now generate runnable Mips code through LLVM
      direct object emission. We have run numerous simple programs, both C
      and C++ and with -O0 and -O3 from the output. The code is not production
      ready, but quite useful for experimentation." Patch and message by
      Jack Carter
      
      llvm-svn: 144414
      c85e3ff3
  8. Nov 08, 2011
    • Bruno Cardoso Lopes's avatar
      This patch handles unaligned loads and stores in Mips JIT. Mips backend · 71133fe9
      Bruno Cardoso Lopes authored
      implements unaligned loads and stores with assembler macro-instructions
      ulw, usw, ulh, ulhu, ush, and this patch emits corresponding instructions
      instead of these macros. Since each unaligned load/store is expanded
      into two corresponding loads/stores where offset for second load/store is
      modified by +3 (for words) or +1 (for halfwords).
      
      Patch by Petar Jovanovic and Sasa Stankovic.
      
      llvm-svn: 144081
      71133fe9
  9. Oct 18, 2011
    • Bruno Cardoso Lopes's avatar
      Final patch that completes old JIT support for Mips: · 2312a3aa
      Bruno Cardoso Lopes authored
      -Fix binary codes and rename operands in .td files so that automatically
      generated function MipsCodeEmitter::getBinaryCodeForInstr gives correct
      encoding for instructions.
      -Define new class FMem for instructions that access memory.
      -Define new class FFRGPR for instructions that move data between GPR and
      FPU general and control registers.
      -Define custom encoder methods for memory operands, and also for size
      operands of ext and ins instructions.
      -Only static relocation model is currently implemented.
      
      Patch by Sasa Stankovic
      
      llvm-svn: 142378
      2312a3aa
  10. Sep 14, 2011
    • Bruno Cardoso Lopes's avatar
      One more patch towards JIT support for Mips. · 483c269a
      Bruno Cardoso Lopes authored
      - Add TSFlags for the instruction formats. The idea here is to use
        as much encoding as possible from getBinaryCodeForInstr, and having
        TSFLags formats for that would make it easier to encode most part
        of the instructions (since Mips encodings are pretty straightforward)
      - Improve the mips mechanism for compilation callback
      - Add Mips specific code for invalidating the instruction cache
      - Next patch will address wrong tablegen encoding
      
      Commit msg added by my own but the patch is from Sasa Stankovic.
      
      llvm-svn: 139688
      483c269a
  11. Jul 21, 2011
Loading