- Aug 28, 2019
-
-
Hans Wennborg authored
------------------------------------------------------------------------ r370073 | lenary | 2019-08-27 17:41:16 +0200 (Tue, 27 Aug 2019) | 13 lines [RISCV] Set MaxAtomicInlineWidth and MaxAtomicPromoteWidth for RV32/RV64 targets with atomics Summary: This ensures that libcalls aren't generated when the target supports atomics. Atomics aren't in the base RV32I/RV64I instruction sets, so MaxAtomicInlineWidth and MaxAtomicPromoteWidth are set only when the atomics extension is being targeted. This must be done in setMaxAtomicWidth, as this should be done after handleTargetFeatures has been called. Reviewers: jfb, jyknight, wmi, asb Reviewed By: asb Subscribers: pzheng, MaskRay, s.egerton, lenary, dexonsmith, psnobl, benna, Jim, JohnLLVM, rbar, johnrusso, simoncook, apazos, sabuasal, niosHD, kito-cheng, shiva0217, jrtc27, zzheng, edward-jones, rogfer01, MartinMosbeck, brucehoult, the_o, rkruppe, PkmX, jocewei, lewis-revill, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D57450 ------------------------------------------------------------------------ llvm-svn: 370181
-
Hans Wennborg authored
------------------------------------------------------------------------ r370176 | hans | 2019-08-28 11:21:56 +0200 (Wed, 28 Aug 2019) | 15 lines [LLVM-C] Fix ByVal Attribute crashing With the introduction of the typed byval attribute change there was no way that the LLVM-C API could create the correct class Attribute. If a program that uses the C API creates a ByVal attribute and annotates a function with that attribute LLVM will crash when it assembles or write that module containing the function out as bitcode. This change is a minimal fix to at least allow code to work, this is because the byval change is on the 9.0 and I don't want to introduce new LLVM-C API this late in the release cycle. By Jakob Bornecrantz! Differential revision: https://reviews.llvm.org/D66144 ------------------------------------------------------------------------ llvm-svn: 370178
-
Hans Wennborg authored
llvm-svn: 370167
-
Hans Wennborg authored
By Kristóf Umann! Differential revision: https://reviews.llvm.org/D66765 llvm-svn: 370166
-
Hans Wennborg authored
llvm-svn: 370077
-
Hans Wennborg authored
By Alex Bradbury! llvm-svn: 370076
-
- Aug 27, 2019
-
-
Hans Wennborg authored
By Lei Huang! llvm-svn: 370065
-
Hans Wennborg authored
------------------------------------------------------------------------ r370036 | tnorthover | 2019-08-27 12:21:11 +0200 (Tue, 27 Aug 2019) | 8 lines AArch64: avoid creating cycle in DAG for post-increment NEON ops. Inserting a value into Visited has the effect of terminating a search for predecessors if that node is seen. This is legitimate for the base address, and acts as a slight performance optimization, but the vector-building node can be paert of a legitimate cycle so we shouldn't stop searching there. PR43056. ------------------------------------------------------------------------ llvm-svn: 370063
-
Hans Wennborg authored
------------------------------------------------------------------------ r369834 | rsmith | 2019-08-24 04:30:00 +0200 (Sat, 24 Aug 2019) | 8 lines PR42513: Enter the proper DeclContext before substituting into an default template argument expression. We already did this for type template parameters and template template parameters, but apparently forgot to do so for non-type template parameters. This causes the substituted default argument expression to be substituted in the proper context, and in particular to properly mark its subexpressions as odr-used. ------------------------------------------------------------------------ llvm-svn: 370038
-
Hans Wennborg authored
------------------------------------------------------------------------ r369749 | stulova | 2019-08-23 13:43:49 +0200 (Fri, 23 Aug 2019) | 5 lines [Docs][OpenCL] Several corrections to C++ for OpenCL Differential Revision:https://reviews.llvm.org/D64418 ------------------------------------------------------------------------ llvm-svn: 370031
-
Sam McCall authored
llvm-svn: 370024
-
Hans Wennborg authored
------------------------------------------------------------------------ r369829 | rsmith | 2019-08-24 03:23:57 +0200 (Sat, 24 Aug 2019) | 3 lines PR40674: fix assertion failure if a structured binding declaration has a tuple-like decomposition that produces value-dependent reference bindings. ------------------------------------------------------------------------ llvm-svn: 369921
-
- Aug 26, 2019
-
-
Hans Wennborg authored
llvm-svn: 369913
-
Hans Wennborg authored
From Kristof! llvm-svn: 369912
-
Hans Wennborg authored
------------------------------------------------------------------------ r367115 | jdevlieghere | 2019-07-26 16:26:33 +0200 (Fri, 26 Jul 2019) | 6 lines [CMake] Loosen Python version check and ignore patch version Some versions of macOS report a different patch version for the system provided interpreter and libraries. Differential revision: https://reviews.llvm.org/D65230 ------------------------------------------------------------------------ ------------------------------------------------------------------------ r367125 | jdevlieghere | 2019-07-26 18:15:19 +0200 (Fri, 26 Jul 2019) | 3 lines [CMake] Print Python version on Windows Trying to figure out what's causing the Windows bot to fail. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r367127 | jdevlieghere | 2019-07-26 18:32:49 +0200 (Fri, 26 Jul 2019) | 4 lines [CMake] Fix find_python_libs_windows Exporting PYTHON_INCLUDE_DIR to the Python scope somehow got lost in my last change. Add it back again. This should fix the Windows bot! ------------------------------------------------------------------------ ------------------------------------------------------------------------ r367153 | jdevlieghere | 2019-07-26 22:58:10 +0200 (Fri, 26 Jul 2019) | 5 lines [CMake] Print the correct variables This didn't get updated after we decided to set PYTHON_MAJOR_VERSION and PYTHON_MINOR_VERSION in find_python_libs_windows, instead of parsing the variables ourselves. ------------------------------------------------------------------------ llvm-svn: 369903
-
Hans Wennborg authored
------------------------------------------------------------------------ r366447 | jdevlieghere | 2019-07-18 17:17:42 +0200 (Thu, 18 Jul 2019) | 19 lines [CMake] Don't set Python_ADDITIONAL_VERSIONS Until recently, Python_ADDITIONAL_VERSIONS was used to limit LLVM's Python support to 2.7. Now that both LLVM and LLDB both support Python 3, there's no longer a need to put an arbitrary limit on this. However, instead of removing the variable, r365692 expanded the list, which has the (presumably unintentional) side-effect of expression preference for Python 3. Instead, as Michal proposed in the original code review, we should just not set the list at all, and let CMake pick whatever Python interpreter you have in your path. This patch removes the Python_ADDITIONAL_VERSIONS variable in llvm, clang and lld. I've also updated the docs with the default behavior and how to force a different Python version to be used. Differential revision: https://reviews.llvm.org/D64894 ------------------------------------------------------------------------ llvm-svn: 369902
-
Hans Wennborg authored
------------------------------------------------------------------------ r366447 | jdevlieghere | 2019-07-18 17:17:42 +0200 (Thu, 18 Jul 2019) | 19 lines [CMake] Don't set Python_ADDITIONAL_VERSIONS Until recently, Python_ADDITIONAL_VERSIONS was used to limit LLVM's Python support to 2.7. Now that both LLVM and LLDB both support Python 3, there's no longer a need to put an arbitrary limit on this. However, instead of removing the variable, r365692 expanded the list, which has the (presumably unintentional) side-effect of expression preference for Python 3. Instead, as Michal proposed in the original code review, we should just not set the list at all, and let CMake pick whatever Python interpreter you have in your path. This patch removes the Python_ADDITIONAL_VERSIONS variable in llvm, clang and lld. I've also updated the docs with the default behavior and how to force a different Python version to be used. Differential revision: https://reviews.llvm.org/D64894 ------------------------------------------------------------------------ llvm-svn: 369901
-
Hans Wennborg authored
------------------------------------------------------------------------ r366447 | jdevlieghere | 2019-07-18 17:17:42 +0200 (Thu, 18 Jul 2019) | 19 lines [CMake] Don't set Python_ADDITIONAL_VERSIONS Until recently, Python_ADDITIONAL_VERSIONS was used to limit LLVM's Python support to 2.7. Now that both LLVM and LLDB both support Python 3, there's no longer a need to put an arbitrary limit on this. However, instead of removing the variable, r365692 expanded the list, which has the (presumably unintentional) side-effect of expression preference for Python 3. Instead, as Michal proposed in the original code review, we should just not set the list at all, and let CMake pick whatever Python interpreter you have in your path. This patch removes the Python_ADDITIONAL_VERSIONS variable in llvm, clang and lld. I've also updated the docs with the default behavior and how to force a different Python version to be used. Differential revision: https://reviews.llvm.org/D64894 ------------------------------------------------------------------------ llvm-svn: 369900
-
Hans Wennborg authored
------------------------------------------------------------------------ r366447 | jdevlieghere | 2019-07-18 17:17:42 +0200 (Thu, 18 Jul 2019) | 19 lines [CMake] Don't set Python_ADDITIONAL_VERSIONS Until recently, Python_ADDITIONAL_VERSIONS was used to limit LLVM's Python support to 2.7. Now that both LLVM and LLDB both support Python 3, there's no longer a need to put an arbitrary limit on this. However, instead of removing the variable, r365692 expanded the list, which has the (presumably unintentional) side-effect of expression preference for Python 3. Instead, as Michal proposed in the original code review, we should just not set the list at all, and let CMake pick whatever Python interpreter you have in your path. This patch removes the Python_ADDITIONAL_VERSIONS variable in llvm, clang and lld. I've also updated the docs with the default behavior and how to force a different Python version to be used. Differential revision: https://reviews.llvm.org/D64894 ------------------------------------------------------------------------ llvm-svn: 369899
-
Hans Wennborg authored
------------------------------------------------------------------------ r369364 | miyuki | 2019-08-20 12:19:55 +0200 (Tue, 20 Aug 2019) | 6 lines [libcxx] Fix build breakage on mips Fixes https://bugs.llvm.org/show_bug.cgi?id=43011 caused by https://reviews.llvm.org/D63284. Committing as obvious. ------------------------------------------------------------------------ llvm-svn: 369898
-
Hans Wennborg authored
llvm-svn: 369897
-
Hans Wennborg authored
By Amy Huang! llvm-svn: 369896
-
Hans Wennborg authored
By Aras Pranckevicius! llvm-svn: 369895
-
Hans Wennborg authored
------------------------------------------------------------------------ r369694 | akhuang | 2019-08-22 21:40:07 +0200 (Thu, 22 Aug 2019) | 1 line [COFF] Add libcall symbols to the link when LTO is being used ------------------------------------------------------------------------ llvm-svn: 369883
-
Hans Wennborg authored
------------------------------------------------------------------------ r366836 | nico | 2019-07-23 21:00:01 +0200 (Tue, 23 Jul 2019) | 24 lines ld.lld: Demangle symbols from archives in diagnostics This ports r366573 from COFF to ELF. There are now to toString(Archive::Symbol), one doing MSVC demangling in COFF and one doing Itanium demangling in ELF, so rename these two to toCOFFString() and to toELFString() to not get a duplicate symbol. Nothing ever passes a raw Archive::Symbol to CHECK(), so these not being part of the normal toString() machinery seems ok. There are two code paths in the ELF linker that emits this type of diagnostic: 1. The "normal" one in InputFiles.cpp. This is covered by the tweaked test. 2. An additional one that's only used for libcalls if there's at least one bitcode in the link, and if the libcall symbol is lazy, and lazily loaded from an archive (i.e. not from a lazy .o file). (This code path was added in r339301.) Since all libcall names so far are C symbols and never mangled, the change there is not observable and hence not covered by tests. Differential Revision: https://reviews.llvm.org/D65095 ------------------------------------------------------------------------ llvm-svn: 369882
-
Hans Wennborg authored
------------------------------------------------------------------------ r366573 | nico | 2019-07-19 15:29:10 +0200 (Fri, 19 Jul 2019) | 6 lines lld-link: Demangle symbols from archives in diagnostics Also add test coverage for thin archives (which are the only way I could come up with to test at least some of the diagnostic changes). Differential Revision: https://reviews.llvm.org/D64927 ------------------------------------------------------------------------ llvm-svn: 369881
-
Hans Wennborg authored
------------------------------------------------------------------------ r369349 | ibiryukov | 2019-08-20 10:54:30 +0200 (Tue, 20 Aug 2019) | 36 lines [clangd] Skip function bodies inside processed files while indexing Summary: This significantly improves performance of background indexing. We do not collect references and declarations inside the processed files, so this does not affect the final indexing results. The idea is borrowed from libclang, which has a similar optimization in its indexing functionality. Measurements show a nice decrease in indexing time, up to ~40% for building the whole index. These are not proper benchmarks, so one should not rely on these results too much. 1. Rebuilding the whole index for LLVM: - Before. Total time: 14m58s. ./bin/clangd -pch-storage=memory < ./clangd.input 23917.67s user 515.86s system 2718% cpu 14:58.68 total - After. Total time: 8m41s. ./bin/clangd -pch-storage=memory < ./clangd.input 13627.29s user 288.10s system 2672% cpu 8:40.67 total 2. Rebuilding index after removing shards matching '*clangd*' (case-insensitively): - Before. Total time: 30s. ./bin/clangd -pch-storage=memory < ./clangd.input 130.94s user 6.82s system 452% cpu 30.423 total - After. Total time: 26s. ./bin/clangd -pch-storage=memory < ./clangd.input 80.51s user 5.40s system 333% cpu 25.777 total Reviewers: kadircet, sammccall Reviewed By: kadircet Subscribers: MaskRay, jkorous, arphaman, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D66226 ------------------------------------------------------------------------ llvm-svn: 369879
-
- Aug 23, 2019
-
-
Anastasia Stulova authored
Differential Revision: https://reviews.llvm.org/D66294 llvm-svn: 369758
-
Nico Weber authored
llvm-svn: 369753
-
Hans Wennborg authored
------------------------------------------------------------------------ r369445 | mstorsjo | 2019-08-20 23:08:14 +0200 (Tue, 20 Aug 2019) | 9 lines [COFF] Check errorCount before committing the output file This avoids producing an output file if errors appeared late in the linking process (e.g. while fixing relocations, or as in the test, while checking for multiple resources). If an output file is produced, build tools might not retry building it on rebuilds, even if a previous build failed due to the error return code. Differential Revision: https://reviews.llvm.org/D66491 ------------------------------------------------------------------------ llvm-svn: 369752
-
Alex Denisov authored
llvm-svn: 369744
-
Hans Wennborg authored
------------------------------------------------------------------------ r368145 | ruiu | 2019-08-07 12:16:21 +0200 (Wed, 07 Aug 2019) | 3 lines Handle /align option. Differential Revision: https://reviews.llvm.org/D65736 ------------------------------------------------------------------------ llvm-svn: 369743
-
Hans Wennborg authored
------------------------------------------------------------------------ r369641 | yaxunl | 2019-08-22 13:18:59 +0200 (Thu, 22 Aug 2019) | 4 lines [OpenCL] Fix declaration of enqueue_marker Differential Revision: https://reviews.llvm.org/D66512 ------------------------------------------------------------------------ llvm-svn: 369738
-
- Aug 22, 2019
-
-
Hans Wennborg authored
------------------------------------------------------------------------ r367580 | atanasyan | 2019-08-01 18:04:29 +0200 (Thu, 01 Aug 2019) | 18 lines [mips] Fix lowering load/store instruction in PIC case If an operand of the `lw/sw` instructions is a symbol, these instructions incorrectly lowered using not-position-independent chain of commands. For PIC code we should use `lw/addiu` instructions with the `R_MIPS_GOT16` and `R_MIPS_LO16` relocations respectively. Instead of that LLVM generates position dependent code with the `R_MIPS_HI16` and `R_MIPS_LO16` relocations. This patch provides a fix for the bug by handling PIC case separately in the `MipsAsmParser::expandMemInst`. The main idea is to generate a chain of PIC instructions to load a symbol address into a register and then load the address content. The fix is not optimal and does not fix all PIC-related problems. This is a task for subsequent patches. Differential Revision: https://reviews.llvm.org/D65524 ------------------------------------------------------------------------ llvm-svn: 369663
-
Hans Wennborg authored
------------------------------------------------------------------------ r369426 | mstorsjo | 2019-08-20 20:58:05 +0200 (Tue, 20 Aug 2019) | 5 lines [TargetMachine] Don't try to create COFFSTUB references on windows on non-COFF This avoids spurious relocation types for windows/elf targets. Differential Revision: https://reviews.llvm.org/D66401 ------------------------------------------------------------------------ ------------------------------------------------------------------------ r369443 | mstorsjo | 2019-08-20 22:58:02 +0200 (Tue, 20 Aug 2019) | 11 lines [test] Fix tests when run on windows after SVN r369426. NFC. When running tests on windows, invoking "llc -march=<arch>" will implicitly use windows as the target os, making these tests misbehave after this change. Fix the issue by using more specific -mtriple values instead of plain -march in these tests. This should hopefully fix buildbot failures like http://lab.llvm.org:8011/builders/clang-x64-windows-msvc/builds/9816. ------------------------------------------------------------------------ llvm-svn: 369654
-
Hans Wennborg authored
------------------------------------------------------------------------ r369095 | lewis-revill | 2019-08-16 12:28:34 +0200 (Fri, 16 Aug 2019) | 11 lines [RISCV] Lower inline asm constraint A for RISC-V This allows arguments with the constraint A to be lowered to input nodes for RISC-V, which implies a memory address stored in a register. This patch adds the minimal amount of code required to get operands with the right constraints to compile. https://reviews.llvm.org/D54296 ------------------------------------------------------------------------ llvm-svn: 369651
-
Hans Wennborg authored
------------------------------------------------------------------------ r369093 | lewis-revill | 2019-08-16 12:23:56 +0200 (Fri, 16 Aug 2019) | 11 lines [RISCV] Add inline asm constraint A for RISC-V This allows the constraint A to be used in inline asm for RISC-V, which allows an address held in a register to be used. This patch adds the minimal amount of code required to get operands with the right constraints to compile. Differential Revision: https://reviews.llvm.org/D54295 ------------------------------------------------------------------------ llvm-svn: 369649
-
Hans Wennborg authored
------------------------------------------------------------------------ r369537 | davidspickett | 2019-08-21 17:38:24 +0200 (Wed, 21 Aug 2019) | 7 lines [libcxx] Only declare contents of threading API when _LIBCPP_HAS_THREAD_API_EXTERNAL is not defined. When it is defined they will be declared by the __external_threading header instead. Differential revision: https://reviews.llvm.org/D66518 ------------------------------------------------------------------------ llvm-svn: 369639
-
- Aug 21, 2019
-
-
Hans Wennborg authored
------------------------------------------------------------------------ r369251 | stulova | 2019-08-19 13:43:16 +0200 (Mon, 19 Aug 2019) | 10 lines [OpenCL] Fix addr space deduction for pointers/references to arrays. Rewrite the logic for detecting if we are deducing addr space of a pointee type to take into account special logic for arrays. For pointers/references to arrays we can have any number of parentheses expressions as well as nested pointers. Differential Revision: https://reviews.llvm.org/D66137 ------------------------------------------------------------------------ llvm-svn: 369499
-
Hans Wennborg authored
------------------------------------------------------------------------ r369399 | marshall | 2019-08-20 18:16:23 +0200 (Tue, 20 Aug 2019) | 1 line Fix availability of __thread_id on builds with external threading. Reviewed as https://reviews.llvm.org/D66480 ------------------------------------------------------------------------ llvm-svn: 369498
-