- Apr 07, 2020
-
-
Uday Bondhugula authored
Fix point-wise copy generation to work with bounds that have max/min. Change structure of copy loop nest to use absolute loop indices and subtracting base from the indexes of the fast buffers. Update supporting utilities: Fix FlatAffineConstraints::getLowerAndUpperBound to look at equalities as well and for a missing division. Update unionBoundingBox to not discard common constraints (leads to a tighter system). Update MemRefRegion::getConstantBoundingSizeAndShape to add memref dimension constraints. Run removeTrivialRedundancy at the end of MemRefRegion::compute. Run single iteration loop promotion and load/store canonicalization after affine data copy (in its test pass as well). Differential Revision: https://reviews.llvm.org/D77320
-
Simon Tatham authored
Summary: In `Unix/Process.inc`, we seed a random number generator from `/dev/urandom` if possible, but if not, we're happy to fall back to ordinary pseudorandom strategies, like the current time and PID. The corresponding function on Windows calls `CryptGenRandom`, but it //doesn't// have a fallback if that strategy fails. But `CryptGenRandom` //can// fail, if a cryptography provider isn't properly initialized, or occasionally (by our observation) simply intermittently. If it's reasonable on Unix to implement traditional pseudorandom-number seeding as a fallback, then it's surely reasonable to do the same on Windows. So this patch adds a last-ditch use of ordinary rand(), using much the same strategy as the Unix fallback code. Reviewers: hans, sammccall Reviewed By: hans Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D77553
-
Hans Wennborg authored
-
Pierre-vh authored
Differential Revision: https://reviews.llvm.org/D77201
-
Karl-Johan Karlsson authored
Fixed gcc warning: clang-tools-extra/clangd/Protocol.cpp:300:16: warning: unused variable 'SemanticHighlighting' [-Wunused-variable]
-
Awanish Pandey authored
Unfortunately this test case never made it to the trunk. This was part of https://reviews.llvm.org/D73462 revision.
-
Sam Clegg authored
These should have been part of https://reviews.llvm.org/D77192 Differential Revision: https://reviews.llvm.org/D77358
-
Julian Lettner authored
-
Fred Riss authored
My main work directory is on a separate partition, but I usually access it through a symlink in my home directory. When running the tests, either Clang or make resolves the symlink, and the real path of the test directory ends up in the debug information. This confuses this test as LLDB is trying to remap the real path, but the remapping description uses the path with the symlink in it. Calling realpath on the source path when constructing the remapping description fixes it.
-
Richard Smith authored
constructor with default arguments. We used to try to rebuild the call as a call to the faked-up inherited constructor, which is only a placeholder and lacks (for example) default arguments. Instead, build the call by reference to the original constructor. In passing, add a note to say where a call that recursively uses a default argument from within itself occurs. This is usually pretty obvious, but still at least somewhat useful, and would have saved significant debugging time for this particular bug.
-
Kai Luo authored
-
Xiang1 Zhang authored
Do not commit the llvm/test/ExecutionEngine/MCJIT/cet-code-model-lager.ll because it will cause build bot fail(not suitable for window 32 target). Summary: This patch comes from H.J.'s https://github.com/hjl-tools/llvm-project/commit/2bd54ce7fa9e94fcd1118b948e14d1b6fc54dfd2 **This patch fix the failed llvm unit tests which running on CET machine. **(e.g. ExecutionEngine/MCJIT/MCJITTests) The reason we enable IBT at "JIT compiled with CET" is mainly that: the JIT don't know the its caller program is CET enable or not. If JIT's caller program is non-CET, it is no problem JIT generate CET code or not. But if JIT's caller program is CET enabled, JIT must generate CET code or it will cause Control protection exceptions. I have test the patch at llvm-unit-test and llvm-test-suite at CET machine. It passed. and H.J. also test it at building and running VNCserver(Virtual Network Console), it works too. (if not apply this patch, VNCserver will crash at CET machine.) Reviewers: hjl.tools, craig.topper, LuoYuanke, annita.zhang, pengfei Reviewed By: LuoYuanke Subscribers: tstellar, efriedma, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D76900
-
Jun Ma authored
Differential Revision: https://reviews.llvm.org/D77362
-
Eli Friedman authored
Use the current getAlign() APIs where it makes sense, and use Align instead of MaybeAlign when we know the value is non-zero.
-
Nico Weber authored
This reverts commit 3185881d and adds a missing "include(AddLLVM)" (similar lines already exist elsewhere in compiler-rt).
-
Saleem Abdulrasool authored
We would return `LLDB_INVALID_IMAGE_TOKEN` for the address rather than the correct value of `LLDB_IMAGE_ADDRESS`. This would result in the check for the return value to silently pass on x64 as the invalid address and invalid token are of different sizes (`size_t` vs `uintprr_t`). This corrects the return value to `LLDB_INVALID_ADDRESS` and addresses the rest to reset the mapped address to the invalid value. This was found by inspection when trying to implement module support for Windows.
-
Adrian Prantl authored
-
Eli Friedman authored
Now that we have scalable vectors, there's a distinction that isn't getting captured in the original SequentialType: some vectors don't have a known element count, so counting the number of elements doesn't make sense. In some cases, there's a better way to express the commonality using other methods. If we're dealing with GEPs, there's GEP methods; if we're dealing with a ConstantDataSequential, we can query its element type directly. In the relatively few remaining cases, I just decided to write out the type checks. We're talking about relatively few places, and I think the abstraction doesn't really carry its weight. (See thread "[RFC] Refactor class hierarchy of VectorType in the IR" on llvmdev.) Differential Revision: https://reviews.llvm.org/D75661
-
Richard Smith authored
instead of recursing on the stack. This doesn't actually resolve PR45333, because we now hit stack overflow somewhere else, but it does get us further. I've not found any way of testing this that doesn't still crash elsewhere.
-
Davide Italiano authored
PR: 45425 <rdar://problem/61359768> Differential Revision: https://reviews.llvm.org/D77604
-
Stanislav Mekhanoshin authored
-
Daniel Sanders authored
Summary: In lieu of a proper pass that strips debug info, add a way to omit debug-locations from the MIR output so that instructions with MMO's continue to match CHECK's when mir-debugify is used Reviewers: aprantl, bogner, vsk Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D77575
-
Nick Desaulniers authored
Summary: Thanks to Bill Wendling (void) for the report and steps to reproduce. It looks like this was missed during r350508's cleanup of the CallSite split into CallBase, CallInst, and CallBrInst. This was exposed by running pgo on a callbr, which was creating a ptrtoint to the inline asm thinking it was an indirect call. The relevant callchain looks like: IndirectCallPromotionPlugin::run() -> PGOIndirectCallVisitor::findIndirectCalls() -> PGOIndirectCallVisitor::visitCallBase() -> CallBase::isIndirectCall() Reviewers: void, chandlerc Reviewed By: void Subscribers: hiraditya, llvm-commits, craig.topper, srhines Tags: #llvm Differential Revision: https://reviews.llvm.org/D77600 -
Jonas Devlieghere authored
Add LLDB_REGISTER_METHOD macros for GetRetriesWithFixIts and SetRetriesWithFixIts.
-
Jacques Pienaar authored
The rewriter generates a call to build that is not handled by opdef generator and so will fail to compile. Also if this is a root node being replaced (depth 0) then using the more generic build method in the rewrite suffices.
-
Vedant Kumar authored
Summary: In some cases, ASan may insert instrumentation before function arguments have been stored into their allocas. This causes two issues: 1) The argument value must be spilled until it can be stored into the reserved alloca, wasting a stack slot. 2) Until the store occurs in a later basic block, the debug location will point to the wrong frame offset, and backtraces will show an uninitialized value. The proposed solution is to move instructions which initialize allocas for arguments up into the entry block, before the position where ASan starts inserting its instrumentation. For the motivating test case, before the patch we see: ``` | 0033: movq %rdi, 0x68(%rbx) | | DW_TAG_formal_parameter | | ... | | DW_AT_name ("a") | | 00d1: movq 0x68(%rbx), %rsi | | DW_AT_location (RBX+0x90) | | 00d5: movq %rsi, 0x90(%rbx) | | ^ not correct ... | ``` and after the patch we see: ``` | 002f: movq %rdi, 0x70(%rbx) | | DW_TAG_formal_parameter | | | | DW_AT_name ("a") | | | | DW_AT_location (RBX+0x70) | ``` rdar://61122691 Reviewers: aprantl, eugenis Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D77182 -
Nico Weber authored
-
Adrian Prantl authored
This is mostly useful for Swift support; it allows LLDB to substitute a matching SDK it shipped with instead of the sysroot path that was used at compile time. The goal of this is to make the Xcode SDK something that behaves more like the compiler's resource directory, as in that it ships with LLDB rather than with the debugged program. This important primarily for importing Swift and Clang modules in the expression evaluator, and getting at the APINotes from the SDK in Swift. For a cross-debugging scenario, this means you have to have an SDK for your target installed alongside LLDB. In Xcode this will always be the case. rdar://problem/60640017 Differential Revision: https://reviews.llvm.org/D76471
-
Louis Dionne authored
Both test formats are equivalent, so this *should* not be a problem. We've fixed a couple of failures uncovered by the first time we tried making the switch, so this new attempt should go even farther. If failures are noticed, it should be fine to revert this commit, but please give a heads up afterwards so we know to address the issues! Also note that it is still possible to use the old format by passing `--param=use_old_format=True` when running Lit for the time being.
-
Sid Manning authored
Add support and update testcases. Differential Revision: https://reviews.llvm.org/D77579
-
Daniel Sanders authored
Summary: To debugify MIR, we need to be able to create metadata and to do that, we need a non-const Module. However, MachineFunction only had a const reference to the Function preventing this. Reviewers: aprantl, bogner Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D77439
-
Louis Dionne authored
-
Louis Dionne authored
-
Daniel Sanders authored
Summary: It can be helpful to test behaviour w.r.t locations without having DEBUG_VALUE around. In particular, because DEBUG_VALUE has the potential to change CodeGen behaviour (e.g. hasOneUse() vs hasOneNonDbgUse()) while locations generally don't. Reviewers: aprantl, bogner Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D77438
-
Davide Italiano authored
-
Hubert Tong authored
This reverts commit 6c1a9fb1. Commit causes failures: http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-autoconf/builds/49206
-
Jonas Devlieghere authored
This test is currently XFAILed but is passing on the Windows bot.
-
David Blaikie authored
X86ISelLowering: Minor refactor to avoid redundant initialization while ensuring compiler warnings can hopefully still prove initialization Based on post-commit review/discussion in fabe52a7412b
-
Kanglei Fang authored
Summary: While [the original diff](https://reviews.llvm.org/D42493) makes a lot of sense, and multiple inline block parameter/trailing paramemter after inline block paramemter should be discouraged, the formatting result is different than what xcode does by default For the exact same example provided in the original diff: ``` [object blockArgument:^{ a = 42; } anotherArg:42]; ``` The code is hard to read and not very visually pleasing This diff uses `ObjCBreakBeforeNestedBlockParam` to shield from the formatting When it's set to false, don't allign the inline block paramemters. Reviewers: jolesiak, benhamilton, jinlin Reviewed By: jolesiak Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D77039
-