1. Jun 07, 2019
  2. Jun 06, 2019
    • Fangrui Song's avatar
      [PowerPC] Add R_PPC_IRELATIVE · b341d305
      Fangrui Song authored
      This will be used by lld's powerpc port.
      
      llvm-svn: 362713
      b341d305
    • Cameron McInally's avatar
      [NFC][CodeGen] Add unary fneg tests to fp-fast.ll fp-fold.ll fp-in-intregs.ll... · 1d85a751
      Cameron McInally authored
      [NFC][CodeGen] Add unary fneg tests to fp-fast.ll fp-fold.ll fp-in-intregs.ll fp-stack-compare-cmov.ll fp-stack-compare.ll fsxor-alignment.ll
      
      llvm-svn: 362712
      1d85a751
    • Whitney Tsang's avatar
      [DA] Add an option to control delinearization validity checks · 03e8369a
      Whitney Tsang authored
      Summary: Dependence Analysis performs static checks to confirm validity
      of delinearization. These checks often fail for 64-bit targets due to
      type conversions and integer wrapping that prevent simplification of the
      SCEV expressions. These checks would also fail at compile-time if the
      lower bound of the loops are compile-time unknown.
      
      For example:
      
      void foo(int n, int m, int a[][m]) {
        for (int i = 0; i < n; ++i)
          for (int j = 0; j < m; ++j) {
            a[i][j] = a[i+1][j-2];
          }
      }
      
      opt -mem2reg -instcombine -indvars -loop-simplify -loop-rotate -inline
      -pass-remarks=.* -debug-pass=Arguments
      -da-permissive-validity-checks=false k3.ll -analyze -da
      will produce the following by default:
      
      da analyze - anti [* *|<]!
      but will produce the following expected dependence vector if the
      validity checks are disabled:
      
      da analyze - consistent anti [1 -2]!
      This revision will introduce a debug option that will leave the validity
      checks in place by default, but allow them to be turned off. New tests
      are added for cases where it cannot be proven at compile-time that the
      individual subscripts stay in-bound with respect to a particular
      dimension of an array. These tests enable the option to provide user
      guarantee that the subscripts do not over/under-flow into other
      dimensions, thereby producing more accurate dependence vectors.
      
      For prior discussion on this topic, leading to this change, please see
      the following thread:
      http://lists.llvm.org/pipermail/llvm-dev/2019-May/132372.html
      
      Reviewers: Meinersbur, jdoerfert, kbarton, dmgreen, fhahn
      Reviewed By: Meinersbur, jdoerfert, dmgreen
      Subscribers: fhahn, hiraditya, javed.absar, llvm-commits, Whitney,
      etiotto
      Tag: LLVM
      Differential Revision: https://reviews.llvm.org/D62610
      
      llvm-svn: 362711
      03e8369a