- Aug 15, 2023
-
-
Justin Bogner authored
The -g flag has been selecting whether to emit dwarf or codeview based on the target ABI since 2018, so simply aliasing these flags does the right thing for clang-cl. This moves some code from Clang::ConstructJob to renderDebugOptions to make things a little clearer now that we don't need to keep track of whether we're doing codeview or not in multiple places, and also combines the duplicate handling of the cl vs clang handling of jmc flags as a result. This is mostly NFC, but some -cc1 flags may be rendered in a slightly different order because of the code that was moved around. Differential Revision: https://reviews.llvm.org/D157794
-
Elizabeth Andrews authored
Differential Revision: https://reviews.llvm.org/D157554
-
Matt Arsenault authored
Test all the different itanium mangled opencl functions that are interesting to replace with raw intrinsic calls. https://reviews.llvm.org/D157873
-
Zequan Wu authored
When using debug info correlation, value profiling needs to be switched off. So, we are only merging counter sections. In that case the existance of data section is just used to provide an extra check in case of corrupted profile. This patch performs counter merging by iterating the counter section by counter size and add them together. Reviewed By: ellis, MaskRay Differential Revision: https://reviews.llvm.org/D157632
-
Ian Anderson authored
Use header_information to generate the __std_clang_module header. Instead of using lit_header_restrictions like the manually written header did, make a new header_include_requirements to codify what can be included rather than what can be fully tested. Reviewed By: Mordante, #libc Differential Revision: https://reviews.llvm.org/D157364
-
Ian Anderson authored
Top level modules don't need `requires` because they're only built when their headers are included. Reviewed By: ldionne, Mordante, #libc Differential Revision: https://reviews.llvm.org/D157363
-
Daniel Kiss authored
Resolvers are running before the module is initialised which leads to crashes due to the santizer is not yet initialised. Fixes #40287 Reviewed By: hctim Differential Revision: https://reviews.llvm.org/D150262
-
Alina Sbirlea authored
The word "Assertion" is not necessarily present. Limit the checks to the assertion message.
-
Eymen Ünay authored
Reviewed By: kadircet Differential Revision: https://reviews.llvm.org/D157207
-
Andy Kaylor authored
A static analysis tool reported a "use after move" error in a place where the same object was being passed to two different calls using std::forward. While this seems unlikely to present an actual problem, removing the std::forward makes the code slightly more robust. This relates to the comments here: https://reviews.llvm.org/D152891#inline-1522454 Differential Revision: https://reviews.llvm.org/D157453
-
Michael Maitland authored
VPseudoVWMAC_VV_VF_BF got committed around the same time we added SchedTernary, so we missed having it use SchedTernary. Differential Revision: https://reviews.llvm.org/D157898
-
Michael Maitland authored
This reverts commit 6da69114. This commit failed to build.
-
Michael Maitland authored
VPseudoVWMAC_VV_VF_BF got committed around the same time we added SchedTernary, so we missed having it use SchedTernary. Differential Revision: https://reviews.llvm.org/D157898
-
Valentin Clement authored
iAdd the acc.declare_action attribute to attach pre/post allocation/deallocation functions to operations. Reviewed By: razvanlupusoru Differential Revision: https://reviews.llvm.org/D157743
-
Fangrui Song authored
Constructs such as inline variables, #line, and #include can create lexical blocks with a different filename. GCOVProfiling and llvm-cov gcov currently don't handle such cases (see GCOVLines::writeOut and GCOVFile::readGCNO) and would incorrectly attribute the line number to the current file. For now, ignore such blocks. Missing line execution counts is better than wrong ones. --- As a workaround that Apple targets don't use -mconstructor-aliases yet, allow line execution count 4 on the A::A line (1f34e282).
-
Craig Topper authored
Reviewed By: reames Differential Revision: https://reviews.llvm.org/D157818
-
-
Slava Zakharin authored
Handle special case of element-per-element assignments generated for creating a temp for unlimited polymorphic hlfir.expr. We currently end up generating an invalid fir.store. We should use the assignment runtime instead. Reviewed By: tblah Differential Revision: https://reviews.llvm.org/D157752
-
Craig Topper authored
This is needed to support things like null pointers. Reviewed By: reames Differential Revision: https://reviews.llvm.org/D157822
-
Josh Stone authored
-
imkiva authored
The register list in the arg string is declared as `{$rlist}`. This patch removes the wrapping curly brackets because of the following: - Curly brackets are the syntax for variant selection, e.g. given `X = {v0 | v1}`, the result after `CodeGenInstruction::FlattenAsmStringVariants` should be `X[AsmVariantNo]`. - ARM also supports the register list, and they do not use the bracket wrapper. - Parse of curly brackets are handled by `RISCVAsmParser::parseReglist`, the brackets in the td file do not correspond to asm syntax. Thus no testcase is affected. So the curly brackets here are redundant and will become dangerous if RISCV needs more asm parser variants (took me several hours to figure out some wired assertion failures in a downstream fork) Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D157472 -
Shubham Sandeep Rastogi authored
support DW_FORM_strx in dsymutil. Differential Revision: https://reviews.llvm.org/D157036
-
Alexey Bataev authored
Sorting algorithms require strict weak ordering for comparators, final fix for cmp instructions comparator.
-
YAMAMOTO Takashi authored
This allows -mexec-model=reactor -shared produces a library module with _initialize entrypoint, which is preferrable over __wasm_call_ctors. This partially reverts https://reviews.llvm.org/D153293 Discussion: https://github.com/dicej/component-linking-demo/issues/3 Reviewed By: sbc100 Differential Revision: https://reviews.llvm.org/D156205
-
Florian Hahn authored
Address post-commit simplification suggestion for 8a56179b: Replace IsTruncated by conditionally setting TruncResultTy only if truncation is required.
-
Arthur Eubanks authored
This reverts commit 1f34e282. Test fails on x86-64 mac, see comments on https://reviews.llvm.org/rG1f34e282e8066281eb1447e21e44a2a2e9983e79.
-
David Green authored
As in all the other cpus from D134521, this adds FeatureFuseAdrpAdd to NeoverseV2 to allow more linker relaxations.
-
Ingo Müller authored
Reviewed By: springerm Re-land 691a2fab which was incorrectly reverted. Differential Revision: https://reviews.llvm.org/D157706
-
Mehdi Amini authored
This reverts commit 20966fcb. Bot is broken https://lab.llvm.org/buildbot/#/builders/61/builds/47577
-
- Aug 14, 2023
-
-
Fangrui Song authored
Generalize D127933 (Fuchsia special case) to other ELF targets. Ensure that musl, NetBSD, OpenBSD, etc do not get ifunc codegen which is unsupported in their rtld. Link: https://discourse.llvm.org/t/does-ifunc-use-from-llvm-require-os-support/67628 Close: https://github.com/llvm/llvm-project/issues/64631
-
Mehdi Amini authored
This reverts commit 691a2fab. The bot is broken: https://lab.llvm.org/buildbot/#/builders/61/builds/47577
-
Slava Zakharin authored
In case of unlimited polymorphic type, there is no derived type spec, so use NoneType explicitly. Reviewed By: tblah Differential Revision: https://reviews.llvm.org/D157751
-
Simon Pilgrim authored
SelectionDAG::getZeroExtendInReg does exactly the same masking.
-
Nikita Popov authored
The zext constant expression was detected by the fold, but then handled as a sext. Use ZExtOperator instead of ZExtInst to handle constant expressions. Fixes https://github.com/llvm/llvm-project/issues/64669.
-
Matt Arsenault authored
The comment was out of date, the device libs build does provide all the pointer overloads. An extremely pedantic interpretation of the spec would suggest only the flat version exists, but the overloads do exist in the implementation. https://reviews.llvm.org/D156720
-
Luke Lau authored
If we can fit an entire vector of i1 into a single element, e.g. v32i1 -> v1i32, then we can reverse it via vbrev.v. We need to handle the case where the vector doesn't exactly fit into the larger element type, e.g. v4i1 -> v1i8. In this case we shift up the reversed bits afterwards. Reviewed By: fakepaper56, 4vtomat Differential Revision: https://reviews.llvm.org/D157614
-
-
Matt Arsenault authored
Issue #10894 seems to claim this wasn't working. The test does seem to work as intended, except the CHECKs added in 3ac4299d aren't doing anything since it wasn't really using FileCheck.
-
Matt Arsenault authored
Match how the generic implementation handles this. We now will leave behind the dead other user for later passes to deal with. https://reviews.llvm.org/D156707
-
Fangrui Song authored
This adds a RISC-V special case to ToolChain::GetDefaultDwarfVersion, affecting Linux/Haiku/RISCVToolChain. DWARF v5 .debug_loclists/.debug_rnglists's DW_LLE_offset_pair/DW_RLE_offset_pair entry kinds utilitize `.uleb128 A-B` directives where A and B reference local labels in code sections. When A and B are separated by a RISC-V linker-relaxable instruction, A-B is incorrectly folded without a relocation, causing incorrect debug information. ``` void ext(void); int foo(int x) {ext(); return 0;} // DW_AT_location [DW_FORM_loclistx] of a DW_TAG_formal_parameter references a DW_LLE_offset_pair that can be incorrect after linker relaxation. int ext(void); void foo() { { int ret = ext(); if (__builtin_expect(ret, 0)) ext(); } } // DW_AT_ranges [DW_FORM_rnglistx] of a DW_TAG_lexical_block references a DW_RLE_offset_pair that can be incorrect after linker relaxation. ``` D157657 will implement R_RISCV_SET_ULEB128/R_RISCV_SUB_ULEB128 relocations, fixing the issue, but the relocation is only supported by bleeding-edge binutils 2.41 and not by lld/ELF yet. The goal is to make the emitted DWARF correct after linking. Many users don't care about the default DWARF version, but a linker error will be unacceptable. Let's just downgrade the default DWARF version, before binutils>=2.41 is more widely available. An alternative compatibility option is to add a toggle to DwarfDebug.cpp, but that doesn't seem like a good idea. Reviewed By: asb, kito-cheng Differential Revision: https://reviews.llvm.org/D157663
-