Refactor native instruction intrinsics
While LLVM 8 provides CreateBinaryIntrinsic() and CreateUnaryIntrinsic()
as part of the IRBuilder<> API, they implicity append the operand type
to the intrinsic name. This only works for 'abstract' intrinsics such as
'sqrt'. For intrinsics corresponding to specific native instructions,
it causing symbol resolution to fail. This change adds
createInstruction() functions to simplify the creation of these native
intrinsics.
Also remove some macros which were needed for compatibility with LLVM 7.
Bug: b/152339534
Change-Id: Id985941d9725c8746df05c58520810feb73bfe19
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/37088
Presubmit-Ready: Nicolas Capens <nicolascapens@google.com>
Tested-by:
Nicolas Capens <nicolascapens@google.com>
Kokoro-Result: kokoro <noreply+kokoro@google.com>
Reviewed-by:
Antonio Maiorano <amaiorano@google.com>
Showing
This diff is collapsed.
Click to expand it.
Please
register
or
sign in
to comment