- Apr 05, 2017
-
-
Alex Bradbury authored
A number of backends (AArch64, MIPS, ARM) have been using MCContext::reportError to report issues such as out-of-range fixup values in their TgtAsmBackend. This is great, but because MCContext couldn't easily be threaded through to the adjustFixupValue helper function from its usual callsite (applyFixup), these backends ended up adding an MCContext* argument and adding another call to applyFixup to processFixupValue. Adding an MCContext parameter to applyFixup makes this unnecessary, and even better - applyFixup can take a reference to MCContext rather than a potentially null pointer. Differential Revision: https://reviews.llvm.org/D30264 llvm-svn: 299529
-
George Rimar authored
GNU linkers define __bss_start symbol. Patch teaches LLD to do that. This is PR32051. Below is part of standart ld.bfd script: .data1 : { *(.data1) } _edata = .; PROVIDE (edata = .); . = .; __bss_start = .; .bss : { Currently LLD can emit up to 3 .bss* sections as one of testcase shows. Implementation inserts this symbol before first .bss* output section. Differential revision: https://reviews.llvm.org/D30419 llvm-svn: 299528
-
Nitesh Jain authored
llvm-svn: 299527
-
James Molloy authored
This is a latent bug that's been hanging around for a while. For a loop-invariant pointer, expandBounds would return the range {Ptr, Ptr}, but this was interpreted as a half-open range, not a closed range. So we ended up planting incorrect bounds checks. Even worse, they were tautological, so we ended up incorrectly executing the optimized loop. llvm-svn: 299526
-
George Rimar authored
It was not NFC unfortunaly, one of changes decrements begin() iterator and that is not allowed by MSVS. llvm-svn: 299525
-
Egor Churaev authored
Reviewers: Anastasia, cfe-commits Reviewed By: Anastasia Subscribers: yaxunl, bader Differential Revision: https://reviews.llvm.org/D31594 llvm-svn: 299524
-
Daniel Marjamaki authored
[analyzer] alpha.core.Conversion - Fix false positive for 'U32 += S16;' expression, that is not unsafe Summary: The alpha.core.Conversion was too strict about compound assignments and could warn even though there is no problem. Differential Revision: https://reviews.llvm.org/D25596 llvm-svn: 299523
-
Stephan Bergmann authored
Follow-up to r299363 "Enhance -Wshadow to warn when shadowing typedefs or type aliases". Patch by Ahmed Asadi. Differential Revision: https://reviews.llvm.org/D31235 llvm-svn: 299522
-
Rui Ueyama authored
llvm-svn: 299521
-
Rui Ueyama authored
llvm-svn: 299520
-
Rui Ueyama authored
Looks like we can use consume() in many more places. llvm-svn: 299519
-
Rui Ueyama authored
llvm-svn: 299518
-
Gor Nishanov authored
Subscribers: EricWF Differential Revision: https://reviews.llvm.org/D31699 llvm-svn: 299517
-
Rui Ueyama authored
This class is used only within this file, so it can be file-local. llvm-svn: 299516
-
Rui Ueyama authored
LinkerScript.cpp contains both the linker script processor and the linker script parser. I put both into a single file, but the file grown too large, so it's time to put them into two different files. llvm-svn: 299515
-
Rui Ueyama authored
llvm-svn: 299514
-
Rui Ueyama authored
ScriptParser is not a ScriptLexer, so this should be a private inheritance. llvm-svn: 299513
-
Rui Ueyama authored
llvm-svn: 299512
-
Rui Ueyama authored
A for-loop is more boring than a find_if, but I think this is easier to read. llvm-svn: 299511
-
Gor Nishanov authored
Summary: For WinEH, We add a funclet bundle to a coro.end call, so that CoroSplit in LLVM can replace it with cleanup ret and cut the rest out. For landing pad, we add a branch to resume block if coro.end returns true. LLVM Part: https://reviews.llvm.org/D25445 Reviewers: majnemer Reviewed By: majnemer Subscribers: EricWF, cfe-commits, rsmith, mehdi_amini Differential Revision: https://reviews.llvm.org/D25444 llvm-svn: 299510
-
Rui Ueyama authored
llvm-svn: 299509
-
Rui Ueyama authored
llvm-svn: 299508
-
Akira Hatanaka authored
Fix a bug in ARC contract pass where an iterator that pointed to a deleted instruction was dereferenced. It appears that tryToContractReleaseIntoStoreStrong was incorrectly assuming that a call to objc_retain would not immediately follow a call to objc_release. rdar://problem/25276306 llvm-svn: 299507
-
Rui Ueyama authored
llvm-svn: 299506
-
Rui Ueyama authored
It simplifies variable types. llvm-svn: 299505
-
Rui Ueyama authored
llvm-svn: 299504
-
Rui Ueyama authored
llvm-svn: 299503
-
Rui Ueyama authored
llvm-svn: 299502
-
Rui Ueyama authored
`!V.size()` where V is a vector is equivalent to `V.empty()`. llvm-svn: 299501
-
Rui Ueyama authored
llvm-svn: 299500
-
Rui Ueyama authored
llvm-svn: 299499
-
Rui Ueyama authored
This should improve readability. llvm-svn: 299498
-
Lang Hames authored
llvm-svn: 299497
-
Bob Haarman authored
Summary: This adds support for reporting multiple errors in a single invocation of lld-link. The limit defaults to 20 and can be changed with the /ERRORLIMIT command line parameter, or set to unlimited by passing a value of 0. This is a new attempt after r295507, which was reverted because opening files raced with exiting early, causing the test to be flaky. This version avoids the race by exiting before calling enqueuePath. Reviewers: pcc, ruiu Reviewed By: ruiu Subscribers: llvm-commits, dblaikie Differential Revision: https://reviews.llvm.org/D31688 llvm-svn: 299496
-
Rui Ueyama authored
llvm-svn: 299495
-
Rui Ueyama authored
llvm-svn: 299494
-
Rui Ueyama authored
llvm-svn: 299493
-
Rui Ueyama authored
llvm-svn: 299492
-
Bob Haarman authored
Summary: This change fixes a "local linkage requires default visibility" assert when attempting to build LLVM with ThinLTO on Windows. Reviewers: pcc, tejohnson, mehdi_amini Reviewed By: pcc Subscribers: llvm-commits, Prazek Differential Revision: https://reviews.llvm.org/D31632 llvm-svn: 299491
-
Ahmed Bougacha authored
Before r294774, there was a problem when lowering broadcasts to use 128-bit subvectors. When we looked through a bitcast to find the broadcast input, we'd keep using the original type, so you'd end up with things like: (v8f32 (broadcast (v4f32 (extract_subvector (v8i32 V), ...)) )) r294774 fixed it to always emit subvectors with the scalar type of the original source. It also introduced some asserts, to check that we use scalars with the same size, and vectors with the same number of elements. The scalar size equality is checked earlier when looking through bitcasts, and is a useful assert. However, the number of elements don't have to be identical: we're always going to extract a 128-bit subvector, and we can have different size inputs if we looked through a concat_vector to find a 256-bit source. Relax the overzealous assert. Replace it with a check of the original source vector being 256 or 512 bits. If it's 128 bits, we can't extract_subvector from it. Fixes PR32371. llvm-svn: 299490
-