[PATCH] D52441: [CodeGen] Update min-legal-vector width based on function argument and return types

Craig Topper via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Oct 8 16:01:44 PDT 2018


craig.topper updated this revision to Diff 168724.
craig.topper added a comment.

Address Reid's comments. Add a comment with a list of all things that currently effect the vector width attribute emitted in IR.

For inlining, we update the caller's attribute during merging to ensure it is at least as large as the callee that is being inlined. This is required for always_inline of the intrinsics. We probably want a way to limit inlining, but that would effect the inlining decision. If the decision has been made to inline we have to take the max.

For LTO I don't have an answer. What do we do for things like target features and cpu today?


https://reviews.llvm.org/D52441

Files:
  lib/CodeGen/CGCall.cpp
  lib/CodeGen/CodeGenFunction.cpp
  test/CodeGen/aarch64-neon-3v.c
  test/CodeGen/aarch64-neon-across.c
  test/CodeGen/aarch64-neon-fma.c
  test/CodeGen/aarch64-neon-ldst-one.c
  test/CodeGen/aarch64-neon-scalar-copy.c
  test/CodeGen/aarch64-neon-scalar-x-indexed-elem.c
  test/CodeGen/aarch64-neon-tbl.c
  test/CodeGen/aarch64-neon-vget.c
  test/CodeGen/aarch64-poly64.c
  test/CodeGen/arm-neon-fma.c
  test/CodeGen/arm-neon-numeric-maxmin.c
  test/CodeGen/arm-neon-vcvtX.c
  test/CodeGen/arm64_vdupq_n_f64.c
  test/CodeGenOpenCL/fpmath.cl

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D52441.168724.patch
Type: text/x-patch
Size: 270855 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20181008/fd634b9b/attachment-0001.bin>


More information about the cfe-commits mailing list