[all-commits] [llvm/llvm-project] 61cbbb: [ArgumentPromotion] Fix byval alignment handling.

Eli Friedman via All-commits all-commits at lists.llvm.org
Tue May 11 11:22:57 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 61cbbba7a645a1d87db9a80867c84a788ab2ea9c
      https://github.com/llvm/llvm-project/commit/61cbbba7a645a1d87db9a80867c84a788ab2ea9c
  Author: Eli Friedman <efriedma at quicinc.com>
  Date:   2021-05-11 (Tue, 11 May 2021)

  Changed paths:
    M llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
    M llvm/test/Transforms/ArgumentPromotion/attrs.ll
    M llvm/test/Transforms/ArgumentPromotion/byval-2.ll
    M llvm/test/Transforms/ArgumentPromotion/byval.ll
    M llvm/test/Transforms/ArgumentPromotion/dbg.ll
    R llvm/test/Transforms/ArgumentPromotion/tail.ll

  Log Message:
  -----------
  [ArgumentPromotion] Fix byval alignment handling.

Make sure the alignment of the generated operations matches the
alignment of the byval argument.  Previously, we were just ignoring
alignment and getting lucky.

While I'm here, also delete the unnecessary "tail" handling.
Passing a pointer to a byval argument to a "tail" call is UB, so
rewriting to an alloca doesn't require any special handling.

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




More information about the All-commits mailing list