[all-commits] [llvm/llvm-project] e75a2d: [tests] Stablize tests for possible change in dere...

Philip Reames via All-commits all-commits at lists.llvm.org
Wed Jul 14 13:05:57 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e75a2dfe209d9cc68e4d9813a38441c45d51d8bb
      https://github.com/llvm/llvm-project/commit/e75a2dfe209d9cc68e4d9813a38441c45d51d8bb
  Author: Philip Reames <listmail at philipreames.com>
  Date:   2021-07-14 (Wed, 14 Jul 2021)

  Changed paths:
    M llvm/test/Analysis/ValueTracking/deref-bitcast-of-gep.ll
    M llvm/test/CodeGen/X86/hoist-invariant-load.ll
    M llvm/test/CodeGen/X86/licm-dominance.ll
    M llvm/test/CodeGen/X86/load-partial.ll
    M llvm/test/CodeGen/X86/memcmp-mergeexpand.ll
    M llvm/test/Transforms/GVN/PRE/load-pre-licm.ll
    M llvm/test/Transforms/GVN/PRE/pre-load.ll
    M llvm/test/Transforms/GVN/loadpre-context.ll
    M llvm/test/Transforms/InstCombine/call-guard.ll
    M llvm/test/Transforms/InstCombine/masked_intrinsics-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/masked_intrinsics.ll
    M llvm/test/Transforms/InstCombine/select.ll
    M llvm/test/Transforms/InstCombine/strcmp-memcmp.ll
    M llvm/test/Transforms/JumpThreading/guards.ll
    M llvm/test/Transforms/LICM/hoist-deref-load.ll
    M llvm/test/Transforms/MemCpyOpt/callslot_deref.ll
    M llvm/test/Transforms/MergeICmps/X86/alias-merge-blocks.ll
    M llvm/test/Transforms/MergeICmps/X86/entry-block-shuffled.ll
    M llvm/test/Transforms/MergeICmps/X86/gep-references-bb.ll
    M llvm/test/Transforms/MergeICmps/X86/int64-and-ptr.ll
    M llvm/test/Transforms/MergeICmps/X86/multiple-blocks-does-work.ll
    M llvm/test/Transforms/MergeICmps/X86/pair-int32-int32.ll
    M llvm/test/Transforms/MergeICmps/X86/split-block-does-work.ll
    M llvm/test/Transforms/SimplifyCFG/X86/SpeculativeExec.ll
    M llvm/test/Transforms/TailCallElim/reorder_load.ll
    M llvm/test/Transforms/VectorCombine/X86/load-inseltpoison.ll
    M llvm/test/Transforms/VectorCombine/X86/load.ll

  Log Message:
  -----------
  [tests] Stablize tests for possible change in deref semantics

There's a potential change in dereferenceability attribute semantics in the nearish future.  See llvm-dev thread "RFC: Decomposing deref(N) into deref(N) + nofree" and D99100 for context.

This change simply adds appropriate attributes to tests to keep transform logic exercised under both old and new/proposed semantics.  Note that for many of these cases, O3 would infer exactly these attributes on the test IR.

This change handles the idiomatic pattern of a dereferenceable object being passed to a call which can not free that memory.  There's a couple other tests which need more one-off attention, they'll be handled in another change.




More information about the All-commits mailing list