1. [Attributor] ValueSimplify Abstract Attribute (details)
Commit f2b9dc4758e6265c55ad578a56e9a1b27c86e797 by uenoku.tokotoko
[Attributor] ValueSimplify Abstract Attribute
Summary: This patch introduces initial `AAValueSimplify` which
simplifies a value in a context.
- (for function returned) If all the return values are the same and
constant, then we can replace callsite returned with the constant.
- If an internal function takes the same value(constant) as an argument
in the callsite, then we can replace the argument with that constant.
Reviewers: jdoerfert, sstefan1
Reviewed By: jdoerfert
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision:
llvm-svn: 371291
The file was modifiedllvm/include/llvm/Transforms/IPO/Attributor.h (diff)
The file was addedllvm/test/Transforms/FunctionAttrs/value-simplify.ll
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp (diff)
The file was modifiedllvm/test/Transforms/FunctionAttrs/align.ll (diff)
The file was modifiedllvm/test/Transforms/FunctionAttrs/noreturn_sync.ll (diff)
The file was modifiedllvm/test/Transforms/FunctionAttrs/nounwind.ll (diff)