llvm-project/llvm/lib/IR
Phoebe Wang bc1819389f [X86][RFC] Using `__bf16` for AVX512_BF16 intrinsics
This is an alternative of D120395 and D120411.

Previously we use `__bfloat16` as a typedef of `unsigned short`. The
name may give user an impression it is a brand new type to represent
BF16. So that they may use it in arithmetic operations and we don't have
a good way to block it.

To solve the problem, we introduced `__bf16` to X86 psABI and landed the
support in Clang by D130964. Now we can solve the problem by switching
intrinsics to the new type.

Reviewed By: LuoYuanke, RKSimon

Differential Revision: https://reviews.llvm.org/D132329
2022-10-19 23:47:04 +08:00
..
AbstractCallSite.cpp Cleanup includes: DebugInfo & CodeGen 2022-03-12 17:26:40 +01:00
AsmWriter.cpp [IR] Rename FuncletPadInst::getNumArgOperands to arg_size (NFC) 2022-10-17 10:15:10 -07:00
Assumptions.cpp [Attributor][OpenMP] Add assumption for non-call assembly instructions 2022-03-28 20:57:52 -05:00
AttributeImpl.h [Attributes] Return Optional from getAllocSizeArgs() (NFC) 2022-10-11 11:05:21 +02:00
Attributes.cpp [Attributes] Return Optional from getAllocSizeArgs() (NFC) 2022-10-11 11:05:21 +02:00
AutoUpgrade.cpp [X86][RFC] Using `__bf16` for AVX512_BF16 intrinsics 2022-10-19 23:47:04 +08:00
BasicBlock.cpp Add helper func to get first non-alloca position 2022-09-09 15:39:53 +02:00
BuiltinGCs.cpp [llvm] Fix comment typos (NFC) 2022-08-07 00:16:14 -07:00
CMakeLists.txt [IR] Move support for dxil::TypedPointerType to LLVM core IR. 2022-08-04 10:41:11 -04:00
Comdat.cpp Cleanup header dependencies in LLVMCore 2022-02-02 06:54:20 +01:00
ConstantFold.cpp [ConstantFold] Avoid unary ConstantExpr::get() 2022-09-07 12:00:26 +02:00
ConstantRange.cpp [ConstantRange] Fix sdiv() with one bit values (PR56333) 2022-07-01 15:44:59 +02:00
Constants.cpp [IR][InstCombine] Support scalable vector splats ConstantExprs in Constant::getUniqueInteger(). 2022-09-26 14:55:15 -07:00
ConstantsContext.h [ConstantExpr] Remove fneg expression 2022-09-08 10:24:55 +02:00
Core.cpp [IR] Rename FuncletPadInst::getNumArgOperands to arg_size (NFC) 2022-10-17 10:15:10 -07:00
DIBuilder.cpp [clang][DebugInfo] Emit access specifiers for typedefs 2022-09-22 17:08:41 +00:00
DataLayout.cpp Cleanup header dependencies in LLVMCore 2022-02-02 06:54:20 +01:00
DebugInfo.cpp [DebugInfo][LICM] Drop DebugLoc from IntrinsicInst when hoisting 2022-09-30 09:12:35 +00:00
DebugInfoMetadata.cpp [NFC] Remove unused set construction from DILocation::getMergedLocation 2022-09-22 07:00:02 +00:00
DebugLoc.cpp Cleanup header dependencies in LLVMCore 2022-02-02 06:54:20 +01:00
DiagnosticHandler.cpp Remove unneeded cl::ZeroOrMore for cl::opt/cl::list options 2022-06-05 01:07:51 -07:00
DiagnosticInfo.cpp [misexpect] Re-implement MisExpect Diagnostics 2022-04-19 21:23:48 +00:00
DiagnosticPrinter.cpp
Dominators.cpp Cleanup includes: DebugInfo & CodeGen 2022-03-12 17:26:40 +01:00
FPEnv.cpp Remove redundant initialization of Optional (NFC) 2022-08-20 21:18:28 -07:00
Function.cpp [llvm] Qualify auto in range-based for loops (NFC) 2022-08-28 23:29:00 -07:00
GCStrategy.cpp [IR] Fixed ambiguous call to llvm::report_fatal_error 2022-07-23 16:28:18 +02:00
GVMaterializer.cpp [llvm] Use = default (NFC) 2022-02-06 22:18:35 -08:00
Globals.cpp [Globals] Treat nobuiltin fns as maybe-derefined. 2022-08-23 13:45:10 +01:00
IRBuilder.cpp [IRBuilder] Use PoisonValue in CreateMasked* 2022-09-19 11:01:41 -07:00
IRPrintingPasses.cpp
InlineAsm.cpp [InlineAsm][bugfix] Correct function addressing in inline asm 2022-10-14 09:47:26 +08:00
Instruction.cpp [IR] Add Instruction::getInsertionPointAfterDef() 2022-08-31 10:50:10 +02:00
Instructions.cpp [IR] Handle assume intrinsics in hasClobberingOperandBundle() 2022-09-23 10:26:58 +02:00
IntrinsicInst.cpp [WinEH] Apply funclet operand bundles to nounwind intrinsics that lower to function calls in the course of IR transforms 2022-07-26 17:52:43 +02:00
LLVMContext.cpp KCFI sanitizer 2022-08-24 22:41:38 +00:00
LLVMContextImpl.cpp [llvm] Use value instead of getValue (NFC) 2022-07-13 23:11:56 -07:00
LLVMContextImpl.h [clang][llvm][NFC] Change misexpect's tolerance option to be 32-bit 2022-08-17 14:38:53 +00:00
LLVMRemarkStreamer.cpp Cleanup header dependencies in LLVMCore 2022-02-02 06:54:20 +01:00
LegacyPassManager.cpp [LegacyPassManager] Move structural hashing into Pass classes. NFC. 2022-03-17 09:51:12 +00:00
MDBuilder.cpp [Metadata] Introduce MD_pcsections 2022-09-06 15:52:44 +02:00
Mangler.cpp [COFF] Emit embedded -exclude-symbols: directives for hidden visibility for MinGW 2022-08-11 12:00:08 +03:00
Metadata.cpp [llvm] Qualify auto in range-based for loops (NFC) 2022-08-28 23:29:00 -07:00
MetadataImpl.h
Module.cpp [IR] Use Min behavior for module flag "PIC Level" 2022-08-18 16:28:55 -07:00
ModuleSummaryIndex.cpp [WPD] Use new llvm.public.type.test intrinsic for potentially publicly visible classes 2022-07-26 08:01:08 -07:00
Operator.cpp Cleanup header dependencies in LLVMCore 2022-02-02 06:54:20 +01:00
OptBisect.cpp ManagedStatic: remove many straightforward uses in llvm 2022-07-10 10:29:15 +02:00
Pass.cpp [LegacyPassManager] Move structural hashing into Pass classes. NFC. 2022-03-17 09:51:12 +00:00
PassInstrumentation.cpp
PassManager.cpp [Clang] Reimplement time tracing of NewPassManager by PassInstrumentation framework 2022-09-11 05:42:55 -07:00
PassRegistry.cpp ManagedStatic: remove many straightforward uses in llvm 2022-07-10 10:29:15 +02:00
PassTimingInfo.cpp [PassTimingInfo] Stop double (or worse) counting passes/analyses 2022-10-13 09:12:12 -07:00
PrintPasses.cpp [NewPM] Switch -filter-passes from ClassName to pass-name 2022-09-07 22:02:26 -07:00
ProfDataUtils.cpp [llvm][ir][NFC] Clean up "if after return" in ProfDataUtils.cpp 2022-08-26 20:27:39 +00:00
ProfileSummary.cpp Cleanup header dependencies in LLVMCore 2022-02-02 06:54:20 +01:00
PseudoProbe.cpp Cleanup header dependencies in LLVMCore 2022-02-02 06:54:20 +01:00
ReplaceConstant.cpp [NFC] Remove unnecessary "#include"s from header files 2022-02-23 01:20:48 -08:00
SSAContext.cpp Cleanup header dependencies in LLVMCore 2022-02-02 06:54:20 +01:00
SafepointIRVerifier.cpp freeze does not change the constant property 2022-06-14 19:53:26 +03:00
Statepoint.cpp Cleanup header dependencies in LLVMCore 2022-02-02 06:54:20 +01:00
StructuralHash.cpp
SymbolTableListTraitsImpl.h
Type.cpp Cleanup header dependencies in LLVMCore 2022-02-02 06:54:20 +01:00
TypeFinder.cpp [IR] Support ifuncs in opaque pointer mode 2022-01-27 13:01:33 +01:00
TypedPointerType.cpp [IR] Move support for dxil::TypedPointerType to LLVM core IR. 2022-08-04 10:41:11 -04:00
Use.cpp [IR] Remove unused forward declarations (NFC) 2022-04-03 12:54:54 -07:00
User.cpp [IR] Report whether replaceUsesOfWith() changed something (NFC) 2022-05-18 11:46:28 +02:00
Value.cpp [llvm] LLVM_FALLTHROUGH => [[fallthrough]]. NFC 2022-08-08 11:24:15 -07:00
ValueSymbolTable.cpp
VectorBuilder.cpp [llvm] Don't use Optional::hasValue (NFC) 2022-06-25 21:42:52 -07:00
Verifier.cpp [Verifier] Allow undef/poison token argument to llvm.experimental.gc.result 2022-10-19 20:51:21 +07:00