Skip to content
  1. Nov 07, 2009
    • Evan Cheng's avatar
      - Add TargetInstrInfo::isIdentical(). It's similar to MachineInstr::isIdentical · 7ff83196
      Evan Cheng authored
        except it doesn't care if the definitions' virtual registers differ. This is
        used by machine LICM and other MI passes to perform CSE.
      - Teach Thumb2InstrInfo::isIdentical() to check two t2LDRpci_pic are identical.
        Since pc relative constantpool entries are always different, this requires it
        it check if the values can actually the same.
      
      llvm-svn: 86328
      7ff83196
  2. Nov 02, 2009
  3. Sep 01, 2009
  4. Aug 29, 2009
  5. Aug 23, 2009
  6. Aug 13, 2009
  7. Aug 11, 2009
  8. Jul 22, 2009
  9. Jul 14, 2009
  10. Jan 05, 2009
  11. Dec 03, 2008
  12. Oct 30, 2008
  13. Aug 24, 2008
    • Chris Lattner's avatar
      Switch the asmprinter (.ll) and all the stuff it requires over to · 0c19df48
      Chris Lattner authored
      use raw_ostream instead of std::ostream.  Among other goodness,
      this speeds up llvm-dis of kc++ with a release build from 0.85s
      to 0.49s (88% faster).
      
      Other interesting changes:
       1) This makes Value::print be non-virtual.
       2) AP[S]Int and ConstantRange can no longer print to ostream directly, 
          use raw_ostream instead.
       3) This fixes a bug in raw_os_ostream where it didn't flush itself 
          when destroyed.
       4) This adds a new SDNode::print method, instead of only allowing "dump".
      
      
      A lot of APIs have both std::ostream and raw_ostream versions, it would
      be useful to go through and systematically anihilate the std::ostream 
      versions.
      
      This passes dejagnu, but there may be minor fallout, plz let me know if
      so and I'll fix it.
      
      llvm-svn: 55263
      0c19df48
  14. Jul 11, 2008
  15. Dec 29, 2007
  16. Apr 27, 2007
  17. Apr 22, 2007
  18. Jan 30, 2007
    • Evan Cheng's avatar
      - Fix codegen for pc relative constant (e.g. JT) in thumb mode: · 83f35170
      Evan Cheng authored
              .set PCRELV0, (LJTI1_0_0-(LPCRELL0+4))
      LPCRELL0:
              add r1, pc, #PCRELV0
      This is not legal since add r1, pc, #c requires the constant be a multiple of 4.
      Do the following instead:
              .set PCRELV0, (LJTI1_0_0-(LPCRELL0+4))
      LPCRELL0:
              mov r1, #PCRELV0
              add r1, pc
      
      - In thumb mode, it's not possible to use .set generate a pc relative stub
        address. The stub is ARM code which is in a different section from the thumb
        code. Load the value from a constpool instead.
      - Some asm printing clean up.
      
      llvm-svn: 33664
      83f35170
  19. Jan 19, 2007
Loading