1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 19:42:54 +02:00
llvm-mirror/lib
Philip Reames 4f3ea7d288 Allow invokable sub-classes of IntrinsicInst
It used to be that all of our intrinsics were call instructions, but over time, we've added more and more invokable intrinsics. According to the verifier, we're up to 8 right now. As IntrinsicInst is a sub-class of CallInst, this puts us in an awkward spot where the idiomatic means to check for intrinsic has a false negative if the intrinsic is invoked.

This change switches IntrinsicInst from being a sub-class of CallInst to being a subclass of CallBase. This allows invoked intrinsics to be instances of IntrinsicInst, at the cost of requiring a few more casts to CallInst in places where the intrinsic really is known to be a call, not an invoke.

After this lands and has baked for a couple days, planned cleanups:
    Make GCStatepointInst a IntrinsicInst subclass.
    Merge intrinsic handling in InstCombine and use idiomatic visitIntrinsicInst entry point for InstVisitor.
    Do the same in SelectionDAG.
    Do the same in FastISEL.

Differential Revision: https://reviews.llvm.org/D99976
2021-04-20 15:03:49 -07:00
..
Analysis Allow invokable sub-classes of IntrinsicInst 2021-04-20 15:03:49 -07:00
AsmParser [SystemZ][z/OS] Add IsText Argument to GetFile and GetFileOrSTDIN 2021-04-16 10:08:36 -04:00
BinaryFormat [NFC] Reordering parameters in getFile and getFileOrSTDIN 2021-03-25 09:47:49 -04:00
Bitcode Reapply "OpaquePtr: Turn inalloca into a type attribute" 2021-03-29 08:55:30 -04:00
Bitstream
CodeGen Allow invokable sub-classes of IntrinsicInst 2021-04-20 15:03:49 -07:00
DebugInfo Fix bug in .eh_frame/.debug_frame PC offset calculation for DW_EH_PE_pcrel 2021-04-15 15:06:20 +04:00
Demangle
DWARFLinker [dsymutil] Stop emulating dsymutil-classic CIE caching behavior 2021-04-06 20:15:41 -07:00
ExecutionEngine Allow invokable sub-classes of IntrinsicInst 2021-04-20 15:03:49 -07:00
Extensions
FileCheck Fix PR46880: Fail CHECK-NOT with undefined variable 2021-04-20 14:42:46 +01:00
Frontend [OpenMP IRBuilder, MLIR] Add support for OpenMP do schedule dynamic 2021-04-16 16:09:49 +01:00
Fuzzer
FuzzMutate [NFC] Reordering parameters in getFile and getFileOrSTDIN 2021-03-25 09:47:49 -04:00
InterfaceStub
IR [X86][AMX] Verify illegal types or instructions for x86_amx. 2021-04-20 16:14:22 +08:00
IRReader [NFC] Reordering parameters in getFile and getFileOrSTDIN 2021-03-25 09:47:49 -04:00
LineEditor
Linker Reapply "OpaquePtr: Turn inalloca into a type attribute" 2021-03-29 08:55:30 -04:00
LTO [SystemZ][z/OS][Windows] Add new OF_TextWithCRLF flag and use this flag instead of OF_Text 2021-04-06 07:23:31 -04:00
MC [AsmParser][SystemZ][z/OS] Add support to AsmLexer to accept HLASM style integers 2021-04-13 15:29:37 -04:00
MCA [MCA][LSUnit] Fix a potential use after free in the logic that updates memory groups. 2021-04-20 13:30:45 +01:00
Object [TextAPI] move source code files out of subdirectory, NFC 2021-04-05 10:24:42 -07:00
ObjectYAML [yaml2obj/obj2yaml/llvm-readobj] Support printing and parsing AVR-specific e_flags 2021-04-15 15:54:28 +02:00
Option
Passes [OpenMP] Add OpenMPOpt as a Module pass 2021-04-20 12:28:58 -04:00
ProfileData [SystemZ][z/OS] Add IsText Argument to GetFile and GetFileOrSTDIN 2021-04-16 10:08:36 -04:00
Remarks
Support [AMDGPU] Enforce that gfx802/803/805 do not support XNACK 2021-04-16 19:34:30 +00:00
TableGen [TableGen] Add support for the 'assert' statement in multiclasses 2021-04-19 09:01:42 -04:00
Target Allow invokable sub-classes of IntrinsicInst 2021-04-20 15:03:49 -07:00
Testing [SystemZ][z/OS] Add IsText Argument to GetFile and GetFileOrSTDIN 2021-04-16 10:08:36 -04:00
TextAPI [TextAPI] move source code files out of subdirectory, NFC 2021-04-05 10:24:42 -07:00
ToolDrivers [NFC] Reordering parameters in getFile and getFileOrSTDIN 2021-03-25 09:47:49 -04:00
Transforms Allow invokable sub-classes of IntrinsicInst 2021-04-20 15:03:49 -07:00
WindowsManifest
XRay
CMakeLists.txt