- Feb 13, 2020
-
-
Raphael Isemann authored
Summary: The error message from the construct `assertTrue(a == b, "msg") ` are nearly always completely useless for actually debugging the issue. This patch is just replacing this construct (and similar ones like `assertTrue(a != b, ...)` with the proper call to assertEqual or assertNotEquals. This patch was mostly written by a shell script with some manual verification afterwards: ``` lang=python import sys def sanitize_line(line): if line.strip().startswith("self.assertTrue(") and " == " in line: line = line.replace("self.assertTrue(", "self.assertEquals(") line = line.replace(" == ", ", ", 1) if line.strip().startswith("self.assertTrue(") and " != " in line: line = line.replace("self.assertTrue(", "self.assertNotEqual(") line = line.replace(" != ", ", ", 1) return line for a in sys.argv[1:]: with open(a, "r") as f: lines = f.readlines() with open(a, "w") as f: for line in lines: f.write(sanitize_line(line)) ``` Reviewers: labath, JDevlieghere Reviewed By: labath Subscribers: abidh, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D74475 -
Alexander Belyaev authored
Summary: On some platforms the build fails "std::function is not found". The include is used in PassManager::IRPrinterConfig::enableIRPrinting. Differential Revision: https://reviews.llvm.org/D74469
-
Pavel Labath authored
to account for the new location of test files from 99451b44.
-
serge-sans-paille authored
Call llvm_process_pass_plugin from clang when in standalone mode. Differential Revision: https://reviews.llvm.org/D74464
-
serge-sans-paille authored
Basically change the layout to please `go build` and remove references to `llvm-go`. Update llvm/test/Bindings/Go/ to use the system go compiler Differential Revision: https://reviews.llvm.org/D74540
-
Qiu Chaofan authored
Exploit native VSX rounding instruction, x(v|s)r(d|s)pic, which does rounding using current rounding mode. According to C standard library, rint may raise INEXACT exception while nearbyint won't. Reviewed By: lkail Differential Revision: https://reviews.llvm.org/D72685
-
Gabor Marton authored
Summary: Both EOF and the max value of unsigned char is platform dependent. In this patch we try our best to deduce the value of EOF from the Preprocessor, if we can't we fall back to -1. Reviewers: Szelethus, NoQ Subscribers: whisperity, xazax.hun, kristof.beyls, baloghadamsoftware, szepet, rnkovacs, a.sidorin, mikhail.ramalh Tags: #clang Differential Revision: https://reviews.llvm.org/D74473
-
Jeremy Morse authored
When writing the Windows dbgeng driver for Dexter, I couldn't work out why it would either launch a process and leave it free running, or if I started the process suspended, never do anything with it. The result was a hack to create and attach processes manually. This has been flaking out on Reids Windows buildbot, and clearly wasn't a good solution. Digging into this, it turns out that the "normal" cdb / windbg behaviour of breaking whenever we attach to a process is not the default: it has to be explicitly requested from the debug engine. This patch does so (by setting DEBUG_ENGOPT_INITIAL_BREAK in the engine options), after which we can simply call "CreateProcessAndAttach2" and everything automagically works. No test for this behaviour: everything was just broken before. Differential Revision: https://reviews.llvm.org/D74409
-
Haojian Wu authored
-
stozer authored
This reverts commit 61b35e41. This commit causes a timeout in chromium builds; likely to have a similar cause to the previous timeout issue caused by this commit (see 6ded69f2 for more details). It is possible that there is no way to fix this bug that will not cause this issue; further investigations as to the efficiency of handling large amounts of debug info will be necessary.
-
Haojian Wu authored
-
Christof Douma authored
When the clang baremetal driver selects the rt.builtins static library it prefix with "-l" and appends ".a". The result is a nonsense option which lld refuses to accept. Differential Revision: https://reviews.llvm.org/D73904 Change-Id: Ic753b6104e259fbbdc059b68fccd9b933092d828
-
Daniel Kiss authored
In some cases BTI landing pad is inserted even compatible instruction was there already. Meta instruction does not count in this case therefore skip them in the check for first instructions in the function. Differential revision: https://reviews.llvm.org/D74492
-
Kerry McLaughlin authored
Summary: Implements the following intrinsics: - @llvm.aarch64.sve.dup - @llvm.aarch64.sve.mul.lane - @llvm.aarch64.sve.mla.lane - @llvm.aarch64.sve.mls.lane Reviewers: c-rhodes, sdesmalen, dancgr, efriedma, rengolin Reviewed By: sdesmalen Subscribers: tschuett, kristof.beyls, hiraditya, rkruppe, psnobl, cfe-commits, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D74222
-
Guillaume Chatelet authored
-
David Green authored
Simon pointed out that this function is doing a bitcast, which can be incorrect for big endian. That makes the lowering of VMOVN in MVE wrong, but the function is shared between Neon and MVE so both can be incorrect. This attempts to fix things by using the newly added VECTOR_REG_CAST instead of the BITCAST. As it may now be used on Neon, I've added the relevant patterns for it there too. I've also added a quick dag combine for it to remove them where possible. Differential Revision: https://reviews.llvm.org/D74485
-
David Green authored
-
Roman Lebedev authored
-
Peter Smith authored
Recommit of 0b4a047b (reverted in c2900381) to incorporate subsequent fix and add a warning when LLD's interworking behavior has changed. D73474 disabled the generation of interworking thunks for branch relocations to non STT_FUNC symbols. This patch handles the case of BL and BLX instructions to non STT_FUNC symbols. LLD would normally look at the state of the caller and the callee and write a BL if the states are the same and a BLX if the states are different. This patch disables BL/BLX substitution when the destination symbol does not have type STT_FUNC. This brings our behavior in line with GNU ld which may prevent difficult to diagnose runtime errors when switching to lld. This change does change how LLD handles interworking of symbols that do not have type STT_FUNC from previous versions including the 10.0 release. This brings LLD in line with ld.bfd but there may be programs that have not been linked with ld.bfd that depend on LLD's previous behavior. We emit a warning when the behavior changes. A summary of the difference between 10.0 and 11.0 is that for symbols that do not have a type of STT_FUNC LLD will not change a BL to a BLX or vice versa. The table below enumerates the changes | relocation | STT_FUNC | bit(0) | in | 10.0- out | 11.0+ out | | R_ARM_CALL | no | 1 | BL | BLX | BL | | R_ARM_CALL | no | 0 | BLX | BL | BLX | | R_ARM_THM_CALL | no | 1 | BLX | BL | BLX | | R_ARM_THM_CALL | no | 0 | BL | BLX | BL | Differential Revision: https://reviews.llvm.org/D73542
-
Pavel Labath authored
- reduce indentation by removing the defensive GetID()!=INVALID_PROCESS_ID check -- this function is only called when an attach or launch succeeds - replace LLDB_LOGF with LLDB_LOG
-
Haojian Wu authored
Summary: Though this is not needed when using clangd's own index, other indexes (e.g. kythe) need it, as classes and their constructors are different symbols, otherwise we will miss renaming constructors. Reviewers: kbobyrev Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D74411
-
Richard Smith authored
Found by UBSan, reported by Kostya. Thanks!
-
Igor Kudrin authored
We do not keep the actual value of the CIE ID field, because it is predefined, and use a constant when dumping a CIE record. The issue was that the predefined value is different for .debug_frame and .eh_frame sections, but we always printed the one which corresponds to .debug_frame. The patch fixes that by choosing an appropriate constant to print. See the following for more information about .eh_frame sections: https://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/ehframechpt.html Differential Revision: https://reviews.llvm.org/D73627
-
Abdurrahman Akkas authored
In code generators, one can automate the translation of typed ArrayAttrs if element attribute translators are already implemented. However, the type of the element attribute is lost at the construction of TypedArrayAttrBase. With this change one can inspect the element type and generate the translation logic automatically, which will reduce the code repetition. Differential Revision: https://reviews.llvm.org/D73579
-
Kern Handa authored
Differential Revision: https://reviews.llvm.org/D74119
-
Pavel Labath authored
-
River Riddle authored
share code. This reduces the duplication for the two different cases.
-
River Riddle authored
This allows for using it in the declarative assembly form, among other things.
-
Johannes Doerfert authored
Finalization can introduce new blocks we need to outline as well so it makes sense to identify the blocks that need to be outlined after finalization happened. There was also a minor unit test adjustment to account for the fact that we have a single outlined exit block now.
-
Fangrui Song authored
-
Sterling Augustine authored
Summary: Even though this test is a check for failure, lld still attempts to open the final output file, which fails when the default "a.out" file is used and the current directory is read-only. Specifying an output file works around this problem. Reviewers: espindola Subscribers: emaste, MaskRay, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D74523
-
Vladimir Vereschaka authored
This reverts commit a4384c75. These changes break LLVM build on Windows builders. See https://reviews.llvm.org/rGa4384c756bd8a819051009b5b273b2a34be8261b for details.
-
Craig Topper authored
[X86] Add test RUN lines to show cases where we use 512-bit vcmppd/ps with garbage upper bits for 128/256-bit strict_fsetcc On KNL targets, we widen 128/256-bit strict_fsetcc nodes to 512-bits without forcing the upper bits to zero. This can cause spurious exceptions due to garbage upper bits. This behavior was inherited from the non-strict case where the spurious exception isn't a problem.
-
Yonghong Song authored
Currently, BPF does not support dynamic static allocation. For a program like below: extern void bar(int *); void foo(int n) { int a[n]; bar(a); } The current error message looks like: unimplemented operand UNREACHABLE executed at /.../llvm/lib/Target/BPF/BPFISelLowering.cpp:199! Let us make error message explicit so it will be clear to the user what is the problem. With this patch, the error message looks like: fatal error: error in backend: Unsupported dynamic stack allocation ... Differential Revision: https://reviews.llvm.org/D74521 -
Johannes Doerfert authored
Reapply 8a56d64d with minor fixes. The problem was that cancellation can cause new edges to the parallel region exit block which is not outlined. The CodeExtractor will encode the information which "exit" was taken as a return value. The fix is to ensure we do not return any value from the outlined function, to prevent control to value conversion we ensure a single exit block for the outlined region. This reverts commit 3aac953a.
-
Serguei Katkov authored
Patchable statepoint is lowered into sequence of nops, so zeroed call target should not be on register. It is better to use getTargetConstant instead of getConstant to select zero constant for call target. Reviewers: reames Reviewed By: reames Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D74465
-
Austin Kerbow authored
Reviewers: arsenm Subscribers: kzhuravl, jvesely, wdng, nhaehnle, yaxunl, rovka, dstuttard, tpr, t-tye, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D74518
-
Melanie Blower authored
-
Nico Weber authored
Patch from nicolas17 (Nicolás Alvarez)! Differential Revision: https://reviews.llvm.org/D74422
-
Frank Laub authored
Summary: As discussed in https://llvm.discourse.group/t/rfc-add-affine-parallel/350, this is the first in a series of patches to bring in support for the `affine.parallel` operation. This first patch adds the IR representation along with custom printer/parser implementations. Reviewers: bondhugula, herhut, mehdi_amini, nicolasvasilache, rriddle, earhart, jbruestle Reviewed By: bondhugula, nicolasvasilache, rriddle, earhart, jbruestle Subscribers: jpienaar, burmako, shauheen, antiagainst, arpith-jacob, mgester, lucyrfox, aartbik, liufengdb, Joonsoo, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D74288
-