[all-commits] [llvm/llvm-project] 78de72: Reland [AssumeBundles] Use operand bundles to enco...

Ralender via All-commits all-commits at lists.llvm.org
Sat Sep 12 06:36:58 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 78de7297abe2e8fa782682168989c70e3cb34a5c
      https://github.com/llvm/llvm-project/commit/78de7297abe2e8fa782682168989c70e3cb34a5c
  Author: Tyker <tyker1 at outlook.com>
  Date:   2020-09-12 (Sat, 12 Sep 2020)

  Changed paths:
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/test/CodeGen/align_value.cpp
    M clang/test/CodeGen/alloc-align-attr.c
    M clang/test/CodeGen/assume-aligned-and-alloc-align-attributes.c
    M clang/test/CodeGen/builtin-align-array.c
    M clang/test/CodeGen/builtin-align.c
    M clang/test/CodeGen/builtin-assume-aligned.c
    M clang/test/CodeGen/catch-alignment-assumption-attribute-align_value-on-lvalue.cpp
    M clang/test/CodeGen/catch-alignment-assumption-attribute-align_value-on-paramvar.cpp
    M clang/test/CodeGen/catch-alignment-assumption-attribute-alloc_align-on-function-variable.cpp
    M clang/test/CodeGen/catch-alignment-assumption-attribute-alloc_align-on-function.cpp
    M clang/test/CodeGen/catch-alignment-assumption-attribute-assume_aligned-on-function-two-params.cpp
    M clang/test/CodeGen/catch-alignment-assumption-attribute-assume_aligned-on-function.cpp
    M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-three-params-variable.cpp
    M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-three-params.cpp
    M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-two-params.cpp
    M clang/test/CodeGen/catch-alignment-assumption-openmp.cpp
    M clang/test/CodeGen/non-power-of-2-alignment-assumptions.c
    M clang/test/OpenMP/simd_codegen.cpp
    M clang/test/OpenMP/simd_metadata.c
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen.cpp
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/include/llvm/Transforms/Scalar/AlignmentFromAssumptions.h
    M llvm/lib/Analysis/AssumeBundleQueries.cpp
    M llvm/lib/IR/IRBuilder.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/Scalar/AlignmentFromAssumptions.cpp
    M llvm/test/Transforms/AlignmentFromAssumptions/simple.ll
    M llvm/test/Transforms/AlignmentFromAssumptions/simple32.ll
    M llvm/test/Transforms/Inline/align.ll
    M llvm/test/Transforms/Inline/byref-align.ll
    M llvm/test/Transforms/InstCombine/assume.ll
    M llvm/test/Transforms/PhaseOrdering/inlining-alignment-assumptions.ll
    M llvm/test/Verifier/assume-bundles.ll
    M llvm/unittests/Analysis/AssumeBundleQueriesTest.cpp

  Log Message:
  -----------
  Reland [AssumeBundles] Use operand bundles to encode alignment assumptions

NOTE: There is a mailing list discussion on this: http://lists.llvm.org/pipermail/llvm-dev/2019-December/137632.html

Complemantary to the assumption outliner prototype in D71692, this patch
shows how we could simplify the code emitted for an alignemnt
assumption. The generated code is smaller, less fragile, and it makes it
easier to recognize the additional use as a "assumption use".

As mentioned in D71692 and on the mailing list, we could adopt this
scheme, and similar schemes for other patterns, without adopting the
assumption outlining.




More information about the All-commits mailing list