- Feb 18, 2021
-
-
Yang Fan authored
GCC warning: ``` /llvm-project/llvm/lib/MC/ELFObjectWriter.cpp: In member function ‘uint64_t {anonymous}::ELFWriter::writeObject(llvm::MCAssembler&, const llvm::MCAsmLayout&)’: /llvm-project/llvm/lib/MC/ELFObjectWriter.cpp:1137:38: warning: enumeral and non-enumeral type in conditional expression [-Wextra] 1137 | write(uint32_t(Group->isComdat() ? ELF::GRP_COMDAT : 0)); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ``` -
Stanislav Mekhanoshin authored
Remove hsa-gfx90a-v3.s until D95638. It unexpectedly passes on s390x.
-
Yang Fan authored
GCC warning: ``` /llvm-project/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp: In member function ‘virtual llvm::MCSection* llvm::TargetLoweringObjectFileELF::getSectionForLSDA(const llvm::Function&, const llvm::MCSymbol&, const llvm::TargetMachine&) const’: /llvm-project/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp:871:8: warning: variable ‘IsComdat’ set but not used [-Wunused-but-set-variable] 871 | bool IsComdat = false; | ^~~~~~~~ ``` -
Vitaly Buka authored
-
Wang, Pengfei authored
Zero AMX config buffer for non AVX512 cases. Differential Revision: https://reviews.llvm.org/D96927
-
Fangrui Song authored
sys/cdefs.h is a glibc internal header which is not supposed to be included by applications. (Some libc implementations provide this file for compatibility.) Android features.h includes sys/cdefs.h, so we can include features.h instead. This change makes `ninja gwp_asan` build on musl.
-
Mehdi Chinoune authored
Reviewed By: Meinersbur Differential Revision: https://reviews.llvm.org/D94707
-
Igor Kudrin authored
This fixes an issue when "-gdwarf-N" switch was ignored if it was given before another debug option. Differential Revision: https://reviews.llvm.org/D96865
-
Wang, Pengfei authored
-
Craig Topper authored
The type legalizer can call this code based on the scalar type so we need to verify the vector type is a scalable vector. I think due to how type legalization visits nodes, the vector type will have already been legalized so we don't have an issue with using MVT here like we did for EXTRACT_VECTOR_ELT. I've added a test just in case.
-
Fangrui Song authored
D14468 added these dummy sections. This patch adds `__attribute__((used))` so that when compiled by GCC>=11 or (expected, D96838) Clang>=13 on some ELF platforms, these sections will get SHF_GNU_RETAIN to make sure they will not be discarded by ld --gc-sections. We are trying to get rid of LLD's "__start_/__stop_ references retain C identifier name sections" rule. If LLD drops the rule in the future (we will retain compatibility for `__llvm_prf_*` for a while), `__llvm_prf_*` will need to have the SHF_GNU_RETAIN flag, otherwise: ``` // __llvm_prf_cnts/__llvm_prf_data usually exist, but {names,vnds} may not exist. // Such diagnostics will happen with {cnts,data} as well if no input object file is instrumented. % clang++ -fprofile-generate a.cc -fuse-ld=lld -Wl,--gc-sections ld.lld: error: undefined hidden symbol: __start___llvm_prf_names >>> referenced by InstrProfilingPlatformLinux.c >>> InstrProfilingPlatformLinux.c.o:(__llvm_profile_begin_names) in archive /tmp/RelA/lib/clang/13.0.0/lib/linux/libclang_rt.profile-x86_64.a ... ``` Differential Revision: https://reviews.llvm.org/D96902 -
Joseph Huber authored
Floating point conversions inside vectorized loops have performance implications but are very subtle. The user could specify a floating point constant, or call a function without realizing that it will force a change in the vector width. An example of this behaviour is seen in https://godbolt.org/z/M3nT6c . The vectorizer should indicate when this happens becuase it is most likely unintended behaviour. This patch adds a simple check for this behaviour by following floating point stores in the original loop and checking if a floating point conversion operation occurs. Reviewed By: fhahn Differential Revision: https://reviews.llvm.org/D95539
-
Craig Topper authored
[RISCV] Guard the ISD::EXTRACT_VECTOR_ELT handling in ReplaceNodeResults against fixed vectors and non-MVT types. The type legalizer is calling this code based on the scalar type so we need to verify the input type is a scalable vector. The vector type has also not been legalized yet when this is called so we need to use EVT for it.
-
Aart Bik authored
Rationale: Narrower types for overhead storage yield a smaller memory footprint for sparse tensors and thus needs to be supported. Also, more value types need to be supported to deal with all kinds of kernels. Since the "one-size-fits-all" sparse storage scheme implementation is used instead of actual codegen, the library needs to be able to support all combinations of desired types. With some crafty templating and overloading, the actual code for this is kept reasonably sized though. Reviewed By: bixia Differential Revision: https://reviews.llvm.org/D96819
-
Hsiangkai Wang authored
Add the types for the RISC-V V extension builtins. These types will be used by the RISC-V V intrinsics which require types of the form <vscale x 1 x i64>(LMUL=1 element size=64) or <vscale x 4 x i32>(LMUL=2 element size=32), etc. The vector_size attribute does not work for us as it doesn't create a scalable vector type. We want these types to be opaque and have no operators defined for them. We want them to be sizeless. This makes them similar to the ARM SVE builtin types. But we will have quite a bit more types. This patch adds around 60. Later patches will add another 230 or so types representing tuples of these types similar to the x2/x3/x4 types in ARM SVE. But with extra complexity that these types are combined with the LMUL concept that is unique to RISCV. For more background see this RFC http://lists.llvm.org/pipermail/llvm-dev/2020-October/145850.html Authored-by:
Roger Ferrer Ibanez <roger.ferrer@bsc.es> Co-Authored-by:
Hsiangkai Wang <kai.wang@sifive.com> Differential Revision: https://reviews.llvm.org/D92715
-
Stanislav Mekhanoshin authored
LoadStoreOptimizer was using uninitialized SCC value for instructions where it is unsupported.
-
Eric Schweitz authored
Differential Revision: https://reviews.llvm.org/D96912
-
Chen Zheng authored
We are going to support debug sections for XCOFF. So the csect properties are not necessary. This patch makes these properties optional. Reviewed By: hubert.reinterpretcast Differential Revision: https://reviews.llvm.org/D95931
-
Eric Schweitz authored
Differential Revision: https://reviews.llvm.org/D96908
-
Marco Vanotti authored
This change adds support for the dwarf PC register column in arm64, allowing CFI directives to make use of it. As of the last revision of the DWARF for ARM 64-bit architecture[0], the pc register has been added as a valir register, with number 32. This allows libunwinder to restore both pc and lr, which is useful for stack switches and signal contexts. [0]: https://github.com/ARM-software/abi-aa/blob/f52e1ad3f81254497a83578dc102f6aac89e52d0/aadwarf64/aadwarf64.rst Reviewed By: phosek, #libunwind Differential Revision: https://reviews.llvm.org/D96901
-
Joerg Sonnenberger authored
This matches the platform default for GCC. It primarily matters when the integrated assembler is not used as there is no default CPU defined for ARMv7-A and GNU as is upset with -mcpu=generic.
-
Stanislav Mekhanoshin authored
We did not have atomic flags on SMRD, did not copy TSFlags to real instructions, and did not have ret/noret atomic map. At the moment it is NFC, but needed for D96469. Differential Revision: https://reviews.llvm.org/D96823
-
Teresa Johnson authored
This adds an internal option -wholeprogramdevirt-check which if enabled will guard each devirtualization with a runtime check against the expected target, and an invocation of a debug trap if the check fails. This is useful for debugging WPD failures involving undefined behavior (e.g. casting to another class type not in the inheritance chain). Differential Revision: https://reviews.llvm.org/D95969
-
Nico Weber authored
-
Heejin Ahn authored
The new spec does not have `exnref` so EH does not have dependency of the reference types proposal anymore. Reviewed By: dschuff Differential Revision: https://reviews.llvm.org/D96903
-
Stanislav Mekhanoshin authored
Differential Revision: https://reviews.llvm.org/D96906
-
Rahman Lavaee authored
As discussed in D95511, this allows us to encode invalid BBAddrMap sections to be used in more rigorous testing. Reviewed By: jhenderson Differential Revision: https://reviews.llvm.org/D96831
-
Eric Schweitz authored
Differential Revision: https://reviews.llvm.org/D96911
-
LLVM GN Syncbot authored
-
Rong Xu authored
Apply the patch for the third time after fixing buildbot failures. Refactor SampleProfile.cpp to use the core code in CodeGen. The main changes are: (1) Move SampleProfileLoaderBaseImpl class to a header file. (2) Split SampleCoverageTracker to a head file and a cpp file. (3) Move the common codes (common options and callsiteIsHot()) to the common cpp file. (4) Add inline keyword to avoid duplicated symbols -- they will be removed later when the class is changed to a template. Differential Revision: https://reviews.llvm.org/D96455
-
Teresa Johnson authored
lld already marks shared library defs as ExportDynamic, which prevents potentially unsafe devirtualization of symbols defined in shared libraries. Match that behavior in the gold plugin, and add the same test. Depends on D96721. Differential Revision: https://reviews.llvm.org/D96722
-
AndreyChurbanov authored
-
Jon Chesterfield authored
-
Rob Suderman authored
Tosa integers should include I8 and I16 values. Differential Revision: https://reviews.llvm.org/D96900
-
Patrick Oppenlander authored
Otherwise libc++abi.so fails to link on arm with undefined references to some __aeabi_ builtins. Differential Revision: https://reviews.llvm.org/D96574
-
Jessica Paquette authored
Implementation is the same as G_SEXT_INREG. Differential Revision: https://reviews.llvm.org/D96899
-
Jessica Paquette authored
Same implementation as G_SEXT_INREG. Add a testcase to combine-sext-inreg for a concrete example, and a testcase to KnownBitsTest. Differential Revision: https://reviews.llvm.org/D96897
-
Fangrui Song authored
Drop the `Separate` form of `-fmodule-name X`, `-fprofile-remapping-file X`, and `-frewrite-map-file X`. To the best of my knowledge they are not used. Their conventional Joined forms (`-fFOO=`) should be used instead. `-fdebug-compilation-dir X` is used in several places, e.g. chromium/infra/goma. It is also advertised in http://blog.llvm.org/2019/11/deterministic-builds-with-clang-and-lld.html So we keep it but make the EQ form canonical and the Separate form an alias. Differential Revision: https://reviews.llvm.org/D96886
-
AndreyChurbanov authored
-
peter klausler authored
Fortran 2018 explicitly permits an ignored type declaration for the result of a generic intrinsic function. See the comment added to Semantics/expression.cpp for an explanation of why this is somewhat dangerous and worthy of a warning. Differential Revision: https://reviews.llvm.org/D96879
-