[PATCH] D82820: [InstCombine] Fix mismatched attribute lists for combined calls

Gui Andrade via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 29 16:23:01 PDT 2020


guiand created this revision.
guiand added reviewers: eugenis, vitalybuka, xbolva00.
Herald added subscribers: llvm-commits, hiraditya.
Herald added a reviewer: jdoerfert.
Herald added a project: LLVM.

Currently, a transformation like pow(2.0, x) -> exp2(x) copies the pow
attribute list verbatim and applies it to exp2. This works out fine
when the attribute list is empty, but when it isn't clang will error due
due to the mismatch.

      

This was discovered after implementing the `noundef` param attribute.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D82820

Files:
  llvm/include/llvm/IR/Attributes.h
  llvm/lib/IR/Attributes.cpp
  llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
  llvm/test/Transforms/InstCombine/simplify-libcalls.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D82820.274279.patch
Type: text/x-patch
Size: 8361 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200629/ec16de13/attachment.bin>


More information about the llvm-commits mailing list