- Mar 05, 2020
-
-
Florian Hahn authored
Currently when printing VPValues we use the object address, which makes it hard to distinguish VPValues as they usually are large numbers with varying distance between them. This patch adds a simple slot tracker, similar to the ModuleSlotTracker used for IR values. In order to dump a VPValue or anything containing a VPValue, a slot tracker for the enclosing VPlan needs to be created. The existing VPlanPrinter can take care of that for the existing code. We assign consecutive numbers to each VPValue we encounter in a reverse post order traversal of the VPlan. Reviewers: rengolin, hsaito, fhahn, Ayal, dorit, gilr Reviewed By: gilr Differential Revision: https://reviews.llvm.org/D73078
-
Daniel Kiss authored
Summary: Hint instructions printed as "hint\t#hintnum" except in case of ARM v8.3a instruction only "hint #hintnum" is printed. This patch changes all format to the fist one. Reviewers: pbarrio, LukeCheeseman, vsk Reviewed By: vsk Subscribers: kristof.beyls, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D75625
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Pavel Labath authored
Some functions in this file only use the "target" component of an execution context. Adjust the argument lists to reflect that. This avoids some defensive null checks and simplifies most of the callers.
-
Krasimir Georgiev authored
This reverts commit 8975aa6e. Causes a compilation warning: llvm-project/llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h:1037:43: warning: 'llvm::BlockFrequencyInfoImpl<llvm::BasicBlock>::BFICallbackVH' has virtual functions but non-virtual destructor [-Wnon-virtual-dtor] class BlockFrequencyInfoImpl<BasicBlock>::BFICallbackVH : public CallbackVH { ^ 1 warning generated.
-
Krasimir Georgiev authored
Summary: Fixes https://bugs.llvm.org/show_bug.cgi?id=45108. The `[` in such cases was mis-annotated as an `TT_ArrayInitializerLSquare`. Reviewers: hans Reviewed By: hans Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D75675
-
Benjamin Kramer authored
Revert "Fix regression in bdad0a1b: force rebuilding of StmtExpr nodes in", "PR45083: Mark statement expressions as being dependent if they appear in" This reverts commit f545ede9. This reverts commit bdad0a1b. This crashes clang. I'll follow up with reproduction instructions.
-
Igor Kudrin authored
-
Sanjay Patel authored
-
Alexey Lapshin authored
Summary: LLD has workaround for the times when SectionIndex was not passed properly: LT->getFileLineInfoForAddress( S->getOffsetInFile() + Offset, nullptr, DILineInfoSpecifier::FileLineInfoKind::AbsoluteFilePath, Info)); S->getOffsetInFile() was added to differentiate offsets between various sections. Now SectionIndex is properly specified. Thus it is not necessary to use getOffsetInFile() workaround. See https://reviews.llvm.org/D58194, https://reviews.llvm.org/D58357. This patch removes getOffsetInFile() workaround. Reviewers: ruiu, grimar, MaskRay, espindola Reviewed By: grimar, MaskRay Subscribers: emaste, arichardson, llvm-commits Tags: #llvm, #lld Differential Revision: https://reviews.llvm.org/D75636
-
Kiran Chandramohan authored
Summary: This patch adds support for translation of the OpenMP barrier construct to LLVM IR. The OpenMP IRBuilder is used for this translation. In this patch the code for translation is added to the existing LLVM dialect translation to LLVM IR. The patch includes code changes and a testcase. Reviewers: jdoerfert, nicolasvasilache, ftynse, rriddle, mehdi_amini Reviewed By: ftynse, rriddle, mehdi_amini Differential Revision: https://reviews.llvm.org/D72962
-
Daniil Suchkov authored
With AssertingVHs instead of bare pointers in BlockFrequencyInfoImpl::Nodes (but without CallbackVHs) ~1/36 of all tests ran by make check fail. It means that there are users of BFI that delete basic blocks while keeping BFI. Some of those transformations add new basic blocks, so if a new basic block happens to be allocated at address where an already deleted block was and we don't explicitly set block frequency for that new block, BFI will report some non-default frequency for the block even though frequency for the block was never set. Inliner is an example of a transformation that adds and removes BBs while querying and updating BFI. With this patch, thanks to updates via CallbackVH, BFI won't keep stale pointers in its Nodes map. This is a resubmission of 408349a2 with fixed MSVC compilation errors. Reviewers: davidxl, yamauchi, asbirlea, fhahn, fedor.sergeev Reviewed-By: asbirlea, davidxl Tags: #llvm Differential Revision: https://reviews.llvm.org/D75341
-
Jon Chesterfield authored
-
Utkarsh Saxena authored
Summary: This patch adds an instrumentation mode for clangd (enabled by corresponding option in cc_opts). If this mode is enabled then user can specify callbacks to run on the final code completion result. Moreover the CodeCompletion::Score will contain the detailed Quality and Relevance signals used to compute the score when this mode is enabled. These are required because we do not any place in which the final candidates (scored and sorted) are available along with the above signals. The signals are temporary structures in `addCandidate`. The callback is needed as it gives access to many data structures that are internal to CodeCompleteFlow and are available once Sema has run. Eg: ScopeDistnace and FileDistance. If this mode is disabled (as in default) then Score would just contain 2 shared pointers (null). Thus cost(memory/time) increase for the default mode would be fairly cheap and insignificant. Reviewers: sammccall Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D75603
-
Tatyana Krasnukha authored
Bugzilla issue: llvm.org/pr45112
-
Daniil Suchkov authored
Reverting the patch because it causes compilation failure on MSVC. This reverts commit 408349a2.
-
Daniil Suchkov authored
With AssertingVHs instead of bare pointers in BlockFrequencyInfoImpl::Nodes (but without CallbackVHs) ~1/36 of all tests ran by make check fail. It means that there are users of BFI that delete basic blocks while keeping BFI. Some of those transformations add new basic blocks, so if a new basic block happens to be allocated at address where an already deleted block was and we don't explicitly set block frequency for that new block, BFI will report some non-default frequency for the block even though frequency for the block was never set. Inliner is an example of a transformation that adds and removes BBs while querying and updating BFI. With this patch, thanks to updates via CallbackVH, BFI won't keep stale pointers in its Nodes map. Reviewers: davidxl, yamauchi, asbirlea, fhahn, fedor.sergeev Reviewed-By: asbirlea, davidxl Tags: #llvm Differential Revision: https://reviews.llvm.org/D75341
-
Pavel Labath authored
the previously static member function took a Disassembler* argument anyway. This renames the argument to "this". The function also always succeeds (returns true), so I change the return type to void.
-
Sam Parker authored
These instructions don't swap lanes so make them valid. Differential Revision: https://reviews.llvm.org/D75667
-
LLVM GN Syncbot authored
-
Jeremy Morse authored
This reverts commit c64ca930. This patch tripped a few build bots: http://lab.llvm.org:8011/builders/clang-x86_64-debian-fast/builds/24703/ http://lab.llvm.org:8011/builders/clang-cmake-x86_64-avx2-linux/builds/13465/ http://lab.llvm.org:8011/builders/clang-with-lto-ubuntu/builds/15994/ Reverting to clear the bots.
-
Igor Kudrin authored
This fixes printing long values that might reside in CIE and FDE, including offsets, lengths, and addresses. Differential Revision: https://reviews.llvm.org/D73887
-
Igor Kudrin authored
The condition was not accurate enough and could interpret some FDEs in .eh_frame or 64-bit DWARF .debug_frame sections as CIEs. Even though such FDEs are unlikely in a normal situation, the wrong interpretation could hide an issue in a buggy generator. Differential Revision: https://reviews.llvm.org/D73886
-
Mikael Holmen authored
New code added in ec3060c7 looked like + case TemplateName::NameKind::OverloadedTemplate: + assert(false && "overloaded templates shouldn't survive to here."); + default: If compiling without asserts we then got a warning about unannotated fallthrough from the case into the default. Change the assert into an llvm_unreachable to silence the warning.
-
Pavel Labath authored
by "inlining" them into their single caller (CommandObjectDisassemble). The functions mainly consist of long argument lists and defensive checks. These become unnecessary after inlining, so the end result is less code. Additionally, this makes the implementation of CommandObjectDisassemble more uniform (first figure out what you're going to disassemble, then actually do it), which enables further cleanups.
-
Georgii Rymar authored
It fixes now what 1c991f90 tried to fix. (A test case failture on 32-bit Arch Linux) On 32-bit hosts it still fails (because it truncates the `Pos` value to 32 bits). It seems happens because of `sizeof` that returns `size_t`, which has a different size on 32/64 bits hosts. I've tested on a 32-bit host and verified that relocation-errors.test test and other LLVM tools tests pass now.
-
Tatyana Krasnukha authored
-
Tatyana Krasnukha authored
-
Daniil Suchkov authored
-
Daniil Suchkov authored
Revert "[ValueTracking] Let isGuaranteedNotToBeUndefOrPoison look into branch conditions of dominating blocks' terminators" That commit causes SIGSEGV on some simple tests. This reverts commit 952ad470.
-
Sam McCall authored
-
Tatyana Krasnukha authored
-
serge-sans-paille authored
Bug spotted by https://cookieplmonster.github.io/2020/02/01/emulator-bug-llvm-bug/ Basically, holding references to object inside a resized vector is a bad idea. Differential Revision: https://reviews.llvm.org/D75110
-
Dvorskiy, Mikhail authored
When one of sub-ranges has not been move constructed into a raw buffer, we should not call clean up for that sub-range. Instead of store detailed info about raw buffer history, the fix does the cleanup a sub-range after each moving the sub-range back. https://reviews.llvm.org/D73779
-
Tatyana Krasnukha authored
Fix-its were intentionally disabled by TestBase.setUp so that incorrect expressions in tests don't pass just because Clang thinks it has a fix-it.
-
Tatyana Krasnukha authored
Some tests set settings and don't clean them up, this leads to side effects in other tests. The patch removes a global debugger instance with a per-test debugger to avoid such effects. From what I see, lldb.DBG was needed to determine the platform before a test is run, lldb.selected_platform is used for this purpose now. Though, this required adding a new function to the SBPlatform interface. Differential Revision: https://reviews.llvm.org/D74903
-
Jun Ma authored
Differential Revision: https://reviews.llvm.org/D75440
-
David Blaikie authored
X86AsmBackend.cpp: #ifndef NDEBUG some only-used-in-asserts variables to fix the -Werror non-asserts build
-