1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
llvm-mirror/include/llvm/IR
Hsiangkai Wang 73f4381c97 [RISCV] Implement vlseg intrinsics.
For Zvlsseg, we need continuous vector registers for the values. We need
to define new register classes for the different combinations of (number
of fields and LMUL). For example,

when the number of fields(NF) = 3, LMUL = 2, the values will be assigned
to (V0M2, V2M2, V4M2), (V2M2, V4M2, V6M2), (V4M2, V6M2, V8M2), ...

We define the vlseg intrinsics with multiple outputs. There is no way to
describe the codegen patterns with multiple outputs in the tablegen
files. We do the codegen in RISCVISelDAGToDAG and use EXTRACT_SUBREG to
extract the values of output.

The multiple scalable vector values will be put into a struct. This
patch is depended on the support for scalable vector struct.

Differential Revision: https://reviews.llvm.org/D94229
2021-01-20 14:26:04 +08:00
..
AbstractCallSite.h
Argument.h Allow nonnull/align attribute to accept poison 2021-01-20 11:31:23 +09:00
AssemblyAnnotationWriter.h
Assumptions.h [Clang][Attr] Introduce the assume function attribute 2020-12-15 16:51:34 -06:00
Attributes.h [IROutliner] Adding consistent function attribute merging 2020-12-31 12:30:23 -06:00
Attributes.td [IR][PGO] Add hot func attribute and use hot/cold attribute in func section 2020-12-17 18:41:12 -08:00
AutoUpgrade.h
BasicBlock.h Ensure SplitEdge to return the new block between the two given blocks 2020-12-18 17:37:17 +00:00
CallingConv.h
CFG.h
CMakeLists.txt [VE] Support vld intrinsics 2020-11-13 07:34:42 +09:00
Comdat.h
Constant.h [Constant] Add containsPoisonElement 2021-01-06 12:10:33 +09:00
ConstantFolder.h
ConstantRange.h
Constants.h [IR] Add ConstantInt::getBool helpers to wrap getTrue/getFalse. 2021-01-05 11:01:10 +00:00
ConstrainedOps.def
DataLayout.h [X86] Add x86_amx type for intel AMX. 2020-12-30 13:52:13 +08:00
DebugInfo.h
DebugInfoFlags.def
DebugInfoMetadata.h Rename debug linkage name with -funique-internal-linkage-names 2021-01-11 13:56:07 -08:00
DebugLoc.h [IR] Delete unused ReplaceLast in DebugLoc::appendInlineAt 2021-01-08 23:28:22 -08:00
DerivedTypes.h [IR] Allow scalable vectors in structs to support intrinsics returning multiple values. 2021-01-17 23:29:51 -08:00
DerivedUser.h
DiagnosticHandler.h
DiagnosticInfo.h [Support] Introduce a new InstructionCost class 2020-12-11 08:12:54 +00:00
DiagnosticPrinter.h
DIBuilder.h [DebugInfo] Support Fortran 'use <external module>' statement. 2020-12-18 13:10:57 -05:00
Dominators.h
FixedMetadataKinds.def Revert "clang-misexpect: Profile Guided Validation of Performance Annotations in LLVM" 2020-11-14 13:12:38 +03:00
FixedPointBuilder.h [Fixed Point] Add codegen for conversion between fixed-point and floating point. 2021-01-12 13:53:01 +01:00
FPEnv.h
Function.h [FunctionAttrs] Derive willreturn for fns with readonly & mustprogress`. 2021-01-12 20:02:34 +00:00
GetElementPtrTypeIterator.h
GlobalAlias.h
GlobalIFunc.h
GlobalIndirectSymbol.h
GlobalObject.h
GlobalValue.h
GlobalVariable.h Add a default address space for globals to DataLayout 2020-11-20 15:46:52 +00:00
GVMaterializer.h
InlineAsm.h
InstIterator.h
InstrTypes.h [llvm] Use llvm::append_range (NFC) 2021-01-06 18:27:33 -08:00
Instruction.def
Instruction.h [CSSPGO] IR intrinsic for pseudo-probe block instrumentation 2020-11-20 10:39:24 -08:00
Instructions.h [IR] Support scalable vectors in ShuffleVectorInst::increasesLength 2020-12-07 10:42:48 +00:00
InstVisitor.h
IntrinsicInst.h [CSSPGO] IR intrinsic for pseudo-probe block instrumentation 2020-11-20 10:39:24 -08:00
Intrinsics.h Introduce llvm.noalias.decl intrinsic 2021-01-16 09:20:45 +01:00
Intrinsics.td Introduce llvm.noalias.decl intrinsic 2021-01-16 09:20:45 +01:00
IntrinsicsAArch64.td [AArch64] Revert back to Intrinsic<> for TME instructions. 2021-01-18 18:03:58 +00:00
IntrinsicsAMDGPU.td [AMDGPU][NFC] Document high parameter of f16 interp intrinsics 2020-12-18 19:59:13 +09:00
IntrinsicsARM.td [TableGen] Continue cleaning up .td files 2021-01-01 10:21:02 -05:00
IntrinsicsBPF.td BPF: make __builtin_btf_type_id() return 64bit int 2020-11-16 07:08:41 -08:00
IntrinsicsHexagon.td
IntrinsicsHexagonDep.td
IntrinsicsMips.td
IntrinsicsNVVM.td [TableGen] Continue cleaning up .td files 2021-01-01 10:21:02 -05:00
IntrinsicsPowerPC.td [PowerPC] add has side effect for SAT bit clobber intrinsics/instructions 2020-12-20 19:48:26 -05:00
IntrinsicsRISCV.td [RISCV] Implement vlseg intrinsics. 2021-01-20 14:26:04 +08:00
IntrinsicsSystemZ.td
IntrinsicsVE.td [VE] Support intrinsic to isnert/extract_subreg of v512i1 2021-01-11 20:40:10 +09:00
IntrinsicsVEVL.gen.td [VE] Add logical mask intrinsic instructions 2020-12-15 01:34:31 +09:00
IntrinsicsWebAssembly.td [WebAssembly] Update WasmEHPrepare for the new spec 2021-01-08 23:38:26 -08:00
IntrinsicsX86.td [X86] Remove IntrArgMemOnly from ldmxcsr intrinsic. 2021-01-08 17:50:28 -08:00
IntrinsicsXCore.td
IRBuilder.h Introduce llvm.noalias.decl intrinsic 2021-01-16 09:20:45 +01:00
IRBuilderFolder.h
IRPrintingPasses.h [NewPM] Support --print-before/after in NPM 2020-12-03 16:52:14 -08:00
LegacyPassManager.h
LegacyPassManagers.h
LegacyPassNameParser.h
LLVMContext.h [Remarks][2/2] Expand remarks hotness threshold option support in more tools 2020-11-30 21:55:50 -08:00
LLVMRemarkStreamer.h [Remarks][1/2] Expand remarks hotness threshold option support in more tools 2020-11-30 21:55:49 -08:00
Mangler.h
MatrixBuilder.h
MDBuilder.h [CSSPGO] Pseudo probe encoding and emission. 2020-12-10 17:29:28 -08:00
Metadata.def
Metadata.h [llvm] Construct SmallVector with iterator ranges (NFC) 2021-01-04 11:42:44 -08:00
Module.h Refactor how -fno-semantic-interposition sets dso_local on default visibility external linkage definitions 2020-12-31 13:59:45 -08:00
ModuleSlotTracker.h
ModuleSummaryIndex.h
ModuleSummaryIndexYAML.h
NoFolder.h
OperandTraits.h
Operator.h
OptBisect.h Make NPM OptBisectInstrumentation use global singleton OptBisect 2020-12-20 13:47:56 -08:00
PassInstrumentation.h [NewPM] Don't error when there's an unrecognized pass name 2021-01-07 22:33:32 -08:00
PassManager.h [Analysis, IR, CodeGen] Use llvm::erase_if (NFC) 2020-12-20 09:19:35 -08:00
PassManagerImpl.h
PassManagerInternal.h
PassTimingInfo.h [Time-report] Add a flag -ftime-report={per-pass,per-pass-run} to control the pass timing aggregation 2020-12-08 10:13:19 -08:00
PatternMatch.h [PatternMatch][LVI] Handle select-form and/or in LVI 2020-12-27 17:39:02 +01:00
PredIteratorCache.h [llvm] Construct SmallVector with iterator ranges (NFC) 2021-01-04 11:42:44 -08:00
PrintPasses.h [NewPM] Support --print-before/after in NPM 2020-12-03 16:52:14 -08:00
ProfileSummary.h
PseudoProbe.h [CSSPGO] Consume pseudo-probe-based AutoFDO profile 2020-12-16 15:57:18 -08:00
RuntimeLibcalls.def [RISCV] Support Zfh half-precision floating-point extension. 2020-12-03 09:16:33 +08:00
SafepointIRVerifier.h
Statepoint.h
StructuralHash.h
SymbolTableListTraits.h Replace T(x) with reinterpret_cast<T>(x) everywhere it means reinterpret_cast. NFC. 2020-12-22 19:54:29 -05:00
TrackingMDRef.h
Type.h [X86] Add x86_amx type for intel AMX. 2020-12-30 13:52:13 +08:00
TypeFinder.h
Use.h
UseListOrder.h
User.h Avoid redundant inline with LLVM_ATTRIBUTE_ALWAYS_INLINE 2020-12-01 14:43:16 -08:00
Value.def Adding PoisonValue for representing poison value explicitly in IR 2020-11-25 17:33:51 -07:00
Value.h [NFC][LICM] Minor improvements to debug output 2021-01-11 18:02:49 -08:00
ValueHandle.h Fixup Asserts+!AbiBreakingChecks fallout from db33f85c7124 2021-01-07 14:18:19 -08:00
ValueMap.h
ValueSymbolTable.h
Verifier.h
VPIntrinsics.def [VP][NFC] ISD::VP_Sub -> ISD::VP_SUB 2020-12-21 11:43:07 +01:00