[all-commits] [llvm/llvm-project] 8d09f2: [AssumeBundles] Use operand bundles to encode alig...

Ralender via All-commits all-commits at lists.llvm.org
Mon Jul 13 16:06:28 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 8d09f20798ac180b1749276bff364682ce0196ab
      https://github.com/llvm/llvm-project/commit/8d09f20798ac180b1749276bff364682ce0196ab
  Author: Tyker <tyker1 at outlook.com>
  Date:   2020-07-14 (Tue, 14 Jul 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/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:
  -----------
  [AssumeBundles] Use operand bundles to encode alignment assumptions

Summary:
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.

Reviewers: hfinkel, xbolva00, lebedev.ri, nikic, rjmccall, spatel, jdoerfert, sstefan1

Reviewed By: jdoerfert

Subscribers: thopre, yamauchi, kuter, fhahn, merge_guards_bot, hiraditya, bollu, rkruppe, cfe-commits, llvm-commits

Tags: #clang, #llvm

Differential Revision: https://reviews.llvm.org/D71739




More information about the All-commits mailing list