1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 11:42:57 +01:00
llvm-mirror/lib/IR
Sander de Smalen e1e23467af Change semantics of fadd/fmul vector reductions.
This patch changes how LLVM handles the accumulator/start value
in the reduction, by never ignoring it regardless of the presence of
fast-math flags on callsites. This change introduces the following
new intrinsics to replace the existing ones:

  llvm.experimental.vector.reduce.fadd -> llvm.experimental.vector.reduce.v2.fadd
  llvm.experimental.vector.reduce.fmul -> llvm.experimental.vector.reduce.v2.fmul

and adds functionality to auto-upgrade existing LLVM IR and bitcode.

Reviewers: RKSimon, greened, dmgreen, nikic, simoll, aemerson

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D60261

llvm-svn: 363035
2019-06-11 08:22:10 +00:00
..
AbstractCallSite.cpp
AsmWriter.cpp Revert r361953 "[SVE][IR] Scalable Vector IR Type" 2019-06-09 19:27:50 +00:00
AttributeImpl.h Reapply: IR: add optional type to 'byval' function parameters 2019-05-30 18:48:23 +00:00
Attributes.cpp Reapply: IR: add optional type to 'byval' function parameters 2019-05-30 18:48:23 +00:00
AttributesCompatFunc.td
AutoUpgrade.cpp Change semantics of fadd/fmul vector reductions. 2019-06-11 08:22:10 +00:00
BasicBlock.cpp [NFC] BasicBlock: generalize replaceSuccessorsPhiUsesWith(), take Old bb 2019-05-05 18:59:45 +00:00
CMakeLists.txt
Comdat.cpp
ConstantFold.cpp Add FNeg IR constant folding support 2019-05-05 16:07:09 +00:00
ConstantFold.h Add FNeg IR constant folding support 2019-05-05 16:07:09 +00:00
ConstantRange.cpp [ConstantRange] Add sdiv() support 2019-06-03 18:19:54 +00:00
Constants.cpp [Constants] Simplify type checking switch in ConstantExpr::get. 2019-05-05 17:19:16 +00:00
ConstantsContext.h
Core.cpp [LLVM-C] Deprecate the LLVMValueRef-returning metadata creation functions 2019-04-24 17:05:08 +00:00
DataLayout.cpp
DebugInfo.cpp [DebugInfo] Delete TypedDINodeRef 2019-05-07 02:06:37 +00:00
DebugInfoMetadata.cpp [DebugInfoMetadata] Refactor DIExpression::prepend constants (NFC) 2019-05-20 10:35:57 +00:00
DebugLoc.cpp
DiagnosticHandler.cpp
DiagnosticInfo.cpp [Remarks][NFC] Move the serialization to lib/Remarks 2019-05-30 21:45:59 +00:00
DiagnosticPrinter.cpp
DIBuilder.cpp [DebugInfo] Delete TypedDINodeRef 2019-05-07 02:06:37 +00:00
Dominators.cpp
Function.cpp IR: make getParamByValType Just Work. NFC. 2019-06-05 20:37:47 +00:00
Globals.cpp Add IR support, ELF section and user documentation for partitioning feature. 2019-05-29 03:29:01 +00:00
GVMaterializer.cpp
InlineAsm.cpp
Instruction.cpp [NFC] Instruction: introduce replaceSuccessorWith() function, use it 2019-05-05 18:59:22 +00:00
Instructions.cpp Silenced a warning "implicit conversion turns string literal into bool" introduced in r362473 2019-06-04 09:31:07 +00:00
IntrinsicInst.cpp [IR] Add SaturatingInst and BinaryOpIntrinsic classes 2019-05-28 18:08:06 +00:00
IRBuilder.cpp Change semantics of fadd/fmul vector reductions. 2019-06-11 08:22:10 +00:00
IRPrintingPasses.cpp
LegacyPassManager.cpp
LLVMBuild.txt [Remarks] Add string deduplication using a string table 2019-04-24 00:06:24 +00:00
LLVMContext.cpp
LLVMContextImpl.cpp
LLVMContextImpl.h Revert r361953 "[SVE][IR] Scalable Vector IR Type" 2019-06-09 19:27:50 +00:00
Mangler.cpp
MDBuilder.cpp
Metadata.cpp
MetadataImpl.h
Module.cpp
ModuleSummaryIndex.cpp [ThinLTO] Auto-hide prevailing linkonce_odr only when all copies eligible 2019-05-10 20:08:24 +00:00
Operator.cpp
OptBisect.cpp
Pass.cpp
PassInstrumentation.cpp
PassManager.cpp
PassRegistry.cpp
PassTimingInfo.cpp
ProfileSummary.cpp
RemarkStreamer.cpp [Remarks][NFC] Move the serialization to lib/Remarks 2019-05-30 21:45:59 +00:00
SafepointIRVerifier.cpp
Statepoint.cpp
SymbolTableListTraitsImpl.h
Type.cpp Revert r361953 "[SVE][IR] Scalable Vector IR Type" 2019-06-09 19:27:50 +00:00
TypeFinder.cpp
Use.cpp
User.cpp
Value.cpp Introduce Value::stripPointerCastsSameRepresentation 2019-06-04 20:21:46 +00:00
ValueSymbolTable.cpp
Verifier.cpp Revert r361953 "[SVE][IR] Scalable Vector IR Type" 2019-06-09 19:27:50 +00:00