[IRSim][IROutliner] Adding InstVisitor to disallow certain operations.
authorAndrew Litteken <andrew.litteken@gmail.com>
Mon, 31 Aug 2020 19:55:38 +0000 (14:55 -0500)
committerAndrew Litteken <andrew.litteken@gmail.com>
Fri, 18 Dec 2020 01:33:57 +0000 (19:33 -0600)
commitcea807602a2fb0b8d79b0eef30ce717ae4645fbc
tree26b01c8b319a5c95393a9150947b98f6b84150f5
parentfc5cf50e892b5e2307de924923fe799702b055d2
[IRSim][IROutliner] Adding InstVisitor to disallow certain operations.

This adds a custom InstVisitor to return false on instructions that
should not be allowed to be outlined.  These match the illegal
instructions in the IRInstructionMapper with exception of the addition
of the llvm.assume intrinsic.

Tests all the tests marked: illegal-*-.ll with a test for each kind of
instruction that has been marked as illegal.

Reviewers: jroelofs, paquette

Differential Revisions: https://reviews.llvm.org/D86976
19 files changed:
llvm/include/llvm/Transforms/IPO/IROutliner.h
llvm/lib/Transforms/IPO/IROutliner.cpp
llvm/test/Transforms/IROutliner/illegal-allocas.ll [new file with mode: 0644]
llvm/test/Transforms/IROutliner/illegal-assumes.ll [new file with mode: 0644]
llvm/test/Transforms/IROutliner/illegal-branches.ll [new file with mode: 0644]
llvm/test/Transforms/IROutliner/illegal-callbr.ll [new file with mode: 0644]
llvm/test/Transforms/IROutliner/illegal-calls.ll [new file with mode: 0644]
llvm/test/Transforms/IROutliner/illegal-catchpad.ll [new file with mode: 0644]
llvm/test/Transforms/IROutliner/illegal-cleanup.ll [new file with mode: 0644]
llvm/test/Transforms/IROutliner/illegal-frozen.ll [new file with mode: 0644]
llvm/test/Transforms/IROutliner/illegal-gep.ll [new file with mode: 0644]
llvm/test/Transforms/IROutliner/illegal-invoke.ll [new file with mode: 0644]
llvm/test/Transforms/IROutliner/illegal-landingpad.ll [new file with mode: 0644]
llvm/test/Transforms/IROutliner/illegal-memcpy.ll [new file with mode: 0644]
llvm/test/Transforms/IROutliner/illegal-memmove.ll [new file with mode: 0644]
llvm/test/Transforms/IROutliner/illegal-memset.ll [new file with mode: 0644]
llvm/test/Transforms/IROutliner/illegal-phi-nodes.ll [new file with mode: 0644]
llvm/test/Transforms/IROutliner/illegal-vaarg.ll [new file with mode: 0644]
llvm/test/Transforms/IROutliner/legal-debug.ll [new file with mode: 0644]