[all-commits] [llvm/llvm-project] 3785c1: [IRSim][IROutliner] Allowing Intrinsic Calls to be...
Andrew Litteken via All-commits
all-commits at lists.llvm.org
Fri Jan 28 11:52:49 PST 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 3785c1d05501775629c1b943459b97eab6c739ec
https://github.com/llvm/llvm-project/commit/3785c1d05501775629c1b943459b97eab6c739ec
Author: Andrew Litteken <andrew.litteken at gmail.com>
Date: 2022-01-28 (Fri, 28 Jan 2022)
Changed paths:
M llvm/include/llvm/Analysis/IRSimilarityIdentifier.h
M llvm/include/llvm/Transforms/IPO/IROutliner.h
M llvm/lib/Analysis/IRSimilarityIdentifier.cpp
M llvm/lib/Transforms/IPO/IROutliner.cpp
A llvm/test/Transforms/IROutliner/different-intrinsics.ll
M llvm/test/Transforms/IROutliner/illegal-memcpy.ll
M llvm/test/Transforms/IROutliner/illegal-memmove.ll
M llvm/test/Transforms/IROutliner/illegal-memset.ll
M llvm/test/Transforms/IROutliner/illegal-vaarg.ll
A llvm/test/Transforms/IROutliner/outline-memcpy.ll
A llvm/test/Transforms/IROutliner/outline-memmove.ll
A llvm/test/Transforms/IROutliner/outline-memset.ll
A llvm/test/Transforms/IROutliner/outline-vaarg-intrinsic.ll
M llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
Log Message:
-----------
[IRSim][IROutliner] Allowing Intrinsic Calls to be Used in Similarity Matching and Outlined Regions
Due to some complications with lifetime, and assume-like intrinsics, intrinsics were not included as outlinable instructions. This patch opens up most intrinsics, excluding lifetime and assume-like intrinsics, to be outlined. For similarity, it is required that the intrinsic IDs, and the intrinsics names match exactly, as well as the function type. This puts intrinsics in a different class than normal call instructions (https://reviews.llvm.org/D109448), where the name will no longer have to match.
This also adds an additional command line flag debug option to disable outlining intrinsics.
Recommit of: 8de76bd569732acae6a10fdcb0152a49f7d4cd39
Adds extra checking of intrinsic function calls names to avoid taking the address of intrinsic calls when extracting function calls.
Reviewers: paquette, jroelofs
Differential Revision: https://reviews.llvm.org/D109450
More information about the All-commits
mailing list