Commit
bb94611d6545c2c5271f5bb01de1aa4228a37250
by martin[COFF] Check table ptr more thoroughly and ignore empty sections
When loading split debug files for PE/COFF executables (produced with `objcopy --only-keep-debug`), the tables or directories in such files may point to data inside sections that may have been stripped. COFFObjectFile shall detect and gracefully handle this, to allow the object file be loaded without considering these tables or directories. This is required for LLDB to load these files for use as debug symbols.
COFFObjectFile shall also check these pointers more carefully to account for cases in which the section contains less raw data than the size given by VirtualSize, to prevent going out of bounds.
This commit also changes COFFDump in llvm-objdump to reuse the pointers that are already range-checked in COFFObjectFile. This fixes a crash when trying to dump the TLS directory from a stripped file.
Fixes https://github.com/mstorsjo/llvm-mingw/issues/284
Reviewed By: rnk
Differential Revision: https://reviews.llvm.org/D126898
|
 | llvm/include/llvm/Object/COFF.h |
 | llvm/lib/Object/COFFObjectFile.cpp |
 | llvm/test/Object/Inputs/COFF/dwarf-debug-only.yaml |
 | llvm/include/llvm/Object/Error.h |
 | llvm/lib/Object/Error.cpp |
 | llvm/test/Object/coff-dwarf-debug-only.test |
 | llvm/tools/llvm-objdump/COFFDump.cpp |
Commit
3a252806f41b04da021de26111106f1a67f501a6
by benny.kra[COFF] Fix -Wredundant-move
|
 | llvm/lib/Object/COFFObjectFile.cpp |
Commit
440285200265eca0e148cb838f83fa7cbc37c640
by craig.topper[RISCV] Reduce scalar load/store isel patterns to a single ComplexPattern. NFCI
Previously we had 3 different isel patterns for every scalar load store instruction.
This reduces them to a single ComplexPattern that returns the Base and Offset. Or an offset of 0 if there was no offset identified
I've done a similar thing for the 2 isel patterns that match add/or with FrameIndex and immediate. Using the offset of 0, I was also able to remove the custom handler for FrameIndex. Happy to split that to another patch.
We might be able to enhance in the future to remove the post-isel peephole or the special handling for ADD with constant added by D126576.
A nice side effect is that this removes nearly 3000 bytes from the isel table.
Differential Revision: https://reviews.llvm.org/D126932
|
 | llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp |
 | llvm/lib/Target/RISCV/RISCVInstrInfoA.td |
 | llvm/lib/Target/RISCV/RISCVInstrInfo.td |
 | llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h |
Commit
5904836b8a718554cef204bc9b248f051809ab6e
by spupyrev[BOLT] Cache-Aware Tail Duplication
A new "cache-aware" strategy for tail duplication.
Differential Revision: https://reviews.llvm.org/D123050
|
 | bolt/include/bolt/Passes/TailDuplication.h |
 | bolt/test/X86/tail-duplication-pass.s |
 | bolt/test/runtime/X86/tail-duplication-constant-prop.s |
 | bolt/lib/Passes/TailDuplication.cpp |
 | bolt/lib/Rewrite/BinaryPassManager.cpp |
 | bolt/test/X86/tail-duplication-cacheline.s |
 | bolt/test/X86/tail-duplication-prop-bug.s |
 | bolt/test/X86/tail-duplication-cache.s |
 | bolt/test/X86/tail-duplication-complex.s |
 | bolt/test/X86/tail-duplication-jt.s |
Commit
dd6bcdbf21716c56d3defd7f4cacddc7befd5de1
by lgrey[Attributes] Remove AttrSyntax and migrate uses to AttributeCommonInfo::Syntax (NFC)
This is setup for allowing hasAttribute to work for plugin-provided attributes
Differential Revision: https://reviews.llvm.org/D126902
|
 | clang/lib/Lex/PPMacroExpansion.cpp |
 | clang/lib/Basic/Attributes.cpp |
 | clang/lib/Parse/ParseDecl.cpp |
 | clang/utils/TableGen/ClangAttrEmitter.cpp |
 | clang/include/clang/Basic/Attributes.h |
 | clang/lib/Parse/ParseDeclCXX.cpp |
Commit
1a216dc8910fce676cf6787877a786c28cdf8c38
by ndesaulniersllvm: cmake: set CMP0114 to OLD to avoid warning
Building with cmake 3.23.2+ produces warnings when using LLVM_ENABLE_RUNTIMES. Set this policy to the existing behavior for now to silence the warnings.
Fixes: https://github.com/llvm/llvm-project/issues/50122 Fixes: https://github.com/llvm/llvm-project/issues/54944
Reviewed By: phosek, penzn
Differential Revision: https://reviews.llvm.org/D126923
|
 | llvm/CMakeLists.txt |
