Skip to content
  1. Nov 27, 2007
  2. Nov 24, 2007
    • Chris Lattner's avatar
      Several changes: · f81d5886
      Chris Lattner authored
      1) Change the interface to TargetLowering::ExpandOperationResult to 
         take and return entire NODES that need a result expanded, not just
         the value.  This allows us to handle things like READCYCLECOUNTER,
         which returns two values.
      2) Implement (extremely limited) support in LegalizeDAG::ExpandOp for MERGE_VALUES.
      3) Reimplement custom lowering in LegalizeDAGTypes in terms of the new
         ExpandOperationResult.  This makes the result simpler and fully 
         general.
      4) Implement (fully general) expand support for MERGE_VALUES in LegalizeDAGTypes.
      5) Implement ExpandOperationResult support for ARM f64->i64 bitconvert and ARM
         i64 shifts, allowing them to work with LegalizeDAGTypes.
      6) Implement ExpandOperationResult support for X86 READCYCLECOUNTER and FP_TO_SINT,
         allowing them to work with LegalizeDAGTypes.
      
      LegalizeDAGTypes now passes several more X86 codegen tests when enabled and when
      type legalization in LegalizeDAG is ifdef'd out.
      
      llvm-svn: 44300
      f81d5886
  3. Nov 06, 2007
  4. Oct 31, 2007
  5. Oct 23, 2007
  6. Oct 19, 2007
  7. Oct 08, 2007
  8. Sep 11, 2007
  9. Aug 02, 2007
  10. Jul 27, 2007
  11. Jun 22, 2007
  12. Jun 19, 2007
  13. May 17, 2007
  14. Apr 27, 2007
  15. Apr 22, 2007
  16. Apr 10, 2007
  17. Apr 02, 2007
  18. Mar 31, 2007
  19. Mar 28, 2007
  20. Mar 25, 2007
  21. Mar 21, 2007
  22. Mar 20, 2007
  23. Mar 16, 2007
  24. Mar 13, 2007
  25. 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
  26. Jan 19, 2007
Loading