- 20 Aug, 2020 8 commits
-
-
Francesco Petrogalli authored
-
Francesco Petrogalli authored
-
Hans Wennborg authored
Otherwise the docs-lld-html target fails to build using recent Sphinx with the following not very helpful error message: An error happened in rendering the page index. Reason: TemplateNotFound() It turns out the values in the html_sidebars dictionary always need to be lists now. See https://github.com/sphinx-doc/sphinx/issues/6186
-
sameeran joshi authored
Summary: Fixes bug : https://bugs.llvm.org/show_bug.cgi?id=46931 This commit add a new flag -DLLVM_ENABLE_SPHINX=ON to cmake command to generate sphinx documentation, along with new cmake targets `docs-flang-html`. `ninja docs-flang-html` - generates sphinx documentation. Generated release notes are present in <builddir>/tools/flang/docs/html/ folder. Reviewers: richard.barton.arm, DavidTruby Tags: #flang Differential Revision: https://reviews.llvm.org/D85470 (cherry picked from commit 2fc86ccd)
-
Brad Smith authored
(cherry picked from commit 5fe17132)
-
Sam Elliott authored
This fixes the "Unable to insert indirect branch" fatal error sometimes seen when generating position-independent code. Patch by msizanoen1 Reviewed By: jrtc27 Differential Revision: https://reviews.llvm.org/D84833 (cherry picked from commit 5f9ecc5d)
-
Brad Smith authored
(cherry picked from commit 592b8996)
-
Brad Smith authored
(cherry picked from commit d9ff48d0)
-
- 19 Aug, 2020 6 commits
-
-
Amy Huang authored
When turning on -debug-info-kind=constructor we ran into a "fragment covers entire variable" error during thinlto. The fragment is currently always emitted if there is no type size, but sometimes the variable has a forward declared struct type which doesn't have a size. This changes the code to get the type size from the GlobalVariable instead. Differential Revision: https://reviews.llvm.org/D85572 (cherry picked from commit 54b6cca0)
-
Sterling Augustine authored
Although it works fine with glibc, as currently implemented the frameheader cache is incompatible with certain platforms with slightly different locking semantics inside dl_iterate_phdr. Therefore only enable it when it is turned on explicitly with a configure-time option. Differential Revision: https://reviews.llvm.org/D86163 (cherry picked from commit a20f5fe7)
-
Brad Smith authored
(cherry picked from commit f5fdb614)
-
Brad Smith authored
(cherry picked from commit f4aba9d7)
-
Brad Smith authored
(cherry picked from commit 430db35b)
-
Brad Smith authored
(cherry picked from commit 4eb4ebf7)
-
- 18 Aug, 2020 22 commits
-
-
Francesco Petrogalli authored
Differential Revision: https://reviews.llvm.org/D85977
-
Craig Topper authored
[X86] Disable copy elision in LowerMemArgument for scalarized vectors when the loc VT is a different size than the original element. For example a v4f16 argument is scalarized to 4 i32 values. So the values are spread out instead of being packed tightly like in the original vector. Fixes PR47000. (cherry picked from commit 08b2d0a9)
-
Craig Topper authored
(cherry picked from commit 13796d14)
-
Richard Barton authored
This reverts commit 844f0181.
-
Brad Smith authored
(cherry picked from commit 44613bbe)
-
Brad Smith authored
(cherry picked from commit 92e82a28)
-
Brad Smith authored
(cherry picked from commit cd5ab56b)
-
Dimitry Andric authored
Otherwise, lots of these tests fail with a CHECK error similar to: ==12345==AddressSanitizer CHECK failed: compiler-rt/lib/asan/asan_posix.cpp:120 "((0)) == ((pthread_key_create(&tsd_key, destructor)))" (0x0, 0x4e) This is because the default pthread stubs in FreeBSD's libc always return failures (such as ENOSYS for pthread_key_create) in case the pthread library is not linked in. Reviewed By: arichardson Differential Revision: https://reviews.llvm.org/D85082 (cherry picked from commit 3aecf4bd)
-
Fangrui Song authored
Previously the time complexity is O(|number of paths from the root to an implied feature| * CPU_FWATURE_MAX) where CPU_FEATURE_MAX is 92. The number of paths can be large (theoretically exponential). For an inline asm statement, there is a code path `clang::Parser::ParseAsmStatement -> clang::Sema::ActOnGCCAsmStmt -> ASTContext::getFunctionFeatureMap` leading to potentially many calls of getImpliedEnabledFeatures (41 for my -march=native case). We should improve the performance a bit in case the number of inline asm statements is large (Linux kernel builds). Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D85257 (cherry picked from commit 0c7af8c8)
-
Craig Topper authored
We can use this to remove some calls to initFeatureMap from Sema and CodeGen when a function doesn't have a target attribute. This reduces compile time of the linux kernel where this map is needed to diagnose some inline assembly constraints based on whether sse, avx, or avx512 is enabled. Differential Revision: https://reviews.llvm.org/D85807 (cherry picked from commit 5c1fe4e2)
-
Craig Topper authored
Properly set "simd128" in the feature map when "unimplemented-simd128" is requested. initFeatureMap is used to create the feature vector used by handleTargetFeatures. There are later calls to initFeatureMap in CodeGen that were using these flags to recreate the map. But the original feature vector should be passed to those calls. So that should be enough to rebuild the map. The only issue seemed to be that simd128 was not enabled in the map by the first call to initFeatureMap. Using the SIMDLevel set by handleTargetFeatures in the later calls allowed simd128 to be set in the later versions of the map. To fix this I've added an override of setFeatureEnabled that will update the map the first time with the correct simd dependency. Differential Revision: https://reviews.llvm.org/D85806 (cherry picked from commit 2b8ad6b6)
-
Roman Lebedev authored
While x*undef is undef, shift-by-undef is poison, which we must avoid introducing. Also log2(iN undef) is *NOT* iN undef, because log2(iN undef) u< N. See https://bugs.llvm.org/show_bug.cgi?id=47133 (cherry picked from commit 12d93a27)
-
Dávid Bolvanský authored
Clang command line docs mention `-fno-stack-clash-protection`, and GCC also uses -fno-stack-clash-protection. Fixes PR47139 Reviewed By: tstellar Differential Revision: https://reviews.llvm.org/D85844 (cherry picked from commit df3bfaa3)
-
Camille Coti authored
Fixed some version information in flang/f18: - fixed the behavior of the -v switch: this flag enables verbosity with used with arguments, but just displays the version when used alone (related to this bug: https://bugs.llvm.org/show_bug.cgi?id=46017) - added __FLANG, __FLANG_MAJOR__, __FLANG_MINOR__ and __FLANG_PATCHLEVEL__ (similar to their __F18* counterparts) for compatibility purpose Reviewed By: sscalpone, AlexisPerry, richard.barton.arm, tskeith Differential Revision: https://reviews.llvm.org/D84334 (cherry picked from commit 89a9db43)
-
Richard Barton authored
As expected by user in http://lists.llvm.org/pipermail/flang-dev/2020-June/000404.html Depends on D84856 Differential Revision: https://reviews.llvm.org/D84857 (cherry picked from commit 30e45f33)
-
Richard Barton authored
Add a usage string and a defaults section that clarifies: * If no input files are given, f18 reads from stdin * If no input files are given, f18 dumps the parse tree. * The default behaviour is to exec F18_FC. * The fefault F18_FC setting is 'gfortran' Adds a simple regression test which tests the top and tail of the help screen and the exit status. Depends on D84855 Differential Revision: https://reviews.llvm.org/D84856 (cherry picked from commit b068d19a)
-
Richard Barton authored
When flang is invoked with no files it waits for input on stdin. Make it print a message saying this to prevent the user being surprised. Differential Revision: https://reviews.llvm.org/D84855 (cherry picked from commit dd5ea567)
-
Camille Coti authored
When the f18 frontend calls the link editor, put the libraries and object files in the correct order. Fixes the issues reported here https://github.com/flang-compiler/flang/issues/897 Reviewed By: sscalpone, AlexisPerry Differential Revision: https://reviews.llvm.org/D84340 (cherry picked from commit ca0bf440)
-
AlexisPerry authored
fixes BUG 46307 Differential Revision: https://reviews.llvm.org/D84266 (cherry picked from commit 4a4cafab)
-
Chen Zheng authored
Reviewed By: lkail Differential Revision: https://reviews.llvm.org/D85659 (cherry picked from commit 4d52ebb9)
-
David Sherwood authored
The code wasn't taking into account that the two operands passed to ptest could be identical and was trying to erase them twice. Differential Revision: https://reviews.llvm.org/D85892 (cherry picked from commit 6c7957c9)
-
Hans Wennborg authored
By Tobias Hieta!
-
- 17 Aug, 2020 4 commits
-
-
David Blaikie authored
Introduced by fd6584a2 Following similar use of casts in AsmParser.cpp, for instance - ideally this type would use unsigned chars as they're more representative of raw data and don't get confused around implementation defined choices of char's signedness, but this is what it is & the signed/unsigned conversions are (so far as I understand) safe/bit preserving in this usage and what's intended, given the API design here. (cherry picked from commit e31cfc4c)
-
David Sherwood authored
Fixed an incorrect pattern in lib/Target/AArch64/AArch64SVEInstrInfo.td for storing out <vscale x 2 x f32> unpacked scalable vectors. Added a couple of tests to test/CodeGen/AArch64/sve-st1-addressing-mode-reg-imm.ll Differential Revision: https://reviews.llvm.org/D85441 (cherry picked from commit 0905d9f3)
-
Sander de Smalen authored
This fixes an issue triggered by the following code, where emitEpilogue got confused when trying to restore the SVE registers after the call, whereas the call to bar() is implemented as a TCReturn: int non_sve(); int sve(svint32_t x) { return non_sve(); } Reviewed By: efriedma Differential Revision: https://reviews.llvm.org/D84869 (cherry picked from commit f2916636) -
Sander de Smalen authored
This patch adds a CFI entry for each SVE callee saved register that needs unwind info at an offset from the CFA. The offset is a DWARF expression because the offset is partly scalable. The CFI entries only cover a subset of the SVE callee-saves and only encodes the lower 64-bits, thus implementing the lowest common denominator ABI. Existing unwinders may support VG but only restore the lower 64-bits. Reviewed By: efriedma Differential Revision: https://reviews.llvm.org/D84044 (cherry picked from commit bb3344c7)
-