[PATCH] D71739: [WIP] Use operand bundles to encode alignment assumptions

Johannes Doerfert via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Dec 19 17:39:00 PST 2019


jdoerfert created this revision.
jdoerfert added reviewers: hfinkel, xbolva00, lebedev.ri, nikic, Tyker, rjmccall, spatel.
Herald added subscribers: bollu, hiraditya.
Herald added projects: clang, LLVM.

NOTE: This is a prototype not a finished patch!
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 <https://reviews.llvm.org/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 <https://reviews.llvm.org/D71692> and on the mailing list, we could adopt this
scheme, and similar schemes for other patterns, without adopting the
assumption outlining.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D71739

Files:
  clang/lib/CodeGen/CodeGenFunction.cpp
  clang/test/CodeGen/alloc-align-attr.c
  llvm/include/llvm/IR/IRBuilder.h
  llvm/lib/IR/IRBuilder.cpp
  llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
  llvm/lib/Transforms/Scalar/AlignmentFromAssumptions.cpp
  llvm/test/Transforms/AlignmentFromAssumptions/simple.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D71739.234816.patch
Type: text/x-patch
Size: 29410 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20191220/0221df97/attachment-0001.bin>


More information about the cfe-commits mailing list