Commit
1a729bce86173c9019545599c8a0771d0419ce9e
by kda[MSAN] add dn_expand intercept.
This interceptor only addresses writes to inputs. Reads of inputs are not checked.
Reviewed By: vitalybuka
Differential Revision: https://reviews.llvm.org/D126851
|
 | compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h |
 | compiler-rt/test/msan/Linux/dn_expand.cpp |
 | compiler-rt/test/sanitizer_common/TestCases/Linux/dn_expand.cpp |
 | compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc |
Commit
7e48dae5a1805303b0d546e3d060c7096a75d718
by fmayer[LLVM] [NFC] remove unnecessary, confusing scope
Reviewed By: dmgreen
Differential Revision: https://reviews.llvm.org/D126935
|
 | llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp |
Commit
95aff23e29214543360d893f9a61df0ebd1b65d2
by Krzysztof.DrewniakRe-land "[mlir] Add integer range inference analysis""
This reverts commit 4e5ce2056e3e85f109a074e80bdd23a10ca2bed9.
This relands commit 1350c9887dca5ba80af8e3c1e61b29d6696eb240.
Reinstates the range analysis with the build issue fixed.
Differential Revision: https://reviews.llvm.org/D126926
|
 | mlir/test/lib/Transforms/TestIntRangeInference.cpp |
 | mlir/include/mlir/Interfaces/InferIntRangeInterface.td |
 | mlir/tools/mlir-opt/mlir-opt.cpp |
 | mlir/test/lib/Dialect/Test/TestDialect.cpp |
 | mlir/lib/Interfaces/CMakeLists.txt |
 | mlir/test/lib/Dialect/Test/TestOps.td |
 | mlir/test/lib/Dialect/Test/CMakeLists.txt |
 | mlir/lib/Analysis/IntRangeAnalysis.cpp |
 | mlir/test/lib/Dialect/Test/TestDialect.h |
 | mlir/test/lib/Transforms/CMakeLists.txt |
 | mlir/lib/Analysis/DataFlowAnalysis.cpp |
 | mlir/include/mlir/Interfaces/CMakeLists.txt |
 | mlir/include/mlir/Analysis/IntRangeAnalysis.h |
 | mlir/unittests/Interfaces/CMakeLists.txt |
 | mlir/include/mlir/Interfaces/InferIntRangeInterface.h |
 | mlir/lib/Interfaces/InferIntRangeInterface.cpp |
 | mlir/test/Interfaces/InferIntRangeInterface/infer-int-range-test-ops.mlir |
 | mlir/unittests/Interfaces/InferIntRangeInterfaceTest.cpp |
 | mlir/lib/Analysis/CMakeLists.txt |
Commit
0a832ba5c2ef01e91e4e79b2681b95b7dab18ead
by rnk[config] Remove LLVM_DEFAULT_TARGET_TRILE from config.h
It is redundant with llvm-config.h, which is always included by config.h.
Port D12660 / d178f4fc895b432008fcd8a0a49a13d951fecfe4 from config.h to llvm-config.h.
Update the gn build accordingly.
NFCI
|
 | llvm/include/llvm/Config/llvm-config.h.cmake |
 | llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn |
 | llvm/include/llvm/Config/config.h.cmake |
Commit
170c550ca8e3c4174db4c8332257376bdc869a1c
by craig.topper[RISCV] Use SelectionDAG::isBaseWithConstantOffset in scalar load/store address matching.
Test changes are because isBaseWithConstantOffset uses computeKnownBits and that is able to see that an earlier AND instruction guaranteed alignment so that we can treat an OR as an ADD.
Reviewed By: reames
Differential Revision: https://reviews.llvm.org/D126970
|
 | llvm/test/CodeGen/RISCV/vararg.ll |
 | llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp |
Commit
436fef21efe35833622c71da705a9a50db246294
by python3kgae[NFC] Fix issue on CMake Xcode build configuration.
add missing dependency for hlsl-resource-headers and clang-resource-headers.
Reviewed By: rastogishubham
Differential Revision: https://reviews.llvm.org/D126892
|
 | clang/lib/Headers/CMakeLists.txt |
Commit
21f2ac9a2f9586e704930182e43c3034d9ecf4af
by kda[MSAN] Exclude dn_expand test from Android.
Depends on 1a729bce8617
Differential Revision: https://reviews.llvm.org/D126981
|
 | compiler-rt/test/sanitizer_common/TestCases/Linux/dn_expand.cpp |
