- 16 May, 2019 3 commits
-
-
Tom Stellard authored
```--------------------------------------------------------------------- r355038 | joerg | 2019-02-27 13:53:14 -0800 (Wed, 27 Feb 2019) | 3 lines Default to Secure PLT on PPC for NetBSD and OpenBSD. This matches the default settings of clang. ``` --------------------------------------------------------------------- llvm-svn: 360950
-
Tom Stellard authored
```--------------------------------------------------------------------- r352806 | sbc | 2019-01-31 14:38:22 -0800 (Thu, 31 Jan 2019) | 5 lines [WebAssembly] MC: Fix for outputing wasm object to /dev/null Subscribers: dschuff, jgravelle-google, aheejin, sunfish, llvm-commits Differential Revision: https://reviews.llvm.org/D57479 ``` --------------------------------------------------------------------- llvm-svn: 360949
-
Tom Stellard authored
```--------------------------------------------------------------------- r360674 | russell_gallop | 2019-05-14 07:01:40 -0700 (Tue, 14 May 2019) | 7 lines [Driver][Windows] Add dependent lib argument for profile instr generate This is needed so lld-link can find clang_rt.profile when self hosting on Windows with PGO. Using clang-cl as a linker knows to add the library but self hosting, using -DCMAKE_LINKER=<...>/lld-link.exe doesn't. Differential Revision: https://reviews.llvm.org/D61742 ``` --------------------------------------------------------------------- llvm-svn: 360828
-
- 15 May, 2019 10 commits
-
-
Tom Stellard authored
```--------------------------------------------------------------------- r354846 | djg | 2019-02-25 21:20:19 -0800 (Mon, 25 Feb 2019) | 12 lines [WebAssembly] Properly align fp128 arguments in outgoing varargs arguments For outgoing varargs arguments, it's necessary to check the OrigAlign field of the corresponding OutputArg entry to determine argument alignment, rather than just computing an alignment from the argument value type. This is because types like fp128 are split into multiple argument values, with narrower types that don't reflect the ABI alignment of the full fp128. This fixes the printf("printfL: %4.*Lf\n", 2, lval); testcase. Differential Revision: https://reviews.llvm.org/D58656 ``` --------------------------------------------------------------------- llvm-svn: 360826 -
Tom Stellard authored
```--------------------------------------------------------------------- r360212 | kamil | 2019-05-07 17:44:41 -0700 (Tue, 07 May 2019) | 6 lines Fix build on NetBSD 8.99.38 With recent changes the dev/nvmm/nvmm_ioctl.h header is no longer a standalone NVMM header. Disable it until the NVMM operations will stabilize and be included in the ioctl(2) interceptors. ``` --------------------------------------------------------------------- llvm-svn: 360811
-
Tom Stellard authored
```--------------------------------------------------------------------- r355141 | rnk | 2019-02-28 13:05:41 -0800 (Thu, 28 Feb 2019) | 11 lines [COFF] Add address-taken import thunks to the fid table Summary: Fixes PR39799 Reviewers: dmajor, hans Subscribers: jdoerfert, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D58739 ``` --------------------------------------------------------------------- llvm-svn: 360803
-
Tom Stellard authored
```--------------------------------------------------------------------- r359569 | russell_gallop | 2019-04-30 08:35:16 -0700 (Tue, 30 Apr 2019) | 7 lines Add llvm-profdata to LLVM_TOOLCHAIN_TOOLS This is required for using PGO on Windows but isn't in the Windows release packages. Windows packages are built with LLVM_INSTALL_TOOLCHAIN_ONLY so only includes llvm "tools" listed here. Differential Revision: https://reviews.llvm.org/D61317 ``` --------------------------------------------------------------------- llvm-svn: 360801
-
Tom Stellard authored
```--------------------------------------------------------------------- r360099 | efriedma | 2019-05-06 16:21:59 -0700 (Mon, 06 May 2019) | 26 lines [ARM] Glue register copies to tail calls. This generally follows what other targets do. I don't completely understand why the special case for tail calls existed in the first place; even when the code was committed in r105413, call lowering didn't work in the way described in the comments. Stack protector lowering breaks if the register copies are not glued to a tail call: we have to insert the stack protector check before the tail call, and we choose the location based on the assumption that all physical register dependencies of a tail call are adjacent to the tail call. (See FindSplitPointForStackProtector.) This is sort of fragile, but I don't see any reason to break that assumption. I'm guessing nobody has seen this before just because it's hard to convince the scheduler to actually schedule the code in a way that breaks; even without the glue, the only computation that could actually be scheduled after the register copies is the computation of the call address, and the scheduler usually prefers to schedule that before the copies anyway. Fixes https://bugs.llvm.org/show_bug.cgi?id=41417 Differential Revision: https://reviews.llvm.org/D60427 ``` --------------------------------------------------------------------- llvm-svn: 360793
-
Tom Stellard authored
```--------------------------------------------------------------------- r355621 | petarj | 2019-03-07 10:28:44 -0800 (Thu, 07 Mar 2019) | 5 lines fix expected format in test/ELF/eh-frame-hdr-augmentation.s Follow-up for r355605. Fix expected format in test/ELF/eh-frame-hdr-augmentation.s ``` --------------------------------------------------------------------- llvm-svn: 360792
-
Tom Stellard authored
```--------------------------------------------------------------------- r358547 | ruiu | 2019-04-16 19:12:47 -0700 (Tue, 16 Apr 2019) | 9 lines Fix a crash bug caused by a nested call of parallelForEach. parallelForEach is not reentrant. We use parallelForEach to call each section's writeTo(), so calling the same function within writeTo() is not safe. Fixes https://bugs.llvm.org/show_bug.cgi?id=41508 Differential Revision: https://reviews.llvm.org/D60757 ``` --------------------------------------------------------------------- llvm-svn: 360791
-
Tom Stellard authored
```--------------------------------------------------------------------- r359883 | arsenm | 2019-05-03 06:42:56 -0700 (Fri, 03 May 2019) | 6 lines AMDGPU: Fix incorrect commute with sub when folding immediates When a fold of an immediate into a sub/subrev required shrinking the instruction, the wrong VOP2 opcode was used. This was using the VOP2 equivalent of the original instruction, not the commuted instruction with the inverted opcode. ``` --------------------------------------------------------------------- llvm-svn: 360752
-
Tom Stellard authored
```--------------------------------------------------------------------- r356982 | mstorsjo | 2019-03-26 02:02:44 -0700 (Tue, 26 Mar 2019) | 12 lines [llvm-dlltool] Set a proper machine type for weak symbol object files This makes GNU binutils not reject the libraries outright. GNU ld handles weak externals slightly differently though, so it can't use them for aliases in import libraries, but this makes GNU ld able to use the rest of the import libraries. LLD accepted object files with machine type 0 aka IMAGE_FILE_MACHINE_UNKNOWN. Differential Revision: https://reviews.llvm.org/D59742 ``` --------------------------------------------------------------------- llvm-svn: 360750
-
Tom Stellard authored
```--------------------------------------------------------------------- r360512 | ctopper | 2019-05-10 21:19:33 -0700 (Fri, 10 May 2019) | 5 lines [X86] Don't emit MOVNTDQA loads from fast-isel without SSE4.1. We were checking for SSE4.1 for FP types, but not integer 128-bit types. Fixes PR41837. ``` --------------------------------------------------------------------- llvm-svn: 360749
-
- 04 May, 2019 2 commits
-
-
Tom Stellard authored
```--------------------------------------------------------------------- r357885 | ruiu | 2019-04-07 23:45:07 -0700 (Sun, 07 Apr 2019) | 13 lines Fix -emit-reloc against local symbols. Previously, we drop symbols starting with .L from the symbol table, so if there is a relocation that refers a .L symbol, it ended up referencing a null -- which happened to be interpreted as an absolute symbol. This patch copies all symbols including local ones if -emit-reloc is given. Fixes https://bugs.llvm.org/show_bug.cgi?id=41385 Differential Revision: https://reviews.llvm.org/D60306 ``` --------------------------------------------------------------------- llvm-svn: 359956
-
Tom Stellard authored
```--------------------------------------------------------------------- r359496 | mstorsjo | 2019-04-29 13:25:51 -0700 (Mon, 29 Apr 2019) | 8 lines [X86] Run CFIInstrInserter on Windows if Dwarf is used This is necessary since SVN r330706, as tail merging can include CFI instructions since then. This fixes PR40322 and PR40012. Differential Revision: https://reviews.llvm.org/D61252 ``` --------------------------------------------------------------------- llvm-svn: 359952
-
- 03 May, 2019 4 commits
-
-
Tom Stellard authored
```--------------------------------------------------------------------- r359834 | evandro | 2019-05-02 15:01:39 -0700 (Thu, 02 May 2019) | 3 lines [AArch64] Update for Exynos Fix the forwarding of multiplication results for Exynos M4. ``` --------------------------------------------------------------------- llvm-svn: 359946
-
Tom Stellard authored
```--------------------------------------------------------------------- r357376 | labath | 2019-04-01 01:11:46 -0700 (Mon, 01 Apr 2019) | 27 lines [Linux/x86] Fix writing of non-gpr registers on newer processors Summary: We're using ptrace(PTRACE_SETREGSET, NT_X86_XSTATE) to write all non-gpt registers on x86 linux. Unfortunately, this method has a quirk, where the kernel rejects all attempts to write to this area if one supplies a buffer which is smaller than the area size (even though the kernel will happily accept partial reads from it). This means that if the CPU supports some new registers/extensions that we don't know about (in my case it was the PKRU extension), we will fail to write *any* non-gpr registers, even those that we know about. Since this is a situation that's likely to appear again and again, I add code to NativeRegisterContextLinux_x86_64 to detect the runtime size of the area, and allocate an appropriate buffer. This does not mean that we will start automatically supporting all new extensions, but it does mean that the new extensions will not prevent the old ones from working. This fixes tests attempting to write to non-gpr registers on new intel processors (cca Kaby Lake Refresh). Reviewers: jankratochvil, davezarzycki Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D59991 ``` --------------------------------------------------------------------- ------------------------------------------------------------------------ r359120 | josepht | 2019-04-24 11:00:12 -0700 (Wed, 24 Apr 2019) | 15 lines [lldb] Use local definition of get_cpuid_count Summary: This is needed for gcc/cstdlib++ 5.4.0, where __get_cpuid_count is not defined in cpuid.h. Reviewers: labath Reviewed By: labath Subscribers: lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D61036 ------------------------------------------------------------------------ llvm-svn: 359945
-
Tom Stellard authored
```--------------------------------------------------------------------- r357701 | mgorny | 2019-04-04 07:21:38 -0700 (Thu, 04 Apr 2019) | 8 lines [llvm] [cmake] Add additional headers only if they exist Modify the add_header_files_for_glob() function to only add files that do exist, rather than all matches of the glob. This fixes CMake error when one of the include directories (which happen to include /usr/include) contain broken symlinks. Differential Revision: https://reviews.llvm.org/D59632 ``` --------------------------------------------------------------------- llvm-svn: 359857
-
Tom Stellard authored
```--------------------------------------------------------------------- r355607 | petarj | 2019-03-07 08:31:08 -0800 (Thu, 07 Mar 2019) | 11 lines [DebugInfo] Fix the type of the formated variable Change the format type of *Personality and *LSDAAddress to PRIx64 since they are of type uint64_t. The problem was detected on mips builds, where it was printing junk values and causing test failure. Patch by Milos Stojanovic. Differential Revision: https://reviews.llvm.org/D58451 ``` --------------------------------------------------------------------- llvm-svn: 359851
-
- 25 Apr, 2019 1 commit
-
-
Tom Stellard authored
```--------------------------------------------------------------------- r358885 | grimar | 2019-04-22 06:40:42 -0700 (Mon, 22 Apr 2019) | 8 lines [LLD][ELF] - Do not forget to use ch_addralign field after decompressing the sections. LLD did not use ELF::Chdr::ch_addralign for decompressed sections. This resulted in a broken output. Fixes https://bugs.llvm.org/show_bug.cgi?id=40482. Differential revision: https://reviews.llvm.org/D60959 ``` --------------------------------------------------------------------- llvm-svn: 359209
-
- 23 Apr, 2019 2 commits
-
-
Tom Stellard authored
```--------------------------------------------------------------------- r357506 | atanasyan | 2019-04-02 11:03:31 -0700 (Tue, 02 Apr 2019) | 7 lines [driver][mips] Check both `gnuabi64` and `gnu` suffixes in `getMultiarchTriple` In case of N64 ABI toolchain paths migth have `mips-linux-gnuabi64` or `mips-linux-gnu` directory regardless of selected environment. Check both variants while detecting a multiarch triple. Fix for the bug https://bugs.llvm.org/show_bug.cgi?id=41204 ``` --------------------------------------------------------------------- llvm-svn: 358947
-
Tom Stellard authored
```--------------------------------------------------------------------- r356039 | atanasyan | 2019-03-13 04:04:38 -0700 (Wed, 13 Mar 2019) | 11 lines [MIPS][microMIPS] Fix PseudoMTLOHI_MM matching and expansion On micromips MipsMTLOHI is always matched to PseudoMTLOHI_DSP regardless of +dsp argument. This patch checks is HasDSP predicate is present for PseudoMTLOHI_DSP so PseudoMTLOHI_MM can be matched when appropriate. Add expansion of PseudoMTLOHI_MM instruction into a mtlo/mthi pair. Patch by Mirko Brkusanin. Differential Revision: http://reviews.llvm.org/D59203 ``` --------------------------------------------------------------------- llvm-svn: 358941
-
- 22 Apr, 2019 6 commits
-
-
Tom Stellard authored
```--------------------------------------------------------------------- r355825 | petarj | 2019-03-11 07:13:31 -0700 (Mon, 11 Mar 2019) | 10 lines [MIPS][microMIPS] Add a pattern to match TruncIntFP A pattern needed to match TruncIntFP was missing. This was causing multiple tests from llvm test suite to fail during compilation for micromips. Patch by Mirko Brkusanin. Differential Revision: https://reviews.llvm.org/D58722 ``` --------------------------------------------------------------------- llvm-svn: 358936
-
Tom Stellard authored
```--------------------------------------------------------------------- r354882 | atanasyan | 2019-02-26 06:45:17 -0800 (Tue, 26 Feb 2019) | 4 lines [mips] Emit `.module softfloat` directive This change fixes crash on an assertion in case of using `soft float` ABI for mips32r6 target. ``` --------------------------------------------------------------------- llvm-svn: 358934
-
Tom Stellard authored
```--------------------------------------------------------------------- r354808 | nikic | 2019-02-25 10:54:17 -0800 (Mon, 25 Feb 2019) | 11 lines [Mips] Fix missing masking in fast-isel of br (PR40325) Fixes https://bugs.llvm.org/show_bug.cgi?id=40325 by zero extending (and x, 1) the condition before branching on it. To avoid regressing trivial cases, I'm combining emission of cmp+br sequences for the single-use + same block case (similar to what we do in x86). icmpbr1.ll still regresses due to the cross-bb usage of the condition. Differential Revision: https://reviews.llvm.org/D58576 ``` --------------------------------------------------------------------- llvm-svn: 358925
-
Tom Stellard authored
```--------------------------------------------------------------------- r356198 | abataev | 2019-03-14 13:36:00 -0700 (Thu, 14 Mar 2019) | 5 lines [OPENMP]Fix crash for the ordered(n) clause. If the doacross lop construct is used and the loop counter is declare outside of the loop, the compiler might crash trying to get the address of the loop counter. Patch fixes this problem. ``` --------------------------------------------------------------------- llvm-svn: 358923
-
Tom Stellard authored
```--------------------------------------------------------------------- r354672 | petarj | 2019-02-22 06:53:58 -0800 (Fri, 22 Feb 2019) | 13 lines [mips][micromips] fix filling delay slots for PseudoIndirectBranch_MM Filling a delay slot in 32bit jump instructions with a 16bit instruction can cause issues. According to the documentation such an operation is unpredictable. This patch adds opcode Mips::PseudoIndirectBranch_MM alongside Mips::PseudoIndirectBranch and other instructions that are expanded to jr instruction and do not allow a 16bit instruction in their delay slots. Patch by Mirko Brkusanin. Differential Revision: https://reviews.llvm.org/D58507 ``` --------------------------------------------------------------------- llvm-svn: 358920
-
Tom Stellard authored
```--------------------------------------------------------------------- r355854 | jonpa | 2019-03-11 12:00:37 -0700 (Mon, 11 Mar 2019) | 13 lines [RegAlloc] Avoid compile time regression with multiple copy hints. As a fix for https://bugs.llvm.org/show_bug.cgi?id=40986 ("excessive compile time building opencollada"), this patch makes sure that no phys reg is hinted more than once from getRegAllocationHints(). This handles the case were many virtual registers are assigned to the same physreg. The previous compile time fix (r343686) in weightCalcHelper() only made sure that physical/virtual registers are passed no more than once to addRegAllocationHint(). Review: Dimitry Andric, Quentin Colombet https://reviews.llvm.org/D59201 ``` --------------------------------------------------------------------- llvm-svn: 358905
-
- 29 Mar, 2019 1 commit
-
-
Tom Stellard authored
```--------------------------------------------------------------------- r356924 | tstellar | 2019-03-25 10:01:29 -0700 (Mon, 25 Mar 2019) | 1 line merge-request.sh: Update 8.0 metabug for 8.0.1 ``` --------------------------------------------------------------------- llvm-svn: 357234
-
- 21 Mar, 2019 2 commits
-
-
Tom Stellard authored
llvm-svn: 356714
-
Tom Stellard authored
llvm-svn: 356708
-
- 15 Mar, 2019 1 commit
-
-
Hans Wennborg authored
$ bin/clang-tblgen -gen-diag-docs -I../cfe.src/include -I../cfe.src/include/clang/Basic/ ../cfe.src/include/clang/Basic/Diagnostic.td -o ../cfe.src/docs/DiagnosticsReference.rst llvm-svn: 356240
-
- 13 Mar, 2019 2 commits
-
-
Hans Wennborg authored
llvm-svn: 356034
-
Hans Wennborg authored
llvm-svn: 356033
-
- 12 Mar, 2019 2 commits
-
-
Hans Wennborg authored
llvm-svn: 355916
-
Hans Wennborg authored
```--------------------------------------------------------------------- r355743 | ericwf | 2019-03-08 23:06:48 +0100 (Fri, 08 Mar 2019) | 26 lines [8.0 Regression] Fix handling of `__builtin_constant_p` inside template arguments, enumerators, case statements, and the enable_if attribute. Summary: The following code is accepted by Clang 7 and prior but rejected by the upcoming 8 release and in trunk [1] ``` // error {{never produces a constant expression}} void foo(const char* s) __attribute__((enable_if(__builtin_constant_p(*s) == false, "trap"))) {} void test() { foo("abc"); } ``` Prior to Clang 8, the call to `__builtin_constant_p` was a constant expression returning false. Currently, it's not a valid constant expression. The bug is caused because we failed to set `InConstantContext` when attempting to evaluate unevaluated constant expressions. [1] https://godbolt.org/z/ksAjmq Reviewers: rsmith, hans, sbenza Reviewed By: rsmith Subscribers: kristina, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D59038 ``` --------------------------------------------------------------------- llvm-svn: 355898
-
- 08 Mar, 2019 4 commits
-
-
Hans Wennborg authored
```--------------------------------------------------------------------- r355489 | hans | 2019-03-06 10:38:04 +0100 (Wed, 06 Mar 2019) | 1 line clang-cl: Parse /Qspectre and a few other missing options (PR40964) ``` --------------------------------------------------------------------- llvm-svn: 355677
-
Hans Wennborg authored
```--------------------------------------------------------------------- r352119 | rnk | 2019-01-24 23:26:51 +0100 (Thu, 24 Jan 2019) | 7 lines [clang-cl] Ignore space-separated /AI arguments The /AI flag is for #using directives, which I don't think we support. This is consistent with how the /I flag is handled by MSVC. Add a test for it. Differential Revision: https://reviews.llvm.org/D57189 ``` --------------------------------------------------------------------- llvm-svn: 355675
-
Hans Wennborg authored
```--------------------------------------------------------------------- r355491 | hans | 2019-03-06 11:26:19 +0100 (Wed, 06 Mar 2019) | 9 lines Inline asm constraints: allow ICE-like pointers for the "n" constraint (PR40890) Apparently GCC allows this, and there's code relying on it (see bug). The idea is to allow expression that would have been allowed if they were cast to int. So I based the code on how such a cast would be done (the CK_PointerToIntegral case in IntExprEvaluator::VisitCastExpr()). Differential Revision: https://reviews.llvm.org/D58821 ``` --------------------------------------------------------------------- llvm-svn: 355674
-
Hans Wennborg authored
```--------------------------------------------------------------------- r354937 | joerg | 2019-02-27 01:40:59 +0100 (Wed, 27 Feb 2019) | 9 lines Fix inline assembler constraint validation The current constraint logic is both too lax and too strict. It fails for input outside the [INT_MIN..INT_MAX] range, but it also implicitly accepts 0 as value when it should not. Adjust logic to handle both correctly. Differential Revision: https://reviews.llvm.org/D58649 ``` --------------------------------------------------------------------- llvm-svn: 355673
-