Allow replacing intrinsic operands with variables
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Wed, 13 Feb 2019 23:28:16 +0000 (18:28 -0500)
committerMatt Arsenault <arsenm2@gmail.com>
Mon, 23 Mar 2020 19:51:57 +0000 (15:51 -0400)
commit43d98a0ecfec7882419206673f04a9632c746057
tree99a0fb3320e151a356d7948683fb07055b3dc8ab
parent55eca2853e4f096be189208770034a8a4fb72666
Allow replacing intrinsic operands with variables

Since intrinsics can now specify when an argument is required to be
constant, it is now OK to replace arguments with variables if they
aren't. This means intrinsics must now be accurately marked with
immarg.
llvm/include/llvm/IR/CallSite.h
llvm/lib/Transforms/Scalar/ConstantHoisting.cpp
llvm/lib/Transforms/Utils/Local.cpp
llvm/lib/Transforms/Utils/SimplifyCFG.cpp
llvm/test/Transforms/GVNSink/indirect-call.ll
llvm/test/Transforms/SimplifyCFG/sink-common-code.ll
llvm/unittests/Transforms/Utils/LocalTest.cpp