Commit
ef8e91826126a23e59a0241e1e3a1eba82db0202
by nikolasklauser[libc++] Forward more often to memmove in copy
In D122982 I accidentally disabled the memmove optimization. This re-enables it and adds more cases where copy forwards to memmove. Fixes https://github.com/llvm/llvm-project/issues/33687
Reviewed By: var-const, #libc, ldionne
Spies: pkasting, ayzhao, dcheng, xbolva00, libcxx-commits
Differential Revision: https://reviews.llvm.org/D124328
|
 | libcxx/test/libcxx/algorithms/alg.modifying.operations/copy.pass.cpp |
 | libcxx/test/std/strings/basic.string/string.modifiers/string_replace/iter_iter_string_view.pass.cpp |
 | libcxx/include/__algorithm/copy.h |
 | libcxx/test/std/strings/basic.string/string.modifiers/string_replace/iter_iter_pointer.pass.cpp |
 | libcxx/include/__iterator/iterator_traits.h |
Commit
8cc8b36f24d6f3133c44e238a657309620eedc19
by jinghamCommandObjectRegexCommand shouldn't put two commands on the history stack.
It was putting the command the user typed, and then the resolved command in the command history. That caused up-arrow not to work correctly when the regex command was invoked from a Python-command. Plus it's just weird.
Differential Revision: https://reviews.llvm.org/D126789
|
 | lldb/test/API/functionalities/history/TestHistoryRecall.py |
 | lldb/source/Commands/CommandObjectRegexCommand.cpp |
Commit
dc63ad8878de6d0b5dc1268691f48035e9234763
by sam.mccall[pseudo] Eliminate dependencies from clang-pseudo-gen. NFC
ClangBasic dependency eliminated by replacing our usage of tok::getPunctuatorSpelling etc with direct use of the *.def file.
Implicit dependencies on clang-tablegen-targets removed as we manage to avoid any transitive tablegen deps.
After these changes, `ninja clean; ninja pseudo-gen` runs 169 actions only (basically Support and Demangle).
Differential Revision: https://reviews.llvm.org/D126731
|
 | clang-tools-extra/pseudo/lib/grammar/CMakeLists.txt |
 | clang-tools-extra/pseudo/gen/CMakeLists.txt |
 | clang-tools-extra/pseudo/lib/grammar/Grammar.cpp |
Commit
389c0b81d3bea7f6dddbe2ac6f07dd862f472e16
by benny.kra[bazel] Port 95aff23e2921
|
 | utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel |
 | utils/bazel/llvm-project-overlay/mlir/unittests/BUILD.bazel |
 | utils/bazel/llvm-project-overlay/mlir/BUILD.bazel |
Commit
87099a0438ade5cf0df1dda21183628ee3b49395
by sbc[lld][WebAssembly] Remove unnecessary accessor methods. NFC
This is less code, and matches more closely the ELF linker.
Differential Revision: https://reviews.llvm.org/D126979
|
 | lld/wasm/InputChunks.cpp |
 | lld/wasm/SyntheticSections.cpp |
 | lld/wasm/InputChunks.h |
 | lld/wasm/Writer.cpp |
 | lld/wasm/OutputSegment.cpp |
Commit
a43fef05d4fae32f02365c7b8fef2aa631d23628
by sam.mccall[pseudo] rename pseudo-gen -> clang-pseudo-gen. NFC
This name is not namespaced. Requested in D126717
Differential Revision: https://reviews.llvm.org/D126725
|
 | clang-tools-extra/pseudo/gen/CMakeLists.txt |
 | llvm/utils/gn/secondary/clang-tools-extra/pseudo/gen/BUILD.gn |
 | clang-tools-extra/pseudo/include/CMakeLists.txt |
Commit
830d158d2b7d2fa45f39fe12aa0b2ffc70c7e771
by sam.mccall[pseudo] Add CLANG_PSEUDO_GEN cmake cache variable to avoid nested CMake invocation
Similar to LLVM_TABLEGEN, CLANG_TABLEGEN variables
Differential Revision: https://reviews.llvm.org/D126717
|
 | clang-tools-extra/pseudo/include/CMakeLists.txt |
Commit
6adfc64e709cc8b7b7a06b0e9afc60f6903f3cab
by yitzhakm[clang][dataflow] Modify `optional` model to handle type aliases.
Previously, type aliases were not handled (and resulted in an assertion firing). This patch generalizes the model to consider aliases everywhere (a previous patch already considered aliases for optional-returning functions).
Differential Revision: https://reviews.llvm.org/D126972
|
 | clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp |
 | clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp |
