- Feb 06, 2020
-
-
Fangrui Song authored
D73542 made a typo (`rel.type == R_PLT_PC`; should be `rel.expr`) and introduced a regression: BL->BLX substitution was disabled when the target symbol is preemptible (expr is R_PLT_PC). The two added bl instructions in arm-thumb-interwork-shared.s check that we patch BL to BLX. Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=1047531
-
Jonas Paulsson authored
The "{=v0}" constraint did not result in the expected error message in the abscence of the vector facility, because 'v0' matches as a string into the AnyRegBitRegClass in common code. This patch adds checks for vector support in case of "{v" and soft-float in case of "{f" to remedy this. Review: Ulrich Weigand. -
Juneyoung Lee authored
-
Craig Topper authored
The load ports need a cycle for each potentially loaded element just like Haswell and Skylake. Unlike Haswell and Broadwell, the number of uops does not scale with the number of elements. Instead the load uops run for multiple cycles. I've taken the latency number from the uops.info. The port binding for the non-load uops is taken from the original IACA data I have. Differential Revision: https://reviews.llvm.org/D74000
-
Matt Arsenault authored
-
Juneyoung Lee authored
Summary: This patch fixes https://bugs.llvm.org/show_bug.cgi?id=44388 which incorrectly assigns an ABI alignment to memset when there was no explicit alignment given. Reviewers: gchatelet, lenary, nikic Reviewed By: nikic Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D74083
-
Jacques Pienaar authored
Summary: Optional regions are supported in the generic op print/parse form, update the docs to match. Differential Revision: https://reviews.llvm.org/D74061
-
Hans Wennborg authored
The problem was noticed by the Chrome OS toolchain folks (crbug.com/1048445) because llvm-objcopy --add-gnu-debuglink would insert the wrong checksum when processing a binary larger than 4 GB. That use case regressed in 1e1e3ba2 when we started using llvm::crc32() in more places. Differential revision: https://reviews.llvm.org/D74039
-
Matt Arsenault authored
Really the intrinsic definition is wrong, but work around this here. The DAG lowering introduces an MMO. We have to introduce a new operation to avoid the verifier complaining about the missing mayLoad.
-
Sanjay Patel authored
The old code was doing an N^2 search for splat index. Differential Revision: https://reviews.llvm.org/D74064
-
Sanjay Patel authored
I was debug stepping through an x86 shuffle lowering and noticed we were doing an N^2 search for splat index. I didn't find the equivalent functionality anywhere else in LLVM, so here's a helper that takes an array of int and returns a splatted index while ignoring undefs (any negative value). This might also be used inside existing ShuffleVectorInst/ShuffleVectorSDNode functions and/or help with D72467. Differential Revision: https://reviews.llvm.org/D74064
-
Victor Huang authored
-
Adrian McCarthy authored
Removed some #ifdefs specific to Windows handling of VFS paths. This eliminates most of the differences between the Windows and non-Windows code paths. Making this work required some changes to account for the fact that VFS file paths can be Posix style or Windows style, so you cannot just assume that they use the host's native path style. In one case, this means implementing our own version of make_absolute, since the filesystem code in Support doesn't have styles in the sense that the path code does. Differential Review: https://reviews.llvm.org/D71092
-
Matt Arsenault authored
Use cmp ord instead of cmp_class compared to the DAG version for the nan check, but mostly try to match the existsing pattern. I think the sign doesn't matter for fract, so we could do a little better with the source modifier matching. I think this is also still broken as in D22898, but I'm leaving it as-is for now while I don't have an SI system to test on.
-
Nate Voorhies authored
Reviewers: luismarques, lenary Reviewed By: lenary Subscribers: hiraditya, asb, rbar, johnrusso, simoncook, sabuasal, niosHD, kito-cheng, shiva0217, jrtc27, MaskRay, zzheng, edward-jones, rogfer01, MartinMosbeck, brucehoult, the_o, rkruppe, PkmX, jocewei, psnobl, benna, Jim, lenary, s.egerton, pzheng, sameer.abuasal, apazos, luismarques, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D73984
-
Stephen Neuendorffer authored
Summary: MLIRAnalysis depended on MLIRVectorOps MLIRVectorOps depended on MLIRAnalysis for Loop information. Both of these can be solved by factoring out libraries related to loop analysis into their own library. The new MLIRLoopAnalysis might be better off with the Loop Dialect in the future. Reviewers: nicolasvasilache, rriddle!, mehdi_amini Reviewed By: mehdi_amini Subscribers: Joonsoo, vchuravy, merge_guards_bot, mgorny, mehdi_amini, rriddle, jpienaar, burmako, shauheen, antiagainst, arpith-jacob, mgester, lucyrfox, aartbik, liufengdb, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D73655
-
Stephen Neuendorffer authored
Summary: This makes it consistent with other test passes. Reviewers: rriddle Reviewed By: rriddle Subscribers: merge_guards_bot, mgorny, mehdi_amini, jpienaar, burmako, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, aartbik, liufengdb, Joonsoo, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D74068
-
Stephen Neuendorffer authored
Summary: This breaks a cyclic library dependency where MLIRPass used the verifier in MLIRAnalysis, but MLIRAnalysis also contained passes used for testing. The presence of the test passes here is archaeology, predating test/lib/Transform. Reviewers: rriddle Reviewed By: rriddle Subscribers: merge_guards_bot, mgorny, mehdi_amini, jpienaar, burmako, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, liufengdb, Joonsoo, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D74067
-
LLVM GN Syncbot authored
-
Nico Weber authored
This reverts commit fc62b36a. Breaks tests on mac: http://45.33.8.238/mac/7301/step_11.txt
-
shafik authored
Currently when generating debug-info for a BlockDecl we are setting the Name to the mangled name and not setting the LinkageName. This means we see the mangled name for block invcations ends up in DW_AT_Name and not in DW_AT_linkage_name. This patch fixes this case so that we also set the LinkageName as well. Differential Revision: https://reviews.llvm.org/D73282
-
Jan Korous authored
This reverts commit 05807089.
-
Kostya Kortchinsky authored
Summary: I tried to move the `madvise` calls outside of one of the secondary mutexes, but this backfired. There is situation when a low release interval is set combined with secondary pressure that leads to a race: a thread can get a block from the cache, while another thread is `madvise`'ing that block, resulting in a null header. I changed the secondary race test so that this situation would be triggered, and moved the release into the cache mutex scope. Reviewers: cferris, pcc, eugenis, hctim, morehouse Subscribers: jfb, #sanitizers, llvm-commits Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D74072
-
Shu-Chun Weng authored
contractCrossBankCopyIntoStore() finds the instruction defines the source register and uses its output to replace the register. There are, however, instructions that have multiple outputs, e.g. G_UNMERGE_VALUES. Current implementation hardcodes to operand 0 and has no way of knowing which output should be used. This change adds another function to directly return the register that is the source of the register and use that for folding. This fixes https://bugs.llvm.org/show_bug.cgi?id=44783 Differential Revision: https://reviews.llvm.org/D74005
-
David Green authored
-
River Riddle authored
Summary: This details the structure of the format, it's requirements, and gives a few examples. Differential Revision: https://reviews.llvm.org/D73983
-
Fangrui Song authored
-
Matt Arsenault authored
This is safer in case anyone tries to run MI optimization passes on pre-selected MIR. If there turns out to be a real reason to do this, we might need to add separate convergent intrinsic opcodes.
-
LLVM GN Syncbot authored
-
Nick Desaulniers authored
Summary: The output from llvm-reduce still has significantly more attributes than bugpoint does. Teach llvm-reduce to remove attributes. Reviewers: diegotf, dblaikie, george.burgess.iv Subscribers: mgorny, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D73853
-
Jessica Paquette authored
This implements walking over G_ASHR in the same way as `getTestBitOperand` in AArch64ISelLowering. ``` (tbz (ashr x, c), b) -> (tbz x, b+c) or (tbz x, msb) if b+c is > # bits in x ``` Differential Revision: https://reviews.llvm.org/D73933
-
Christopher Tetreault authored
This reverts commit a0544103, reapplying commit 31574d38
-
Petr Hosek authored
These don't build on MSVC at the moment, so filter these out altogether from the list of runtimes and print a warning. Differential Revision: https://reviews.llvm.org/D73812
-
Matt Arsenault authored
These have a better chance of combining with other operations and are currently much better supported than G_EXTRACT.
-
Jessica Paquette authored
(1) The check needs to be on the 0th operand of whatever we're folding (2) Checks for validity should happen before we change the bit Fixes a bug which caused MultiSource/Applications/JM/lencod to fail at -O3. Differential Revision: https://reviews.llvm.org/D74002
-
Matt Arsenault authored
Rewrite the result register pair into the expected sinigle register format in the legalizer. I'm also operating under the assumption that TFE doesn't apply to stores or atomics, but don't know if this is true or not.
-
Jonathan Coe authored
Summary: Skip access specifiers before record definitions when deciding whether or not to wrap lines so that C# class definitions do not get wrapped into a single line. Reviewers: krasimir, MyDeveloperDay Reviewed By: krasimir Tags: #clang-format Differential Revision: https://reviews.llvm.org/D74050
-
Hiroshi Yamauchi authored
Summary: Tune the profile threshold flag value for instrumentation PGO based on internal benchmarks. Also, add flags to allow profile guided size optimizations for non-cold code to be enabled separately for instrumentation and sample PGSO. Neither changes the default behavior (yet) as it's disabled for non-cold code. Reviewers: davidxl Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D72937
-
Michał Górny authored
Pass the correct library directory from CMake to dotest.py when linking liblldb, instead of trying to reconstruct the path from executable path. This fixes link failures on platforms having non-null LLVM_LIBDIR_SUFFIX. Differential Revision: https://reviews.llvm.org/D73767
-
Matt Arsenault authored
The mask results of these should be uniform. The trickier part is the dummy booleans used as IR glue need to be treated as divergent. This should make the divergence analysis results correct for the IR the DAG is constructed from. This should allow us to eliminate requiresUniformRegister, which has an expensive, recursive scan over all users looking for control flow intrinsics. This should avoid recent compile time regressions.
-