These commits improve support for target and non-llvm intrinsics.
- Provide a way to declare intrinsics not prefixed with llvm..
- Expose the intrinsic name lookup code so it can be used by intrinsics not starting with llvm..
Paths
| Differential D31292
Improve support for non-llvm intrinsics. AbandonedPublic Authored by arames on Mar 23 2017, 9:37 AM.
Details
Summary These commits improve support for target and non-llvm intrinsics.
Diff Detail
Event Timelinearames retitled this revision from [tblgen] Allow skipping `llvm`. for tgt intrinsics to Improve support for non-llvm intrinsics..Mar 23 2017, 9:45 AM Comment Actions Can you explain why this is necessary? "llvm." is the only reserved prefix for global identifiers; removing that assumption opens the door to problems we could easily avoid (for instance, what happens when I use IR that has functions named 'X.foo' ? Are those doomed to be forbidden from the 'X' backend?) Comment Actions I'm having a hard time justifying support for this in LLVM. You can already make target-specific intrinsics starting with "llvm.myisa.", so there isn't much gained by this.
Revision Contents
Diff 92822 include/llvm/IR/Intrinsics.h
include/llvm/IR/Intrinsics.td
lib/IR/IntrinsicInst.cpp
test/TableGen/intrinsic-skip-llvm-prefix.td
unittests/IR/IntrinsicsTest.cpp
utils/TableGen/CodeGenTarget.cpp
|