- May 12, 2020
-
-
Melanie Blower authored
Summary: Erroneous error diagnostic observed in VS2017 <numeric> header Also correction to propagate usesFPIntrin from template func to instantiation. Reviewers: rjmccall, erichkeane (no feedback received) Differential Revision: https://reviews.llvm.org/D79631
-
Simon Pilgrim authored
narrowShuffleMaskElts already has the fast-path for scale == 1, no need to reimplement it here.
-
Yaxun (Sam) Liu authored
recommit c77a4078 with fix https://reviews.llvm.org/D77954 caused regressions due to diagnostics in implicit host device functions. For now, it seems the most feasible workaround is to treat implicit host device function and explicit host device function differently. Basically in device compilation for implicit host device functions, keep the old behavior, i.e. give host device candidates and wrong-sided candidates equal preference. For explicit host device functions, favor host device candidates against wrong-sided candidates. The rationale is that explicit host device functions are blessed by the user to be valid host device functions, that is, they should not cause diagnostics in both host and device compilation. If diagnostics occur, user is able to fix them. However, there is no guarantee that implicit host device function can be compiled in device compilation, therefore we need to preserve its overloading resolution in device compilation. Differential Revision: https://reviews.llvm.org/D79526
-
Sam Parker authored
Don't use truncs are users because sometimes they're free too.
-
Simon Pilgrim authored
Last part of PR22984 - avoid the zero-register dependency if optimizing for size
-
Simon Pilgrim authored
-
Simon Pilgrim authored
Added explicit StringRef.h include as we need the full definition for several inline functions in DebugCounter.h.
-
Pierre-vh authored
getARMVPTBlockMask was an outdated function that only handled basic block masks: T, TT, TTT and TTTT. This worked fine before the MVE VPT Block Insertion Pass improvements as it was the only kind of masks that it could generate, but now it can generate more complex masks that uses E predicates, so it's dangerous to use that function to calculate VPT/VPST block masks. I replaced it with 2 different functions: - expandPredBlockMask, in ARMBaseInfo. This adds an "E" or "T" at the end of an existing PredBlockMask. - recomputeVPTBlockMask, in Thumb2InstrInfo. This takes an iterator to a VPT/VPST instruction and recomputes its block mask by looking at the predicated instructions that follows it. This should be used to recompute a block mask after removing/adding a predicated instruction to the block. The expandPredBlockMask function is pretty much imported from the MVE VPT Blocks pass. I had to change the ARMLowOverheadLoops and MVEVPTBlocks passes as well so they could use these new functions. Differential Revision: https://reviews.llvm.org/D78201
-
Pierre-vh authored
Differential Revision: https://reviews.llvm.org/D76847
-
David Zarzycki authored
Operating systems are best effort by default, so we cannot assume that sleep-like APIs return as soon as we'd like. Even if a sleep-like API returns when we want it to, the potential for preemption means that attempts to measure time are subject to delays.
-
Sander de Smalen authored
Added patterns to implement `select i1 %p, <vty> %a, <vty> %b` Reviewed By: efriedma Tags: #llvm Differential Revision: https://reviews.llvm.org/D79356
-
Sam Parker authored
Add truncating stores and casts with users.
-
Sander de Smalen authored
Reviewed By: efriedma Differential Revision: https://reviews.llvm.org/D79357
-
Petre-Ionut Tudor authored
Summary: The optimization has been refactored to fix certain bugs and limitations. The condition for lowering to S[LR]I has been changed to reflect the manual pseudocode description of SLI and SRI operation. The optimization can now handle more cases of operand type and order. Subscribers: kristof.beyls, hiraditya, danielkiss, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D79233
-
Sam Parker authored
- Specifically check for sext/zext users which have 'long' form NEON instructions. - Add more entries to the table for sext/zexts so that we can report more accurately the number of vmovls required for NEON. - Pass the instruction to the pass implementation. Differential Revision: https://reviews.llvm.org/D79561
-
Sam Parker authored
Pass the instruction to the base implementation. Differential Revision: https://reviews.llvm.org/D79562
-
Manoel Roemmer authored
This patch adds a libomptarget plugin for the NEC SX-Aurora TSUBASA Vector Engine (VE target). The code is largely based on the existing generic-elf plugin and uses the NEC VEO and VEOSINFO libraries for offloading. Differential Revision: https://reviews.llvm.org/D76843
-
Haojian Wu authored
use the llvm::all_of, per dblaikie's suggestion.
-
Sam Parker authored
Add cost model tests for extending loads.
-
Eric Christopher authored
-
Djordje Todorovic authored
This wasn't proposed by the LLVM Style Guide. Please see https://reviews.llvm.org/D79624. This reverts commit rG2552dc5317e0.
-
Djordje Todorovic authored
Reverting this because we found it isn't that useful. Please see https://reviews.llvm.org/D79616. This reverts commit rG45e5a32a8bd3.
-
Jonas Paulsson authored
Use FP-mem instructions when folding reloads into single lane (W..) vector instructions. Only do this when all other operands of the instruction have already been allocated to an FP (F0-F15) register. Review: Ulrich Weigand Differential Revision: https://reviews.llvm.org/D76705
-
David Sherwood authored
I have fixed up some places in SelectionDAG::getNode() where we used to assert that the number of vector elements for two types are the same. I have changed such cases to assert that the element counts are the same instead. I've added new tests that exercise the code paths for all the truncations. All the extend operations are covered by this existing test: CodeGen/AArch64/sve-sext-zext.ll For the ISD::SETCC case I fixed this code path is exercised by these existing tests: CodeGen/AArch64/sve-fcmp.ll CodeGen/AArch64/sve-intrinsics-int-compares-with-imm.ll Differential Revision: https://reviews.llvm.org/D79399
-
Muhammad Omair Javaid authored
TestBasicEntryValues.py fails on arm 32 bit. Currently running on silent master here: http://lab.llvm.org:8014/builders/lldb-arm-ubuntu/
-
Nathan Ridge authored
Summary: This matches the clang-tidy behaviour. Fixes https://github.com/clangd/clangd/issues/375 Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D79691
-
Eric Christopher authored
This reverts commit b6045448. Followed up offline with a testcase.
-
Jim Lin authored
Summary: For the downstream RISCV maintenance, it would be easier to override and reuse CanLowerReturn for customizing. Reviewers: asb, lenary, luismarques Reviewed By: lenary Subscribers: hiraditya, rbar, johnrusso, simoncook, sabuasal, niosHD, kito-cheng, shiva0217, jrtc27, MaskRay, zzheng, edward-jones, rogfer01, MartinMosbeck, brucehoult, the_o, rkruppe, PkmX, jocewei, psnobl, benna, s.egerton, pzheng, sameer.abuasal, apazos, evandro, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D78545
-
Qiu Chaofan authored
This patch adds strict-fp intrinsics support for fma, fsqrt, fmaxnum and fminnum on PowerPC. Reviewed By: hfinkel Differential Revision: https://reviews.llvm.org/D72749
-
Fangrui Song authored
In a big-endian .gcda file, the first four bytes are "gcda" instead of "adcg". All 32-bit values are in big-endian. With this change, libclang_rt.profile can hopefully produce gcov compatible output.
-
Fangrui Song authored
D49132 is partially correct. For 64-bit values, the lower 32-bit part comes before the higher 32-bit part (in a little-endian manner). For 32-bit values, libgcov reads/writes 32-bit values in native endianness.
-
Martin Storsjö authored
This reverts parts of commit 609ef948, as it caused build failures on windows if LLVM_BUILD_EXAMPLES was enabled, due to Bye being added as a dependency of the lit tests.
-
Sourabh Singh Tomar authored
This patch adds support for dumping DW_MACRO_define_strx, DW_MACRO_undef_strx in llvm-dwarfdump. These forms are currently supported only in debug_macro section. Reviewed By: ikudrin, dblaikie Differential Revision: https://reviews.llvm.org/D78736
-
Fangrui Song authored
[gcov] Emit GCOV_TAG_OBJECT_SUMMARY/GCOV_TAG_PROGRAM_SUMMARY correctly and fix llvm-cov's decoding of runcount gcov 9 (r264462) started to use GCOV_TAG_OBJECT_SUMMARY. Before, GCOV_TAG_PROGRAM_SUMMARY was used. libclang_rt.profile should emit just one tag according to the version. Another bug introduced by rL194499 is that the wrong runcount field was selected. Fix the two bugs so that gcov can correctly decode "Runs:" from libclang_rt.profile produced .gcda files, and llvm-cov gcov can correctly decode "Runs:" from libgcov produced .gcda files.
-
Wang, Pengfei authored
-
aartbik authored
Summary: The scalar zero + splat yields more intermediate code than the direct dense zero constant, and ultimately is lowered to exactly the same LLVM IR operations, so no point wasting the intermediate code. Reviewers: nicolasvasilache, andydavis1, reidtatge Reviewed By: nicolasvasilache Subscribers: mehdi_amini, rriddle, jpienaar, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, liufengdb, stephenneuendorffer, Joonsoo, grosul1, frgossen, Kayjukh, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D79758
-
Jason Molenda authored
If the error message from qLaunchSucess included a gdb RSP metacharacter, it could crash lldb. Apply the binary escaping to the string before sending it to lldb; lldb promiscuously applies the binary escaping protocol on packets it receives. Also fix a small bug in cstring_to_asciihex_string where a high bit character (eg utf-8 chars) would not be quoted correctly due to signed char fun. Differential Revision: https://reviews.llvm.org/D79614 rdar://problem/62873581
-
Eric Christopher authored
-