llvm-project/llvm/lib
Simon Pilgrim ff307c8120 [X86] combineFneg - generalize FMA negations with isNegatibleForFree/getNegatedExpression
This has a really interesting side effect in that it improves some UMAX/UMIN reduction code which had redundant XOR(SHUFFLE(XOR(X,SIGNMASK)),SIGNMASK) patterns - the getNegatibleCost recognises it as FNEG(SHUFFLE(FNEG(X))).... We have a lot of FNEG patterns bitcasted to the integer domain for XOR signbit twiddling which is similar to what we do to allow UMAX/UMIN to be lowered using SMAX/SMIN.

Differential Revision: https://reviews.llvm.org/D74231
2020-02-12 16:07:27 +00:00
..
Analysis [ConstantFolding] Fold calls to FP remainder function 2020-02-12 13:21:18 +02:00
AsmParser Restore "[WPD/LowerTypeTests] Delay lowering/removal of type tests until after ICP" 2020-02-11 10:48:05 -08:00
BinaryFormat DWARFDebugLine.cpp: Format unknown line number standard opcodes 2020-01-15 10:45:50 -05:00
Bitcode Revert "Remove redundant "std::move"s in return statements" 2020-02-10 07:07:40 -08:00
Bitstream Revert "Remove redundant "std::move"s in return statements" 2020-02-10 07:07:40 -08:00
CodeGen [TargetLowering] Add NegatibleCost enum for isNegatibleForFree return codes 2020-02-12 11:51:42 +00:00
DWARFLinker [dsymutil] Delete unneeded parameter Triple from DWARFLinker 2020-02-07 11:33:27 -08:00
DebugInfo Add missing newlines at EOF; NFC 2020-02-12 15:57:25 +00:00
Demangle Use std::foo_t rather than std::foo in LLVM. 2020-02-11 15:12:51 -08:00
ExecutionEngine [ORC] Fix symbol dependence propagation algorithm in ObjectLinkingLayer. 2020-02-11 12:56:41 -08:00
Frontend Revert "[OpenMP] Fix unused variable" 2020-02-10 16:34:59 +01:00
FuzzMutate Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
Fuzzer
IR Add missing newlines at EOF; NFC 2020-02-12 15:57:25 +00:00
IRReader [cmake] Explicitly mark libraries defined in lib/ as "Component Libraries" 2019-11-21 10:48:08 -08:00
LTO Revert "Remove redundant "std::move"s in return statements" 2020-02-10 07:07:40 -08:00
LineEditor Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
Linker IR Linking: Support merging Warning+Max module metadata flags 2020-02-07 16:29:58 -08:00
MC [MachO] Pad section data to pointer size bytes 2020-02-11 14:52:21 -08:00
MCA Revert "Remove redundant "std::move"s in return statements" 2020-02-10 07:07:40 -08:00
Object Revert "Remove redundant "std::move"s in return statements" 2020-02-10 07:07:40 -08:00
ObjectYAML Revert "Remove redundant "std::move"s in return statements" 2020-02-10 07:07:40 -08:00
Option Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
Passes Restore "[WPD/LowerTypeTests] Delay lowering/removal of type tests until after ICP" 2020-02-11 10:48:05 -08:00
ProfileData Revert "Remove redundant "std::move"s in return statements" 2020-02-10 07:07:40 -08:00
Remarks Revert "Remove redundant "std::move"s in return statements" 2020-02-10 07:07:40 -08:00
Support [APFloat] Fix FP remainder operation 2020-02-12 10:42:55 +02:00
TableGen [llvm][TableGen] Define FieldInit::isConcrete overload 2020-02-10 18:04:58 -08:00
Target [X86] combineFneg - generalize FMA negations with isNegatibleForFree/getNegatedExpression 2020-02-12 16:07:27 +00:00
Testing
TextAPI [llvm][TextAPI] add simulators to output 2020-02-11 10:37:37 -08:00
ToolDrivers [llvm] Replace SmallStr.str().str() with std::string conversion operator. 2020-01-29 21:16:46 -08:00
Transforms Add missing newlines at EOF; NFC 2020-02-12 15:57:25 +00:00
WindowsManifest Revert "Temporarily revert "build: avoid hardcoding the libxml2 library name"" 2019-12-03 09:27:14 -08:00
XRay Use std::foo_t rather than std::foo in LLVM. 2020-02-11 15:12:51 -08:00
CMakeLists.txt [Dsymutil][Debuginfo][NFC] Reland: Refactor dsymutil to separate DWARF optimizing part. #2. 2020-01-08 14:15:31 +03:00
LLVMBuild.txt [Dsymutil][Debuginfo][NFC] Reland: Refactor dsymutil to separate DWARF optimizing part. #2. 2020-01-08 14:15:31 +03:00