Commit
d4a1db4f3fd7ce701454127465dd0ddbdb7face2
by llvm-project[flang][msvc] Workaround 'forgotten' symbols in FoldOperation. NFC.
This resolves an issue where the Microsoft compiler 'forgets' symbols when using constexpr in a lambda in a templated function. The symbols are:
1. The implicit lambda captures `context` and `convert`. Fix by making them explicit captures. The error message was: ``` fold-implementation.h(1220): error C2065: 'convert': undeclared identifier ```
2. The function template argument FROMCAT. Fix by storing it in a temporary constexpr variable inside the function. The error message was: ``` fold-implementation.h(1216): error C2065: 'FROMCAT': undeclared identifier ```
This patch is part of the series to make flang compilable with MS Visual Studio <http://lists.llvm.org/pipermail/flang-dev/2020-July/000448.html>.
Reviewed By: klausler
Differential Revision: https://reviews.llvm.org/D88504
|
 | flang/lib/Evaluate/fold-implementation.h |
Commit
12bdd427b33a75bd7abb5d4cb095d0b983328034
by craig.topper[APFloat] Improve asserts in isSignificandAllOnes and isSignificandAllZeros so they protect shift operations from undefined behavior.
For example, the assert in isSignificandAllZeros allowed NumHighBits to be integerPartWidth. But since it is used directly as a shift amount it must be less than integerPartWidth.
|
 | llvm/lib/Support/APFloat.cpp |
Commit
4e9277eda1874ead60f2c9d7cdb558fd19b32076
by i[ELF] --wrap: don't unnecessarily expose __real_
The routing rules are:
sym -> __wrap_sym __real_sym -> sym
__wrap_sym and sym are routing targets, so they need to be exposed to the symbol table. __real_sym is not and can be eliminated if not used by regular object.
|
 | lld/test/ELF/lto/wrap-1.ll |
 | lld/ELF/Driver.cpp |
Commit
2c9dc7bbbf514b1ed7bdefacb3213beae5916b3d
by michael.hliaoRevert "[llvm-exegesis] Add option to check the hardware support for a given feature before benchmarking."
This reverts commit 4fcd1a8e6528ca42fe656f2745e15d2b7f5de495 as `llvm/test/tools/llvm-exegesis/X86/lbr/mov-add.s` failed on hosts without LBR supported if the build has LIBPFM enabled. On that host, `perf_event_open` fails with `EOPNOTSUPP` on LBR config. That change's basic assumption
> If this is run on a non-supported hardware, it will produce all zeroes for latency.
could not stand as `perf_event_open` system call will fail if the underlying hardware really don't have LBR supported.
|
 | llvm/tools/llvm-exegesis/lib/X86/Target.cpp |
 | llvm/tools/llvm-exegesis/llvm-exegesis.cpp |
 | llvm/tools/llvm-exegesis/lib/X86/X86Counter.cpp |
 | llvm/test/tools/llvm-exegesis/X86/lbr/lit.local.cfg |
 | llvm/tools/llvm-exegesis/lib/Target.h |
 | llvm/tools/llvm-exegesis/lib/X86/X86Counter.h |
Commit
c93a39dd1fdd74cb87ef65cfd42d81c62a07ed91
by mkazantsev[SCEV][NFC] Introduce isKnownPredicateAt method
We can query known predicates in different points, respecting their dominating conditions.
|
 | llvm/lib/Analysis/ScalarEvolution.cpp |
 | llvm/include/llvm/Analysis/ScalarEvolution.h |