- Feb 06, 2022
-
-
Benjamin Kramer authored
-
Yaxun (Sam) Liu authored
This issue is an oversight in D108621. Literals in HIP are emitted as global constant variables with default address space which maps to Generic address space for HIPSPV. In SPIR-V such variables translate to OpVariable instructions with Generic storage class which are not legal. Fix by mapping literals to CrossWorkGroup address space. The literals are not mapped to UniformConstant because the “flat” pointers in HIP may reference them and “flat” pointers are modeled as Generic pointers in SPIR-V. In SPIR-V/OpenCL UniformConstant pointers may not be casted to Generic. Patch by: Henry Linjamäki Reviewed by: Yaxun Liu Differential Revision: https://reviews.llvm.org/D118876
-
Fangrui Song authored
* partition and isPreemptible are frequently used. Move it to the front * move used beside isUsedInRegularObj. They are similar and accessed together in .symtab finalizing * move auxIdx/dynsymIndex/verdefIndex to the end. This decreases code size.
-
Koakuma authored
Adds libunwind support for SPARCv9 (aka sparc64). This is a rebase of @kettenis' patch D32450, which I created (with his permission) because the original review has become inactive. The changes are of a cosmetic nature to make it fit better with the new code style, and to reuse the existing SPARCv8 code, whenever possible. Please let me know if I posted this on the wrong place. Also, the summary of the original review is reproduced below: > This adds unwinder support for 64-bit SPARC (aka SPARCv9). The implementation was done on OpenBSD/sparc64, so it takes StackGhost into account: > > https://www.usenix.org/legacy/publications/library/proceedings/sec01/full_papers/frantzen/frantzen_html/index.html > > Since StackGhost xor's return addresses with a random cookie before storing them on the stack, the unwinder has to do some extra work to recover those. This is done by introducing a new kRegisterInCFADecrypt "location" type that is used to implement the DW_CFA_GNU_w...
-
Simon Pilgrim authored
bbce75e3 replaced `LLVM Bugzilla` with `LLVM bug tracker`
-
Craig Topper authored
This reverts commit 673d68cd. This hadn't been reviewed yet.
-
Craig Topper authored
We were only testing rotate idioms on rv32i. DAGCombiner won't form ISD::ROTL/ROTR unless those operations are Legal or Custom. They aren't for rv32 so we were only testing shift lowering. This commit adds i64 idioms and the idioms that mask the shift amount to avoid UB for a rotate of 0. I've added riscv64 and Zbb RUN lines to show that we do match rotate for XLen types when available. We currently miss i32 on rv64izbb.
-
Craig Topper authored
Add a new ISD opcode to represent the sign extending behavior of vmv.x.h. Keep the previous anyext opcode to allow the existing (fmv_x_anyexth (fmv_h_x X)) combine to keep working without needing to generate a sign extend. For fmv.x.w we are able to match the sext_inreg in an isel pattern, but a 16-bit sext_inreg is lowered to a shift pair before isel. This seemed like a larger match than we should do in isel. Differential Revision: https://reviews.llvm.org/D118974
-
Fangrui Song authored
They perform similar tasks and are essentially the same after d28c26bb.
-
Simon Pilgrim authored
This was confusing the clang-cmake-x86_64-avx2-linux buildbot (gcc version 5.4.0).
-
Fangrui Song authored
-
Fangrui Song authored
-
Fangrui Song authored
-
Simon Pilgrim authored
Try to reduce at least some of the duplication
-
Fangrui Song authored
-
Fangrui Song authored
For -no-pie/-pie, when `__real_foo` is interposable in a shared object, `foo` is exported. This rule does not match GNU ld and is unneeded because: * the exported `foo` does not interpose `__real_foo` at run-time * the similar `__wrap_foo` <-> `foo` relation does not have the rule
-
Jonas Devlieghere authored
After aed965d5 we no longer demangle full symbol names while indexing the symbol table which means we have to use the mangled name instead of the demangled name to find the symbol for __asan::AsanDie(). This fixes the following two tests: lldb-api :: functionalities/asan/TestMemoryHistory.py lldb-api :: functionalities/asan/TestReportData.py
-
Piotr Kubaj authored
This patch drops throws specifier in posix_memalign declaration because that's different between glibc and other libc, and Clang has a hack. Differential Revision: https://reviews.llvm.org/D117972
-
- Feb 05, 2022
-
-
Simon Pilgrim authored
-
Sanjay Patel authored
This is a translation of the fold added to codegen with: 2d1390ef Part of solving issue #48027
-
Nikolas Klauser authored
Reviewed By: ldionne, #libc, Mordante Spies: mgorny, Mordante, libcxx-commits, arichardson Differential Revision: https://reviews.llvm.org/D118725
-
Sander de Smalen authored
Fold: vecreduce_or(insert_subvec(zeroinitializer, vec)) -> vecreduce_or(vec) vecreduce_and(insert_subvec(allones, vec)) -> vecreduce_and(vec) vecreduce_and/or(insert_subvec(undef, vec)) -> vecreduce_and/or(vec) This is useful for SVE which uses insert/extract subvector to convert fixed-width to/from scalable vectors. Reviewed By: bsmith Differential Revision: https://reviews.llvm.org/D118919
-
Florian Hahn authored
-
Arjun P authored
This also slightly simplifies some code. Reviewed By: Groverkss Differential Revision: https://reviews.llvm.org/D118790
-
Dávid Bolvanský authored
-
Groverkss authored
This patch makes IntegerPolyhedron and derived classes use of getters to access IntegerPolyhedron space information (`numIds, numDims, numSymbols`) instead of directly accessing them. This patch makes it easier to change the underlying implementation of the way identifiers are stored, making it easier to extend/modify existing implementation. Reviewed By: arjunp Differential Revision: https://reviews.llvm.org/D118888
-
Wael Yehia authored
For PGO on AIX, when we switch to the linux-style PGO variable access (via _start and _stop labels), we need the compiler to generate a .ref assembly for each of the three csects: - __llvm_prf_data[RW] - __llvm_prf_names[RO] - __llvm_prf_vnds[RW] We insert the .ref inside the __llvm_prf_cnts[RW] csect so that if it's live then the 3 csects are live. For example, for a testcase with at least one function definition, when compiled with -fprofile-generate we should generate: .csect __llvm_prf_cnts[RW],3 .ref __llvm_prf_data[RW] <<============ needs to be inserted .ref __llvm_prf_names[RO] <<=========== the __llvm_prf_vnds is not always present, so we reference it only when it's present. Reviewed By: sfertile, daltenty Differential Revision: https://reviews.llvm.org/D116607 -
Nikolas Klauser authored
Some `__config` cleanup and `_LIBCPP_ABI_UNSTABLE` should set `_LIBCPP_ABI_VERSION`, since the latest ABI version //is// the unstable ABI. Reviewed By: ldionne, #libc Spies: libcxx-commits Differential Revision: https://reviews.llvm.org/D118989
-
Dávid Bolvanský authored
-
Fangrui Song authored
A STV_PROTECTED shared definition does not set exportDynamic of a defined symbol. This is on the basis that a protected definition cannot be preempted so the export is unnecessary. However, the condition is imperfect because we don't know whether the shared object was built with a symbolic option. Since dropping the condition simplifies code and matches GNU ld, let's do it.
-
Jason Molenda authored
iOS systems are getting near this limit; double itfrom a 150kb buffer to a 300kb buffer, which is freed after processing the list of classes. rdar://88454594 Differential Revision: https://reviews.llvm.org/D118972
-
Craig Topper authored
Only isel (and (srl (sexti32 Y), c2), c1) -> (srliw (sraiw Y, 31), c3 - 32) when there is a sext_inreg present. Don't both checking for Y having 32 sign bits.
-
Groverkss authored
This patch changes variable naming to lowerCamelCase to remove clang-tidy warning in Presburger/Utils.cpp.
-
Tom Stellard authored
GitHub Actions stores the token used for checking out a git repo in the git configuration and then uses that token for pushes from that repo too. We need to use a different token for push because we are pushing to the llvmbot/llvm-project repo and not the upstream repo, so we need to disable persist-credentials when checking out the source.
-
Bill Wendling authored
An attempt to reduce the number of files that are recompiled due to a change. Differential Revision: https://reviews.llvm.org/D119055
-
James Y Knight authored
After fa87fa97, this was no longer guaranteed to be the cleanup just added by this code, if IsEHCleanup got disabled. Instead, use stable_begin(), which _is_ guaranteed to be the cleanup just added. This caused a crash when a object that is callee destroyed (e.g. with the MS ABI) was passed in a call from a noexcept function. Added a test to verify. Fixes: fa87fa97
-
Hongtao Yu authored
I'm seeing ext-tsp helps CSSPGO for our intern large benchmarks so I'm turning on it for CSSPGO. For non-CS AutoFDO, ext-tsp doesn't seem to help, probably because of lower profile counts quality. Reviewed By: wenlei Differential Revision: https://reviews.llvm.org/D119048
-
Alex Xu (Hello71) authored
musl does not set errno in math functions: https://wiki.musl-libc.org/mathematical-library.html, https://git.musl-libc.org/cgit/musl/tree/include/math.h?id=cfdfd5ea3ce14c6abf7fb22a531f3d99518b5a1b#n26. Reviewed By: srhines, MaskRay Differential Revision: https://reviews.llvm.org/D116753
-
Kelvin Li authored
Add the build directory to the search path for llvm-strip instead of solely relying on the PATH environment variable setting. Reviewed By: jhuber6 Differential Revision: https://reviews.llvm.org/D118965
-
Phoebe Wang authored
GCC has updated its generic `-mtune` to haswell. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81616 Update it to match with GCC. Reviewed By: spatel Differential Revision: https://reviews.llvm.org/D118534
-