1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 18:54:02 +01:00
llvm-mirror/lib
Craig Disselkoen 1cbae6c6e8 C API: functions to get mask of a ShuffleVector
This commit fixes a regression (from LLVM 10 to LLVM 11 RC3) in the LLVM
C API.

Previously, commit 1ee6ec2bf removed the mask operand from the
ShuffleVector instruction, storing the mask data separately in the
instruction instead; this reduced the number of operands of
ShuffleVector from 3 to 2. AFAICT, this change unintentionally caused
a regression in the LLVM C API. Specifically, it is no longer possible
to get the mask of a ShuffleVector instruction through the C API. This
patch introduces new functions which together allow a C API user to get
the mask of a ShuffleVector instruction, restoring the functionality
which was previously available through LLVMGetOperand().

This patch also adds tests for this change to the llvm-c-test
executable, which involved adding support for InsertElement,
ExtractElement, and ShuffleVector itself (as well as constant vectors)
to echo.cpp. Previously, vector operations weren't tested at all in
echo.ll.

I also fixed some typos in comments and help-text nearby these changes,
which I happened to spot while developing this patch. Since the typo
fixes are technically unrelated other than being in the same files, I'm
happy to take them out if you'd rather they not be included in the patch.

Differential Revision: https://reviews.llvm.org/D88190
2020-09-25 16:01:05 -07:00
..
Analysis [SCEV] Add support for x != 0 to CollectCondition. 2020-09-25 18:58:55 +01:00
AsmParser OpaquePtr: Add type to sret attribute 2020-09-25 14:07:30 -04:00
BinaryFormat DebugInfo: Cleanup RLE dumping, using a length-constrained DataExtractor rather than carrying the end offset separately 2020-09-18 19:32:38 -07:00
Bitcode OpaquePtr: Add type to sret attribute 2020-09-25 14:07:30 -04:00
Bitstream
CodeGen [SystemZ] Optimize bcmp calls (PR47420) 2020-09-25 17:55:39 +02:00
DebugInfo DebugInfo: Filter DWARFv5 TUs out of the debug_info unit list when CUs requested 2020-09-23 22:15:53 -07:00
Demangle
DWARFLinker
ExecutionEngine [ORC] Add operations to create and lookup JITDylibs to OrcV2 C bindings. 2020-09-16 13:49:30 -07:00
Extensions Remove unused variable(s) 2020-09-08 16:58:01 -07:00
FileCheck
Frontend
Fuzzer
FuzzMutate
InterfaceStub [lib/Object] - Refine interface of ELFFile<ELFT>. NFCI. 2020-09-15 11:38:31 +03:00
IR C API: functions to get mask of a ShuffleVector 2020-09-25 16:01:05 -07:00
IRReader
LineEditor
Linker [ThinLTO] Fix a metadata lost issue with DICompileUnit import. 2020-09-02 14:40:41 -07:00
LTO [ThinLTO] Option to bypass function importing. 2020-09-22 13:12:11 -07:00
MC [PowerPC][PCRelative] Thread Local Storage Support for Local Dynamic 2020-09-23 13:48:06 -05:00
MCA [APInt] New member function setBitVal 2020-09-02 21:40:31 +01:00
Object [lib/Object] - Refine interface of ELFFile<ELFT>. NFCI. 2020-09-15 11:38:31 +03:00
ObjectYAML [DWARFYAML] Make the ExtLen field of extended opcodes optional. 2020-09-24 14:13:26 +08:00
Option [NFC] Fix the signature and definition of findByPrefix 2020-09-11 12:38:28 +01:00
Passes [LoopReroll][NewPM] Port -loop-reroll to NPM 2020-09-25 12:09:06 -07:00
ProfileData [Coverage] Add empty line regions to SkippedRegions 2020-09-21 12:42:53 -07:00
Remarks
Support Hint how to get a symbolized stack trace if llvm-symbolizer is not found on crashes 2020-09-25 01:52:20 +00:00
TableGen Enhance TableGen so that backends can produce better error messages. 2020-09-23 13:35:32 -04:00
Target [WebAssembly] Check features before making SjLj vars thread-local 2020-09-25 11:45:16 -07:00
Testing
TextAPI
ToolDrivers
Transforms [TRE][NFC] Refactor Basic Block Processing 2020-09-25 16:01:05 -07:00
WindowsManifest [CMake] Simplify CMake handling for libxml2 2020-09-09 21:44:44 -07:00
XRay
CMakeLists.txt
LLVMBuild.txt