- Apr 21, 2020
-
-
Zola Bridges authored
Summary: This patch add the dataflow option to LLVM_USE_SANITIZER and documents it. Tested via check-cxx (wip to fix the errors). Reviewers: morehouse, #libc! Subscribers: mgorny, cfe-commits, libcxx-commits Tags: #clang, #libc Differential Revision: https://reviews.llvm.org/D78390
-
Sean Fertile authored
-
David Tenty authored
This reverts commit 6c881bf1.
-
Oliver Stannard authored
This started failing after an OS upgrade on a buildbot machine, and I don't see anything obvious to fix or revert, so disable it for now to get the bot green. Covered by https://bugs.llvm.org/show_bug.cgi?id=44158 Differential revision: https://reviews.llvm.org/D78496
-
Jonas Devlieghere authored
Support passive replay as proposed in the RFC [1] on lldb-dev and described in more detail on the lldb website [2]. This patch extends the LLDB_RECORD macros to re-invoke the current function with arguments deserialized from the reproducer. This relies on the function being called in the exact same order as during replay. It uses the same mechanism to toggle the API boundary as during recording, which guarantees that only boundary crossing calls are replayed. Another major change is that before this patch we could ignore the result of an API call, because we only cared about the observable behavior. Now we need to be able to return the replayed result to the SWIG bindings. We reuse a lot of the recording infrastructure, which can be a little confusing. We kept the existing naming to limit the amount of churn, but might revisit that in a future patch. [1] http://lists.llvm.org/pipermail/lldb-dev/2020-April/016100.html [2] https://lldb.llvm.org/resources/reproducers.html Differential revision: https://reviews.llvm.org/D77602
-
Nikita Popov authored
Following the rule of five, declare move constructor and move assignment operator for ValueLatticeElement. This allows moving the ConstantRange rather than copying it. This does not matter in most cases, where we're dealing with APInts <= 64 bits. It does avoid unnecessary copies of allocations for larger APInts. Additionally we change the implementation approach to make the copy/move assignment operators make use of the copy/move constructors, rather than the other way around. The constructors are the more primitive operations. Differential Revision: https://reviews.llvm.org/D78425
-
Nikita Popov authored
Use Instruction::comesBefore() instead of OrderedInstructions inside InstructionPrecedenceTracking. This also removes the dominator tree dependency. Differential Revision: https://reviews.llvm.org/D78461
-
Zola Bridges authored
Summary: When I read this on the website it looks like the `--` in the used font turns into an em dash. I updated this with inline literal mark up so the `--` will remain obvious. Reviewers: EricWF, #libc! Subscribers: libcxx-commits Tags: #libc Differential Revision: https://reviews.llvm.org/D78405
-
Sean Fertile authored
Adds support for passing a ByVal formal argument completely on the stack (ie after all argument registers are exhausted). Differential Revision: https://reviews.llvm.org/D78263
-
Jonas Devlieghere authored
Add two modes to the reproducer replay script that make debugging a little easier. Verbose mode prints stdout and stderr, regardless of whether replay was successful. When --failure-only is passed, output is limited to tests that failed to replay.
-
Sander de Smalen authored
This implements zeroing of false lanes for binary operations, where instead of merging into the first operand vector (_m) a `select` is placed on the first input vector. This approach easily translates to the use of the `zeroing movprfx` instruction. This patch also adds builtins for svabd, svadd, svdiv, svdivr, svmax, svmin, svmul, svmulh, svub and svsubr. Reviewers: SjoerdMeijer, efriedma, rovka Reviewed By: efriedma Tags: #clang Differential Revision: https://reviews.llvm.org/D77593
-
- 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
-