Commit
210c851327077f38e6a0bf7162b75ab2cb05ec02
by flo[Matrix] Add dot product tests
LLVM LIT tests for our upcoming dot product lowering change
Reviewed By: fhahn
Differential Revision: https://reviews.llvm.org/D126942
|
 | llvm/test/Transforms/LowerMatrixIntrinsics/dot-product.ll |
Commit
f58fe2e1865d631b228d0bc78ebd4d95f752c51b
by jonathan.l.peyton[OpenMP] allow loc to be NULL in __kmp_determine_reduction_method for MSVC
MSVC may not supply source location information to kmpc_reduce passing NULL for the value. The patch adds a check for the loc value being NULL in kmp_determine_reduction_method.
Differential Revision: https://reviews.llvm.org/D126564
|
 | openmp/runtime/src/kmp_runtime.cpp |
Commit
93cb6b9c83f18f7fbf4d16dd9a8b1f33596b68ef
by echristoRevert "[X86] combineConcatVectorOps - add support for concatenation VSELECT/BLENDV nodes"
See the original commit for a testcase.
This reverts commit ea8fb3b6019642a3a032fd65588eb8460439d2f9.
|
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
 | llvm/test/CodeGen/X86/vec_minmax_uint.ll |
 | llvm/test/CodeGen/X86/vselect-minmax.ll |
 | llvm/test/CodeGen/X86/vec_minmax_sint.ll |
Commit
bd52506d24275733002da6f91c3715cde63fe2c0
by martin[ARM] Make narrow push/pop in SEH prologues/epilogues where applicable
We intentionally disable Thumb2SizeReduction for SEH prologues/epilogues, to avoid needing to guess what will happen with the instructions in a potential future pass in frame lowering.
But for this specific case, where we know we can express the intent with a narrow instruction, change to that instruction form directly in frame lowering.
Differential Revision: https://reviews.llvm.org/D126948
|
 | llvm/lib/Target/ARM/ARMFrameLowering.cpp |
 | llvm/test/DebugInfo/COFF/ARMNT/arm-register-variables.ll |
 | llvm/test/CodeGen/ARM/Windows/wineh-opcodes.ll |
Commit
485432f3c85a240e3fca23aad59ca44193c7113a
by martin[ARM] Make a narrow tMOVi8 where possible in SEH prologues
We intentionally disable Thumb2SizeReduction for SEH prologues/epilogues, to avoid needing to guess what will happen with the instructions in a potential future pass in frame lowering.
But for this specific case, where we know we can express the intent with a narrow instruction, change to that instruction form directly in frame lowering.
Differential Revision: https://reviews.llvm.org/D126949
|
 | llvm/lib/Target/ARM/ARMFrameLowering.cpp |
 | llvm/test/CodeGen/ARM/Windows/wineh-opcodes.ll |
Commit
82de9bb66bc6011d6281939d921b07957967b7c7
by vyng[lld-macho] Addressed additional post-commit comments from D126046
- fixed newlines - renamed helper function for clarity - added additional comment
Differential Revision: https://reviews.llvm.org/D126792
|
 | lld/MachO/SyntheticSections.cpp |
 | lld/MachO/Driver.cpp |
