- Apr 20, 2020
-
-
Lei Zhang authored
Differential Revision: https://reviews.llvm.org/D78044
-
Lei Zhang authored
-
Lei Zhang authored
memref types with dynamic dimensions do not have a compile-time known size. They should be mapped to SPIR-V runtime array types. Differential Revision: https://reviews.llvm.org/D78197
-
Julian Lettner authored
We can use `simctl spawn --standalone` to enable running tests without the need for an already-booted simulator instance. This also side-steps the problem of not having a good place to shutdown the instance after we are finished with testing. rdar://58118442 Reviewed By: delcypher Differential Revision: https://reviews.llvm.org/D78409
-
Florian Hahn authored
DelSet was used to avoid invalidating the current iterator while modifying the map we are iterating over. By using an early_inc_range, (which increments to iterator 'early', allowing us to remove the current element), we can get rid of DelSet. Reviewers: gilr, rengolin, Ayal, hsaito Reviewed By: Ayal Differential Revision: https://reviews.llvm.org/D78420
-
Sam McCall authored
Summary: This is guaranteed to be a no-op without the preamble, so should be a no-op with it too. Partially fixes https://github.com/clangd/clangd/issues/337 This doesn't yet work for #ifndef guards, which are not recognized in preambles. see D78038 I can't for the life of me work out how to test this outside clangd. The original reentrant preamble diagnostic was untested, I added a test to clangd for that too. Reviewers: kadircet Subscribers: ilya-biryukov, jkorous, arphaman, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D78366
-
Sander de Smalen authored
Builtins that have the merge type MergeAnyExp or MergeZeroExp, merge into a 'undef' or 'zero' vector respectively, which enables the _x and _z behaviour for unary operations. This patch also adds builtins for svabs and svneg. Reviewers: SjoerdMeijer, efriedma, rovka Reviewed By: efriedma Tags: #clang Differential Revision: https://reviews.llvm.org/D77591
-
David Tenty authored
Summary: r13 isn't reserved on 32-bit AIX, which is reflected in our calling convention but not callee saved regs. Reviewers: sfertile, ZarkoCA, cebowleratibm, jasonliu Reviewed By: sfertile Subscribers: lei, wuzish, nemanjai, hiraditya, kbarton, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D77101
-
Alexander Belyaev authored
https://llvm.discourse.group/t/rfc-add-std-atomic-rmw-op/489 Differensial revision: https://reviews.llvm.org/D78352
-
Petre-Ionut Tudor authored
This reverts commit cabfcf84. The patch introduced another bug in the optimization.
-
Simon Pilgrim authored
Push MBFIWrapper.h include down to BranchFolding.cpp/IfConversion.cpp
-
Simon Pilgrim authored
Replace with forward declarations or push down to MIRVRegNamerUtils.cpp where necessary.
-
Fangrui Song authored
D77522 changed --warn-backrefs to not warn for linking sandwich problems (-ldef1 -lref -ldef2). This removed lots of false positives. However, glibc still has some problems. libc.a defines some symbols which are normally in libm.a and libpthread.a, e.g. __isnanl/raise. For a linking order `-lm -lpthread -lc`, I have seen: ``` // different resolutions: GNU ld/gold select libc.a(s_isnan.o) as the definition backward reference detected: __isnanl in libc.a(printf_fp.o) refers to libm.a(m_isnanl.o) // different resolutions: GNU ld/gold select libc.a(raise.o) as the definition backward reference detected: raise in libc.a(abort.o) refers to libpthread.a(pt-raise.o) ``` To facilitate deployment of --warn-backrefs, add --warn-backrefs-exclude= so that certain known issues (which may be impractical to fix) can be whitelisted. Deliberate choices: * Not a comma-separated list (`--warn-backrefs-exclude=liba.a,libb.a`). -Wl, splits the argument at commas, so we cannot use commas. --export-dynamic-symbol is similar. * Not in the style of `--warn-backrefs='*' --warn-backrefs=-liba.a`. We just need exclusion, not inclusion. For easier build system integration, we should avoid order dependency. With the current scheme, we enable --warn-backrefs, and indivial libraries can add --warn-backrefs-exclude=<glob> to their LDFLAGS. Reviewed By: psmith Differential Revision: https://reviews.llvm.org/D77512
-
Tom Weaver authored
Add DebuggerControllerBase and DefaultController to Dexter implements a new architecture that supports new and novel ways of running a debugger under dexter. Current implementation adds the original default behaviour via the new architecture via the DefaultController, this should have NFC. Reviewers: Orlando Differential Revision: https://reviews.llvm.org/D76926
-
Louis Dionne authored
We previously tried re-exporting symbols that didn't exist when exceptions were disabled. Note that building libc++abi without exceptions still doesn't work when linking against the default-provided libSystem.dylib, because it transitively depends on libobjc.dylib, and that requires __gxx_personality_v0. But building libc++abi with exceptions and libc++ without exceptions does work.
-
Emre Kultursay authored
Summary: ...and replace it with m_last_file_spec instead. When Source Cache is enabled, the value stored in m_last_file_sp is already in the Source Cache, and caching it again in SourceManager brings no extra benefit. All we need is to "remember" the last used file, and FileSpec can serve the same purpose. When Source Cache is disabled, the user explicitly requested no caching of source files, and therefore, m_last_file_sp should NOT be used. Bug: llvm.org/PR45310 Depends on D76805. Reviewers: labath, jingham Reviewed By: jingham Subscribers: labath, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D76806
-
Emre Kultursay authored
Summary: Lookup and subsequent insert was done using uninitialized FileSpec object, which caused the cache to be a no-op. Bug: llvm.org/PR45310 Depends on D76804. Reviewers: labath, JDevlieghere Reviewed By: labath Subscribers: mgorny, jingham, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D76805
-
Emre Kultursay authored
Summary: LLDB memory-maps large source files, and at the same time, caches all source files in the Source Cache. On Windows, memory-mapped source files are not writeable, causing bad user experience in IDEs (such as errors when saving edited files). IDEs should have the ability to disable the Source Cache at LLDB startup, so that users can edit source files while debugging. Bug: llvm.org/PR45310 Reviewers: labath, JDevlieghere, jingham Reviewed By: labath Subscribers: lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D76804
-
Pavel Labath authored
The cleanup in 3e3701f8 left these variable unused.
-
Yuri Per authored
Summary: In D49685 sysroot behaviour was partially fixed. But files from local filesystem with same path still has priority over files from sysroot. This patch fixes it by removing fallback to local filesystem from RemoteAwarePlatform::GetModuleSpec(). It is not actually required because higher level code do such fallback itself. See, for example, resolver in Platform::GetSharedModule(). Reviewers: labath, clayborg, EugeneBi Reviewed By: labath Subscribers: lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D77529
-
Sander de Smalen authored
Adds another bunch of of intrinsics that take immediates with varying ranges based, some being a complex rotation immediate which are a set of allowed immediates rather than a range. svmla_lane: lane immediate ranging 0..(128/(1*sizeinbits(elt)) - 1) svcmla_lane: lane immediate ranging 0..(128/(2*sizeinbits(elt)) - 1) svdot_lane: lane immediate ranging 0..(128/(4*sizeinbits(elt)) - 1) svcadd: complex rotate immediate [90, 270] svcmla: svcmla_lane: complex rotate immediate [0, 90, 180, 270] Reviewers: efriedma, SjoerdMeijer, rovka Reviewed By: efriedma Tags: #clang Differential Revision: https://reviews.llvm.org/D76680 -
Bjorn Pettersson authored
Summary: The indexing operator in Scatterer may result in building new instructions. When using multiple such operators in a function argument list the order in which we build instructions depend on argument evaluation order (which is undefined in C++). This patch avoid such problems by expanding the components using the [] operator prior to the function call. Problem was seen when comparing output, while builing LLVM with different compilers (clang vs gcc). Reviewers: foad, cameron.mcinally, uabelho Reviewed By: foad Subscribers: hiraditya, mgrang, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D78455
-
Sander de Smalen authored
This patch adds a number of intrinsics that take immediates with varying ranges based on the element size one of the operands. svext: immediate ranging 0 to (2048/sizeinbits(elt) - 1) svasrd: immediate ranging 1..sizeinbits(elt) svqshlu: immediate ranging 1..sizeinbits(elt)/2 ftmad: immediate ranging 0..(sizeinbits(elt) - 1) Reviewers: efriedma, SjoerdMeijer, rovka, rengolin Reviewed By: SjoerdMeijer Tags: #clang Differential Revision: https://reviews.llvm.org/D76679 -
Simon Pilgrim authored
-
Michael Forster authored
Summary: The implicit conversion fails under Clang 3.8. Reviewers: sammccall Reviewed By: sammccall Subscribers: jkorous, arphaman, kadircet, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D78487
-
LLVM GN Syncbot authored
-
Konstantin Schwarz authored
Summary: Similar to the CallLowering class used for lowering LLVM IR calls to MIR calls, we introduce a separate class for lowering LLVM IR inline asm to MIR INLINEASM. There is no functional change yet, all existing tests should pass. Reviewers: arsenm, dsanders, aemerson, volkan, t.p.northover, paquette Reviewed By: aemerson Subscribers: gargaroff, wdng, mgorny, rovka, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D78316
-
Peter Smith authored
After D78301 MC no longer emits a relocation for this case. Change to use .inst and .reloc to synthesize the same instruction and relocation.
-
serge-sans-paille authored
-
Artem Dergachev authored
This isn't the case when the callee is completely unknown, eg. when it is a symbolic function pointer.
-
Mark Murray authored
Requested-by: Nico Weber
-
Ayke van Laethem authored
Previously, the AVR backend would put functions in .progmem.data. This is probably a regression from when functions still lived in address space 0. With this change, only global constants are placed in .progmem.data. This is not complete: avr-gcc additionally respects -fdata-sections for progmem global constants, which LLVM doesn't yet do. But fixing that is a bit more complicated (and I believe other backends such as RISC-V might also have similar issues). Differential Revision: https://reviews.llvm.org/D78212
-
Ayke van Laethem authored
The avr-libc provides *divmodqi4, *divmodhi4, and *divmodsi4 functions, but does not provide a *divmoddi4. Instead it provides regular *divdi3 and *moddi3 functions. Note that avr-libc doesn't support *divti3 or *modti3 for 128-bit integer manipulation. Source: https://github.com/gcc-mirror/gcc/blob/releases/gcc-5.4.0/libgcc/config/avr/lib1funcs.S Differential Revision: https://reviews.llvm.org/D78437
-
Georgii Rymar authored
There are few `std::vector<std::string>` members in `FileCheckRequest`. This patch changes these arrays to `std::vector<StringRef>` and refactors the code related to cleanup/improve/simplify it. Differential revision: https://reviews.llvm.org/D78202
-
Georgii Rymar authored
SHT_NOBITS are a bit special because occupy no physical space. This patch adds support for them. Differential revision: https://reviews.llvm.org/D77805
-
Georgii Rymar authored
There are cases when we either might print garbage or crash when reading strings for dumping dynamic tags. For example when a string table is not null-terminated or goes past the EOF. This patch fixes issues mentioned. Differential revision: https://reviews.llvm.org/D77216
-
Simon Pilgrim authored
Replace with forward declarations.
-
Dmitry Preobrazhensky authored
According to DWARF standard, is_stmt is a global flag; when set or cleared it should affect subsequent .loc directives. However llvm assembler handled is_stmt differently: it forced all locations to have is_stmt=1 unless is_stmt was specified explicitly as 0. The fix utilizes current DWARF state flags to compute correct is_stmt values. See https://bugs.llvm.org/show_bug.cgi?id=45529 for a detailed issue description. Reviewers: arsenm, probinson, enderby Differential Revision: https://reviews.llvm.org/D78102
-
Simon Pilgrim authored
Ensure X86Subtarget.h module header is at the top, and sort the remaining includes.
-
Simon Pilgrim authored
We don't need all of MCStreamer.h, just FormattedStream.h. The rest can be replaced with forward declarations. X86WinAllocaExpander.cpp had an implicit dependency on MapVector.h which I've added locally.
-