- Feb 04, 2020
-
-
River Riddle authored
Summary: This revision add support for accepting a few type constraints, e.g. AllTypesMatch, when inferring types for operands and results. This is used to remove the c++ parsers for several additional operations. Differential Revision: https://reviews.llvm.org/D73735
-
Craig Topper authored
Our normal lowering for ISD::SETCC uses X86ISD::SUB to enable CSE unless the RHS is 0. optimizeCompareInstr called by the peephole pass can turn subs with unused results into cmps to clean this up. This commit makes other places that create X86ISD::CMP have the same behavior.
-
Jonas Devlieghere authored
-
Jonas Devlieghere authored
-
Juneyoung Lee authored
-
Michał Górny authored
Scale segment identifier up to user_id_t before negating it. This fixes the identifers being wrongly e.g. 0x00000000fffffffe instead of 0xfffffffffffffffe. Fix suggested by Pavel Labath. This fixes 5 tests failing on i386 (PR #44748): lldb-shell :: ObjectFile/ELF/PT_LOAD-overlap-PT_INTERP.yaml lldb-shell :: ObjectFile/ELF/PT_LOAD-overlap-PT_TLS.yaml lldb-shell :: ObjectFile/ELF/PT_LOAD-overlap-section.yaml lldb-shell :: ObjectFile/ELF/PT_LOAD.yaml lldb-shell :: ObjectFile/ELF/PT_TLS-overlap-PT_LOAD.yaml Differential Revision: https://reviews.llvm.org/D73914
-
Jonas Devlieghere authored
-
Jonas Devlieghere authored
-
Jonas Devlieghere authored
-
Jonas Devlieghere authored
Re-landing this now that (hopefully) all the failures this caused on the bots have been addressed. This patch changes the behavior of the substrs argument to self.expect. Currently, the elements of substrs are unordered and as long as the string appears in the output, the assertion passes. We can be more precise by requiring that the substrings be ordered in the way they appear. My hope is that this will make it harder to accidentally pass a check because a string appears out of order. Differential revision: https://reviews.llvm.org/D73766
-
Craig Topper authored
We were creating two with different operand orders, and then only using one of them. Instead just swap the operands when needed and create a single node.
-
Mehdi Amini authored
Use isa<> instead of dyn_cast<> when the result isn't used.
-
David Blaikie authored
This code was incorrectly emitting extra bytes into arbitrary parts of the object file when it was meant to be hashing them to compute the DWO ID. Follow-up patch(es) will refactor this API somewhat to make such bugs harder to introduce, hopefully.
-
Jason Molenda authored
debug why his patch is causing this regression; or if it doesn't get figured out tomorrow, we'll revert the patch.
-
David Blaikie authored
-
David Blaikie authored
-
David Blaikie authored
-
Evgenii Stepanov authored
Summary: Fix parsing of mangled stack trace lines where the address has been replaced with "0x", literally. Reviewers: vitalybuka Subscribers: #sanitizers, llvm-commits Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D73823
-
Evgenii Stepanov authored
Reviewers: vitalybuka Subscribers: #sanitizers, llvm-commits Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D73822
-
David Blaikie authored
-
Craig Topper authored
Broadwell was missing half the gather instructions. Both models had some mixups in the resource costs and number of uops. I've updated here based on what I think the original IACA source says with some cross checking against the microcode. I'm not sure about latency as the IACA source I have doesn't have that information. So I'm using the latency from uops.info. I plan to update Skylake models as well, but I'll do that in a separate patch. Differential Revision: https://reviews.llvm.org/D73844
-
Huihui Zhang authored
This reverts commit 9c726e9d. There still buildbot failure: http://lab.llvm.org:8011/builders/clang-armv7-linux-build-cache/builds/25749
-
Huihui Zhang authored
Minor fix, lambda function should capture all automatic variables by reference. Harbormaster pass with: https://reviews.llvm.org/B45640
-
Davide Italiano authored
-
Evgenii Stepanov authored
Summary: An implementation for `sigaltstack` to make its side effect be visible to MSAN. ``` ninja check-msan ``` Reviewers: vitalybuka, eugenis Reviewed By: eugenis Subscribers: dberris, #sanitizers, llvm-commits Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D73816 Patch by Igor Sugak.
-
Vedant Kumar authored
Remove its template arguments and delete its copy/assign methods.
-
Vedant Kumar authored
Shafik suggested this cleanup in https://reviews.llvm.org/D73913.
-
Vedant Kumar authored
DataExtractor::GetMaxS64Bitfield performs a shift with UB in order to construct a bitmask when bitfield_bit_size is 64. The current implementation actually does “work” in this case, because the assumption that the shift result is 0 holds, and 0 minus 1 gives the all-ones value (the correct mask). However, the more readable/maintainable approach might be to use an off-the-shelf UB-free helper. Fixes a UBSan issue: "col" : 37, "description" : "invalid-shift-exponent", "filename" : "/Users/vsk/src/llvm-project-master/lldb/source/Utility/DataExtractor.cpp", "instrumentation_class" : "UndefinedBehaviorSanitizer", "line" : 615, "memory_address" : 0, "summary" : "Shift exponent 64 is too large for 64-bit type 'uint64_t' (aka 'unsigned long long')", rdar://59117758 Differential Revision: https://reviews.llvm.org/D73913
-
Kelvin Li authored
Differential Revision: https://reviews.llvm.org/D72901
-
Jessica Paquette authored
This ports the existing case for G_XOR from `getTestBitOperand` in AArch64ISelLowering into GlobalISel. The idea is to flip between TBZ and TBNZ while walking through G_XORs. Let's say we have ``` tbz (xor x, c), b ``` Let's say the `b`-th bit in `c` is 1. Then - If the `b`-th bit in `x` is 1, the `b`-th bit in `(xor x, c)` is 0. - If the `b`-th bit in `x` is 0, then the `b`-th bit in `(xor x, c)` is 1. So, then ``` tbz (xor x, c), b == tbnz x, b ``` Let's say the `b`-th bit in `c` is 0. Then - If the `b`-th bit in `x` is 1, the `b`-th bit in `(xor x, c)` is 1. - If the `b`-th bit in `x` is 0, then the `b`-th bit in `(xor x, c)` is 0. So, then ``` tbz (xor x, c), b == tbz x, b ``` Differential Revision: https://reviews.llvm.org/D73929
-
Jay Foad authored
[ANDGPU] getMemOperandsWithOffset: support BUF non-stack-access instructions with resource but no vaddr Summary: This enables clustering for many more BUF instructions. Reviewers: rampitec, arsenm, nhaehnle Subscribers: jvesely, wdng, hiraditya, kerbowa, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D73868
-
Max Moroz authored
-
Jessica Paquette authored
This implements the following optimization: ``` (tbz (shl x, c), b) -> (tbz x, b-c) ``` Which appears in `getTestBitOperand` in AArch64ISelLowering.cpp. If we test bit `b` of `shl x, c`, we can fold away the `shl` by looking `c` bits to the right of `b` in `x` when this fits in the type. So, we can just test the `b-c`th bit. Differential Revision: https://reviews.llvm.org/D73924
-
Matt Arsenault authored
GlobalISel doesn't implement the expansion for these yet, so add a flag to force expanding these so it's possible to avoid these for a while.
-
Reid Kleckner authored
This new header needs to be in the LLVM_intrinsics_gen module.
-
Adrian McCarthy authored
There were some missing words and awkward syntax. I think this is clearer. Differential Revision: https://reviews.llvm.org/D73589
-
Adrian McCarthy authored
* [NFC] Renamed local `matching_module_list` to `matching_modules` for conciseness. * [NFC] Eliminated redundant local variable `num_matches` to reduce the risk that changes get it out of sync with `matching_modules.GetSize()`. * Used an early return from case where the symbol file specified matches multiple modules. This is a slight behavior change, but it's an improvement: It didn't make sense to tell the user that the symbol file simultaneously matched multiple modules and no modules. * [NFC] Used an early return from the case where no matches are found, to better align with LLVM coding style. * [NFC] Simplified call of `AppendWarningWithFormat("%s", stuff)` to `AppendWarning(stuff)`. I don't think this adds any copies. It does construct a StringRef, but it was going to have to scan the string for the length anyway. * [NFC] Removed unnecessary comments and reworded others for clarity. * Used an early return if the symbol file could not be loaded. This is a behavior change because previously it could fail silently. * Used an early return if the object file could not be retrieved from the symbol file. Again, this is a change because now there's an error message. * [NFC] Eliminated a namespace alias that wasn't particularly helpful. Differential Revision: https://reviews.llvm.org/D73594 -
Reid Kleckner authored
-
David Green authored
-
Michael Trent authored
Summary: llvm-objdump -macho will no longer print "Contents of" headers when disassembling section contents when -no-leading-headers is specified. For historical reasons, this flag is independent of -no-leading-addr. Reviewers: ab, pete, jhenderson Reviewed By: jhenderson Subscribers: rupprecht, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D73574
-