Skip to content
  1. Feb 01, 2018
    • Mikael Holmen's avatar
      [LSR] Don't force bases of foldable formulae to the final type. · 6d06976e
      Mikael Holmen authored
      Summary:
      Before emitting code for scaled registers, we prevent
      SCEVExpander from hoisting any scaled addressing mode
      by emitting all the bases first. However, these bases
      are being forced to the final type, resulting in some
      odd code.
      
      For example, if the type of the base is an integer and
      the final type is a pointer, we will emit an inttoptr
      for the base, a ptrtoint for the scale, and then a
      'reverse' GEP where the GEP pointer is actually the base
      integer and the index is the pointer. It's more intuitive
      to use the pointer as a pointer and the integer as index.
      
      Patch by: Bevin Hansson
      
      Reviewers: atrick, qcolombet, sanjoy
      
      Reviewed By: qcolombet
      
      Subscribers: llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D42103
      
      llvm-svn: 323946
      6d06976e
  2. Jan 31, 2018
  3. Jan 30, 2018
  4. Jan 29, 2018
  5. Jan 28, 2018
  6. Jan 27, 2018
  7. Jan 26, 2018
  8. Jan 25, 2018
  9. Jan 24, 2018
    • Sanjay Patel's avatar
      [InstCombine] fix datalayout in test file · 60c13c77
      Sanjay Patel authored
      The only part of the datalayout that should matter for these tests
      is the part that specifies the legal int widths ('n*'). But there
      was a bug - that part of the string was not correctly separated with
      the expected '-' character, so we were testing as if there were no
      legal int widths at all. Removed the leading cruft so we have some 
      legal ints to test with.
      
      I noticed this while testing a potential change to the way we 
      transform shifts and sexts in D42424.
      
      llvm-svn: 323377
      60c13c77
Loading