- Apr 23, 2020
-
-
Aaron Puchert authored
Summary: We extend the behavior for local functions and methods of local classes to lambdas in variable initializers. The initializer is not a separate scope, but we treat it as such. We also remove the (faulty) instantiation of default arguments in TreeTransform::TransformLambdaExpr, because it doesn't do proper initialization, and if it did, we would do it twice (and thus also emit eventual errors twice). Reviewed By: rsmith Differential Revision: https://reviews.llvm.org/D76038
-
Louis Dionne authored
Instead of the ad-hoc #define _LIBCXX_DYNAMIC_FALLBACK, provide an option to enable the setting when building libc++abi. Also use the occasion to rename the option to something slightly more descriptive. Note that in the future, it would be great to simply remove this option altogether. However, in the meantime, it seems better to have it be an official option than something ad-hoc.
-
Victor Huang authored
Add initial support for PCRelative addressing to get block address instead of using TOC. Differential Revision: https://reviews.llvm.org/D76294
-
Jon Roelofs authored
-
Louis Dionne authored
This is more consistent with how __cxxabi_config.h is included in other files in libcxxabi/src.
-
Ayke van Laethem authored
This patch replaces () prototypes with (void) prototypes. Differential Revision: https://reviews.llvm.org/D78641
-
Fangrui Song authored
[ELF] For relative paths in INPUT() and GROUP(), search the directory of the current linker script before searching other paths For a relative path in INPUT() or GROUP(), this patch changes the search order by adding the directory of the current linker script. The new search order (consistent with GNU ld >= 2.35 regarding the new test `test/ELF/input-relative.s`): 1. the directory of the current linker script (GNU ld from Binutils 2.35 onwards; https://sourceware.org/bugzilla/show_bug.cgi?id=25806) 2. the current working directory 3. library paths (-L) This behavior makes it convenient to replace a .so or .a with a linker script with additional input. For example, glibc ``` % cat /usr/lib/x86_64-linux-gnu/libm.a /* GNU ld script */ OUTPUT_FORMAT(elf64-x86-64) GROUP ( /usr/lib/x86_64-linux-gnu/libm-2.29.a /usr/lib/x86_64-linux-gnu/libmvec.a ) ``` could be simplified as `GROUP(libm-2.29.a libmvec.a)`. Another example is to make libc++.a a linker script: ``` INPUT(libc++.a.1 libc++abi.a) ``` Note, -l is not affected. Reviewed By: psmith Differential Revision: https://reviews.llvm.org/D77779
-
Louis Dionne authored
-
Craig Topper authored
[CallSite removal][ValueTracking] Use CallBase instead of ImmutableCallSite for getIntrinsicForCallSite. NFC Differential Revision: https://reviews.llvm.org/D78613
-
Kadir Cetinkaya authored
Summary: Macro argument expansion logic relies on skipping file IDs that created as a result of an include. Unfortunately it fails to do that for predefined buffer since it doesn't have a valid insertion location. As a result of that any file ID created for an include inside the predefined buffers breaks the traversal logic in SourceManager::computeMacroArgsCache. To fix this issue we first record number of created FIDs for predefined buffer, and then skip them explicitly in source manager. Another solution would be to just give predefined buffers a valid source location, but it is unclear where that should be.. Reviewers: sammccall Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D78649
-
Haojian Wu authored
Summary: Fixes https://github.com/clangd/clangd/issues/347. Reviewers: kadircet Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D78626
-
Puyan Lotfi authored
Hash Jump Table Indices uniquely within a basic block for MIR Canonicalizer / MIR VReg Renamer passes. Differential Revision: https://reviews.llvm.org/D77966
-
Louis Dionne authored
rdar://14390808
-
Jon Roelofs authored
-
Alexander Shaposhnikov authored
Add support for relocations for MachO to ObjectYAML / yaml2obj / obj2yaml. Test plan: make check-all Differential revision: https://reviews.llvm.org/D77844
-
Aaron Ballman authored
-
Louis Dionne authored
-
Sam McCall authored
Summary: This is intended as a companion to (and is inspired by) D72874 which attempts to resolve these cases using the index. The intent is we'd try this strategy after the AST-based approach but before the index-based (I think local usages would be more reliable than index matches). Reviewers: nridge Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D75479
-
Peter Collingbourne authored
Differential Revision: https://reviews.llvm.org/D78594
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Mikhail Maltsev authored
-
David Green authored
-
Victor Huang authored
Currently an indirect call produces the following sequence on PCRelative mode: extern void function( ); extern void (*ptrfunc) ( ); void g() { ptrfunc=function; } void f() { (*ptrfunc) ( ); } Producing paddi 3, 0, .LC0@PCREL, 1 ld 3, 0(3) std 2, 24(1) ld 12, 0(3) mtctr 12 bctrl ld 2, 24(1) Though the caller does not use or preserve r2, it is still saved and restored across a function call. This patch is added to remove these redundant save and restores for indirect calls. Differential Revision: https://reviews.llvm.org/D77749 -
Benjamin Kramer authored
-
Benjamin Kramer authored
llvm/lib/Target/Hexagon/HexagonTargetObjectFile.cpp:296:11: warning: enumeration value 'ScalableVectorTyID' not handled in switch [-Wswitch] switch (Ty->getTypeID()) { ^ -
Denis Khalikov authored
Summary: Add support for memrefs with element type as integer type and simple test. Differential Revision: https://reviews.llvm.org/D78560
-
Jonas Devlieghere authored
Remove LLDB's TaskPool and replace its uses with LLVM's ThreadPool. Differential revision: https://reviews.llvm.org/D78337
-
Johannes Doerfert authored
This was reported as PR45635, committed first as 72a9e7c9, reverted by 188f5cde, and now recommitted with the test change.
-
- Apr 22, 2020
-
-
Christopher Tetreault authored
Summary: Introduce new types for fixed width and scalable vectors. Does not remove getNumElements yet so as to not break code during transition period. Reviewers: deadalnix, efriedma, sdesmalen, craig.topper, huntergr Reviewed By: sdesmalen Subscribers: jholewinski, arsenm, jvesely, nhaehnle, mehdi_amini, rriddle, jpienaar, burmako, shauheen, antiagainst, nicolasvasilache, csigg, arpith-jacob, mgester, lucyrfox, liufengdb, kerbowa, Joonsoo, grosul1, frgossen, lldb-commits, tschuett, hiraditya, rkruppe, psnobl, llvm-commits Tags: #llvm, #lldb Differential Revision: https://reviews.llvm.org/D77587
-
Mark Murray authored
Summary: This commit recommits the reversion of https://reviews.llvm.org/D75039. Concensus appears to be in favour of assembly-time resolution of these ADR and LDR relocations, in line with GNU. The previous backout broke many lld tests, now fixed by Peter Smith in 61bccda9. Reviewers: psmith Subscribers: kristof.beyls, hiraditya, danielkiss, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D78301
-
Victor Huang authored
Add initial support for PC Relative addressing to get jump table base address instead of using TOC. Differential Revision: https://reviews.llvm.org/D75931
-
Sander de Smalen authored
Add the IsOverloadNone flag to tell CGBuiltin that it does not have an overloaded type. This is used for e.g. svpfalse which does not take any arguments and always returns a svbool_t. This patch also adds builtins for svcntb_pat, svcnth_pat, svcntw_pat and svcntd_pat, as those don't require custom codegen. Reviewers: SjoerdMeijer, efriedma, rovka Reviewed By: efriedma Tags: #clang Differential Revision: https://reviews.llvm.org/D77596
-
Mircea Trofin authored
Summary: Implementation details and internal (to module) APIs. Reviewers: craig.topper, dblaikie Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D78610
-
Johannes Doerfert authored
Forgot to include test changes :( This reverts commit 72a9e7c9.
-
Francois Ferrand authored
Summary: Even when BreakBeforeBinaryOperators is set, AlignOperands kept aligning the beginning of the line, even when it could align the actual operands (e.g. after an assignment). With this patch, there is an option to actually align the operands, so that the operator gets right-aligned with the equal sign or return operator: int aaaaa = bbbbbb + cccccc; return aaaaaaa && bbbbbbb; This not happen in parentheses, to avoid 'breaking' the indentation: if (aaaaa && bbbbb) return; Reviewers: krasimir, djasper Subscribers: cfe-commits, klimek Differential Revision: https://reviews.llvm.org/D32478 -
Francois Ferrand authored
When multiple ternary operators are chained, e.g. like an if/else-if/ else-if/.../else sequence, clang-format will keep aligning the colon with the question mark, which increases the indent for each conditionals: int a = condition1 ? result1 : condition2 ? result2 : condition3 ? result3 : result4; This patch detects the situation (e.g. conditionals used in false branch of another conditional), to avoid indenting in that case: int a = condition1 ? result1 : condition2 ? result2 : condition3 ? result3 : result4; When BreakBeforeTernaryOperators is false, this will format like this: int a = condition1 ? result1 : condition2 ? result2 : conditino3 ? result3 : result4; -
Mikhail Maltsev authored
Summary: This change mentions CDE assembly in the LLVM release notes and CDE intrinsics in both Clang and LLVM release notes. Reviewers: kristof.beyls, simon_tatham Reviewed By: kristof.beyls Subscribers: danielkiss, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D78481
-