[llvm-dev] [RFC] Framework for Finding and Using Similarity at the IR Level

Andrew Litteken via llvm-dev
2020-09-09T21:59:51Z

Thanks for the positive feedback!

All the patches are up now:

Elevating different constants to arguments: [IRSim][IROutliner] Adding support
for consolidating functions with different output arguments.
<https://reviews.llvm.org/D87296>
Extracting require outputs: [IRSim][IROutliner] Adding support for consolidating
functions with different output arguments.
<https://reviews.llvm.org/D87296>
Merging Output Blocks: [IRSim][IROutliner] Merging output blocks for extracted
functions with outputs <https://reviews.llvm.org/D87298>
Cost Model: [IRSim][IROutliner] Adding a cost model, and debug option to turn
the model off. <https://reviews.llvm.org/D87299>
OptRemarks: [IRSim][IROutliner] Adding OptRemarks for the IROutliner.
<https://reviews.llvm.org/D87300>
Function Attribute Merging: [IRSim][IROutliner] Adding consistent function
attribute merging <https://reviews.llvm.org/D87301>
DebugInfo Handling: [IRSim][IROutliner] Adding DebugInfo handling for IR
outlined functions. <https://reviews.llvm.org/D87302>
Outlining from linkonceodr: [IRSim][IROutliner] Adding option to enable
outlining from linkonceodr functions <https://reviews.llvm.org/D87309>
Flexibility for Isomorphic Predicates: [IRSim] Adding support for isomorphic
predicates <https://reviews.llvm.org/D87310>
Flexibility for Commutative Instructions: [IRSim] Adding commutativity matching
to structure checking <https://reviews.llvm.org/D87311>
Matching call instructions for similarity identification: [IRSim] Letting call
instructions be legal for similarity identification.
<https://reviews.llvm.org/D87312>
Outlining Calls: [IRSim][IROutliner] Allowing call instructions to be outlined.
<https://reviews.llvm.org/D87314>
Matching GEP instructions for similarity identification: [IRSim] Letting gep
instructions be legal for similarity identification.
<https://reviews.llvm.org/D87315>
Outlining GEP instructions: [IRSim][IROutliner] Allowing GEP instructions to be
outlined. <https://reviews.llvm.org/D87317>

Feedback, comments and reviews are welcome!

Andrew

> On Sep 2, 2020, at 5:04 AM, Renato Golin <rengolin at gmail.com>
wrote:
>
> Indeed, an awesome project and an excellent report!
>
> Code size doesn't really get much attention, so the level of detail and
the strong roadmap is refreshing.
>
> Hopefully, the project will provide execution times along with code-size
reductions.
>
> I doubt it.
>
> Outlining will (almost?) always make for slower code due to a lot more
calls being made. But that's ok for embedded targets, that don't have
strong speculative machinery.
>
> Also, if the program fits versus doesn't, then it will run infinitely
faster. :D
>
> Kristof, do you know who at Arm would be good to review those patches?
>
> cheers,
> --renato

-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.llvm.org/pipermail/llvm-dev/attachments/20200909/4812d042/attachment.html>