Commit
4fc502368ad002e5b8deff87288eb0627f3e6bec
by joeloser93[libc++][test] Skip string_view tests for other vendors on older modes
`string_view` is supported all the way back to C++03 as an extension in `libc++`, and so many of the tests run in all standards modes for all vendors. This is unlikely desired by other standard library vendors using our test suite. So, disable the tests for vendors other than `libc++` in these older standards modes.
Differential Revision: https://reviews.llvm.org/D126850
|
 | libcxx/test/std/strings/string.view/string.view.hash/enabled_hashes.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.access/front.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.find/rfind_pointer_size_size.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.access/data.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.access/back.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.find/find_char_size.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.find/find_last_not_of_pointer_size_size.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.capacity/capacity.pass.cpp |
 | libcxx/test/std/strings/string.view/traits_mismatch.compile.fail.cpp |
 | libcxx/test/std/strings/string.view/string.view.find/find_first_not_of_string_view_size.pass.cpp |
 | libcxx/test/std/strings/string.view/string_view.literals/literal.verify.cpp |
 | libcxx/test/std/strings/string.view/types.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.find/find_last_not_of_string_view_size.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.find/find_first_not_of_char_size.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.find/rfind_char_size.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.find/rfind_string_view_size.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.cons/from_string1.compile.fail.cpp |
 | libcxx/test/std/strings/string.view/string.view.find/find_first_of_string_view_size.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.ops/substr.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.cons/from_string2.compile.fail.cpp |
 | libcxx/test/std/strings/string.view/string.view.find/find_last_of_pointer_size_size.pass.cpp |
 | libcxx/test/std/strings/string.view/string_view.literals/literal.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.ops/compare.size_size_sv_size_size.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.ops/copy.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.ops/compare.size_size_sv.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.find/find_last_of_pointer_size.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.find/find_last_not_of_pointer_size.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.io/stream_insert_decl_present.compile.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.ops/compare.sv.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.comparison/less_equal.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.find/find_last_of_string_view_size.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.comparison/greater.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.ops/compare.pointer.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.find/find_first_of_char_size.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.cons/from_string.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.find/find_last_not_of_char_size.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.hash/char_type.hash.fail.cpp |
 | libcxx/test/std/strings/string.view/string.view.io/stream_insert.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.cons/from_ptr_len.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.find/find_pointer_size.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.access/index.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.find/find_pointer_size_size.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.comparison/equal.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.hash/string_view.pass.cpp |
 | libcxx/test/std/strings/string.view/trivially_copyable.compile.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.cons/assign.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.find/find_first_of_pointer_size.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.nonmem/quoted.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.cons/from_literal.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.comparison/not_equal.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.modifiers/remove_suffix.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.iterators/begin.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.iterators/rend.pass.cpp |
 | libcxx/test/std/strings/string.view/char.bad.fail.cpp |
 | libcxx/test/std/strings/string.view/string.view.ops/compare.pointer_size.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.find/find_last_of_char_size.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.comparison/less.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.find/find_string_view_size.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.iterators/end.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.modifiers/swap.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.comparison/greater_equal.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.find/find_first_not_of_pointer_size_size.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.modifiers/remove_prefix.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.ops/compare.size_size_sv_pointer_size.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.find/find_first_not_of_pointer_size.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.find/find_first_of_pointer_size_size.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.cons/default.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.find/rfind_pointer_size.pass.cpp |
 | libcxx/test/std/strings/string.view/string.view.iterators/rbegin.pass.cpp |
Commit
484319f4972850d6e9bb3d433042cb56806ba183
by lntue[libc] Make expm1f correctly rounded when the targets have no FMA instructions.
Add another exceptional value and fix the case when |x| is small.
Performance tests with CORE-MATH project scripts: With FMA instructions on Ryzen 1700: ``` $ ./perf.sh expm1f LIBC-location: /home/lnt/experiment/llvm/llvm-project/build/projects/libc/lib/libllvmlibc.a CORE-MATH reciprocal throughput : 15.362 System LIBC reciprocal throughput : 53.194 LIBC reciprocal throughput : 14.595 $ ./perf.sh expm1f --latency LIBC-location: /home/lnt/experiment/llvm/llvm-project/build/projects/libc/lib/libllvmlibc.a CORE-MATH latency : 57.755 System LIBC latency : 147.020 LIBC latency : 60.269 ``` Without FMA instructions: ``` $ ./perf.sh expm1f LIBC-location: /home/lnt/experiment/llvm/llvm-project/build/projects/libc/lib/libllvmlibc.a CORE-MATH reciprocal throughput : 15.362 System LIBC reciprocal throughput : 53.300 LIBC reciprocal throughput : 18.020 $ ./perf.sh expm1f --latency LIBC-location: /home/lnt/experiment/llvm/llvm-project/build/projects/libc/lib/libllvmlibc.a CORE-MATH latency : 57.758 System LIBC latency : 147.025 LIBC latency : 70.304 ```
Reviewed By: michaelrj
Differential Revision: https://reviews.llvm.org/D123440
|
 | libc/test/src/math/expm1f_test.cpp |
 | libc/test/src/math/CMakeLists.txt |
 | libc/test/src/math/exhaustive/CMakeLists.txt |
 | libc/src/math/generic/expm1f.cpp |
 | libc/test/src/math/exhaustive/expm1f_test.cpp |
Commit
d82b4fe50d712ff0f018dfaeeaad2a6a65de655d
by rnk[bazel] Update build for config.h.cmake change
|
 | utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/config.h |
 | utils/bazel/llvm_configs/config.h.cmake |
 | utils/bazel/llvm_configs/llvm-config.h.cmake |
Commit
8da5d5dbdc0872d3cdbeb5ff42c94775a98c71bc
by craig.topper[RISCV] Pre-commit test cases for D126986. NFC
|
 | llvm/test/CodeGen/RISCV/fold-addi-loadstore.ll |