[PATCH] D109450: [IRSim][IROutliner] Allowing Intrinsic Calls to be Used in Similarity Matching and Outlined Regions

Andrew Litteken via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 8 09:52:06 PDT 2021


AndrewLitteken created this revision.
AndrewLitteken added reviewers: paquette, jroelofs.
Herald added subscribers: ormris, hiraditya.
AndrewLitteken requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

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.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D109450

Files:
  llvm/include/llvm/Analysis/IRSimilarityIdentifier.h
  llvm/include/llvm/Transforms/IPO/IROutliner.h
  llvm/lib/Analysis/IRSimilarityIdentifier.cpp
  llvm/lib/Transforms/IPO/IROutliner.cpp
  llvm/test/Transforms/IROutliner/different-intrinsics.ll
  llvm/test/Transforms/IROutliner/illegal-memcpy.ll
  llvm/test/Transforms/IROutliner/illegal-memmove.ll
  llvm/test/Transforms/IROutliner/illegal-memset.ll
  llvm/test/Transforms/IROutliner/illegal-vaarg.ll
  llvm/test/Transforms/IROutliner/outline-memcpy.ll
  llvm/test/Transforms/IROutliner/outline-memmove.ll
  llvm/test/Transforms/IROutliner/outline-memset.ll
  llvm/test/Transforms/IROutliner/outline-vaarg-intrinsic.ll
  llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D109450.371374.patch
Type: text/x-patch
Size: 31620 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210908/0939b2ab/attachment-0001.bin>


More information about the llvm-commits mailing list