1. May 08, 2017
    • Zvi Rackover's avatar
      InstructionSimplify: Relanding r301766 · 973ff7c7
      Zvi Rackover authored
      Summary:
      Re-applying r301766 with a fix to a typo and a regression test.
      
      The log message for r301766 was:
      ==================================================================================
          InstructionSimplify: Canonicalize shuffle operands. NFC-ish.
      
          Summary:
           Apply canonicalization rules:
              1. Input vectors with no elements selected from can be replaced with undef.
              2. If only one input vector is constant it shall be the second one.
      
          This allows constant-folding to cover more ad-hoc simplifications that
          were in place and avoid duplication for RHS and LHS checks.
      
          There are more rules we may want to add in the future when we see a
          justification. e.g. mask elements that select undef elements can be
          replaced with undef.
      ==================================================================================
      
      Reviewers: spatel, RKSimon
      
      Reviewed By: spatel
      
      Subscribers: llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D32863
      
      llvm-svn: 302373
      973ff7c7
    • Lang Hames's avatar
      Make llvm-rtdlyd -check preserve automatic address mappings made by RuntimeDyld. · ff41150d
      Lang Hames authored
      Currently llvm-rtdyld in -check mode will map sections to back-to-back 4k
      aligned slabs starting at 0x1000. Automatically remapping sections by default is
      helpful because it quickly exposes relocation bugs due to use of local addresses
      rather than load addresses (these would silently pass if the load address was
      not remapped). These mappings can be explicitly overridden on a per-section
      basis using llvm-rtdlyd's -map-section option. This patch extends this scheme to
      also preserve any mappings made by RuntimeDyld itself. Preserving RuntimeDyld's
      automatic mappings allows us to write test cases to verify that these automatic
      mappings have been applied.
      
      This will allow the fix in https://reviews.llvm.org/D32899 to be tested with
      llvm-rtdyld -check.
      
      llvm-svn: 302372
      ff41150d
    • Craig Topper's avatar
      [SCEV] Use move semantics in ScalarEvolution::setRange · 252682a4
      Craig Topper authored
      Summary: This makes setRange take ConstantRange by rvalue reference since most callers were passing an unnamed temporary ConstantRange. We can then move that ConstantRange into the DenseMap caches. For the callers that weren't passing a temporary, I've added std::move to to the local variable being passed.
      
      Reviewers: sanjoy, mzolotukhin, efriedma
      
      Reviewed By: sanjoy
      
      Subscribers: takuto.ikuta, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D32943
      
      llvm-svn: 302371
      252682a4
  2. May 07, 2017
  3. May 06, 2017