[all-commits] [llvm/llvm-project] 6ea477: Revert 57dd4b0 "[ValueTracking] Allow context-sens...

Hans via All-commits all-commits at lists.llvm.org
Wed Nov 13 03:22:09 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 6ea47759008526dc11f5064b266de95c61915581
      https://github.com/llvm/llvm-project/commit/6ea47759008526dc11f5064b266de95c61915581
  Author: Hans Wennborg <hans at chromium.org>
  Date:   2019-11-13 (Wed, 13 Nov 2019)

  Changed paths:
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/FunctionAttrs/nonnull.ll
    M llvm/test/Transforms/InstCombine/known-non-zero.ll
    M llvm/test/Transforms/InstSimplify/known-non-zero.ll
    M llvm/test/Transforms/LICM/hoist-mustexec.ll

  Log Message:
  -----------
  Revert 57dd4b0 "[ValueTracking] Allow context-sensitive nullness check for non-pointers"

This caused miscompiles of Chromium (https://crbug.com/1023818). The reduced
repro is small enough to fit here:

  $ cat /tmp/a.c
  unsigned char f(unsigned char *p) {
    unsigned char result = 0;
    for (int shift = 0; shift < 1; ++shift)
      result |= p[0] << (shift * 8);
    return result;
  }
  $ bin/clang -O2 -S -o - /tmp/a.c | grep -A4 f:
  f:                                      # @f
          .cfi_startproc
  # %bb.0:                                # %entry
          xorl    %eax, %eax
          retq

That's nicely optimized, but I don't think it's the right result :-)

> Same as D60846 but with a fix for the problem encountered there which
> was a missing context adjustment in the handling of PHI nodes.
>
> The test that caused D60846 to be reverted was added in e15ab8f277c7.
>
> Reviewers: nikic, nlopes, mkazantsev,spatel, dlrobertson, uabelho, hakzsam
>
> Subscribers: hiraditya, bollu, llvm-commits
>
> Tags: #llvm
>
> Differential Revision: https://reviews.llvm.org/D69571

This reverts commit 57dd4b03e4806bbb4760ab6150940150d884df20.




More information about the All-commits mailing list