- Jun 02, 2022
-
-
Joseph Huber authored
Summary: We use the beginning and end of this enumeration to determine what is and isn't an object format. The enumeration for the OffloadBinary was put here by mistake which led to it being mistakenly classified as an Object file.
-
Aaron Ballman authored
This adds new files to track DRs 100-199 and 400-499, but the file contents are still a work in progress. It also updates the associated status in the DR tracking page.
-
Nico Weber authored
This reverts commit 4463bd0f. 8c8a2679 was reverted in d42fe9aa.
-
Paul Robinson authored
-
Alex Zinenko authored
These ops complement the tiling/padding transformations by transforming higher-level named structured operations such as depthwise convolutions into lower-level and/or generic equivalents that are better handled by some downstream transformations. Differential Revision: https://reviews.llvm.org/D126698
-
Hans Wennborg authored
This caused assertions, see comment on the code review: llvm/clang/lib/AST/Decl.cpp:1510: clang::LinkageInfo clang::LinkageComputer::getLVForDecl(const clang::NamedDecl *, clang::LVComputationKind): Assertion `D->getCachedLinkage() == LV.getLinkage()' failed. > The option mdefault-visibility-export-mapping is created to allow > mapping default visibility to an explicit shared library export > (e.g. dllexport). Exactly how and if this is manifested is target > dependent (since it depends on how they map dllexport in the IR). > > Three values are provided for the option: > > * none: the default and behavior without the option, no additional export linkage information is created. > * explicit: add the export for entities with explict default visibility from the source, including RTTI > * all: add the export for all entities with default visibility > > This option is useful for targets which do not export symbols as part of > their usual default linkage behaviour (e.g. AIX), such targets > traditionally specified such information in external files (e.g. export > lists), but this mapping allows them to use the visibility information > typically used for this purpose on other (e.g. ELF) platforms. > > Reviewed By: MaskRay > > Differential Revision: https://reviews.llvm.org/D126340 This reverts commit 8c8a2679.
-
Xing Xue authored
Summary: This patch changes scripts to add libunwind CI on AIX. Test config file ibm-libunwind-shared.cfg.in is introduced for testing on AIX. Reviewed by: ldionne, MaskRay, libunwind, ibc++abi Differential Revision: https://reviews.llvm.org/D126017
-
PeixinQiao authored
The entity with BIND(C) attribute cannot be a named constant, so the BIND(C) and parameter attributes are conflicted. Add check for it. Reviewed By: klausler Differential Revision: https://reviews.llvm.org/D126654
-
Nikita Popov authored
As discussed on the review, this change breaks the standalone clang build. When building against an installed LLVM, the LLVM_TOOLS_BINARY_DIR cmake variable points to the location of the installed LLVM tools, not to the cmake build directory. This means that we would end up trying to move hmaptool into something like /usr/bin as part of the normal build, while this should only be happening when running an install target. This reverts commit bf1ab1f0.
-
Aaron Ballman authored
This reverts commit d374b65f. The changes lose AST fidelity (reported in #55778), but also may be improperly dropping _Atomic qualifiers. I am rolling the changes back until I've finished discussions in WG14 about the proper resolution to DR423.
-
Andrzej Warzynski authored
One out-of-date section is also deleted. Differential Revision: https://reviews.llvm.org/D126712
-
Nicolas Vasilache authored
Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D126761
-
Guillaume Chatelet authored
The description was referring to a ``src`` parameter probably copied over from ``llvm.memcpy``
-
Florian Hahn authored
After 05776122 this special case doesn't exist any longer.
-
Mikael Holmen authored
Without this fix we get ../../clang-tools-extra/unittests/clang-tidy/ModernizeModuleTest.cpp:270:2: error: extra ';' outside of a function is incompatible with C++98 [-Werror,-Wc++98-compat-extra-semi] }; ^ 1 error generated. when compiling with -Werror.
-
Nikita Popov authored
Also mention a relevant C API.
-
Paul Walker authored
Differential Revision: https://reviews.llvm.org/D126255
-
Nikita Popov authored
The other two modules now use opaque pointers, so make sure this one does as well.
-
Nikita Popov authored
Flang is manually mangling names for memset/memcpy/memmove intrinsics, so we need to update the mangling to use the opaque pointer format (p0 instead of p0i8).
-
Nikita Popov authored
There is still one remaining failure in Lower/forall/character-1.f90.
-
Martin Storsjö authored
The test looked for the wrong string, but it happened to match as it was a substring of the actual output. This fixes a typo from d8e67c1c.
-
Nikita Popov authored
Add bindings for LLVMConstGEP2, LLVMAddAlias2, LLVMBuildLoad2, LLVMBuildInvoke2, LLVMBuildGEP2, LLVMBuildInBoundsGEP2, LLVMBuildStructGEP2, LLVMBuildPtrDiff2 and use these in tests.
-
Gabor Marton authored
Depends on D126406. Checking of the overconstrained property is much better suited here. Differential Revision: https://reviews.llvm.org/D126707
-
Martin Storsjö authored
This is used for calling the SEH aware setjmp on MinGW. Differential Revision: https://reviews.llvm.org/D126764
-
Martin Storsjö authored
This is needed for SEH based setjmp on Windows. Differential Revision: https://reviews.llvm.org/D126763
-
Martin Storsjö authored
For functions that require restoring SP from FP (e.g. that need to align the stack, or that have variable sized allocations), the prologue and epilogue previously used to look like this: push {r4-r5, r11, lr} add r11, sp, #8 ... sub r4, r11, #8 mov sp, r4 pop {r4-r5, r11, pc} This is problematic, because this unwinding operation (restoring sp from r11 - offset) can't be expressed with the SEH unwind opcodes (probably because this unwind procedure doesn't map exactly to individual instructions; note the detour via r4 in the epilogue too). To make unwinding work, the GPR push is split into two; the first one pushing all other registers, and the second one pushing r11+lr, so that r11 can be set pointing at this spot on the stack: push {r4-r5} push {r11, lr} mov r11, sp ... mov sp, r11 pop {r11, lr} pop {r4-r5} bx lr For the same setup, MSVC generates code that uses two registers; r11 still pointing at the {r11,lr} pair, but a separate register used for restoring the stack at the end: push {r4-r5, r7, r11, lr} add r11, sp, #12 mov r7, sp ... mov sp, r7 pop {r4-r5, r7, r11, pc} For cases with clobbered float/vector registers, they are pushed after the GPRs, before the {r11,lr} pair. Differential Revision: https://reviews.llvm.org/D125649 -
Martin Storsjö authored
Skip inserting regular CFI instructions if using WinCFI. This is based a fair amount on the corresponding ARM64 implementation, but instead of trying to insert the SEH opcodes one by one where we generate other prolog/epilog instructions, we try to walk over the whole prolog/epilog range and insert them. This is done because in many cases, the exact number of instructions inserted is abstracted away deeper. For some cases, we manually insert specific SEH opcodes directly where instructions are generated, where the automatic mapping of instructions to SEH opcodes doesn't hold up (e.g. for __chkstk stack probes). Skip Thumb2SizeReduction for SEH prologs/epilogs, and force tail calls to wide instructions (just like on MachO), to make sure that the unwind info actually matches the width of the final instructions, without heuristics about what later passes will do. Mark SEH instructions as scheduling boundaries, to make sure that they aren't reordered away from the instruction they describe by PostRAScheduler. Mark the SEH instructions with the NoMerge flag, to avoid doing tail merging of functions that have multiple epilogs that all end with the same sequence of "b <other>; .seh_nop_w, .seh_endepilogue". Differential Revision: https://reviews.llvm.org/D125648
-
jacquesguan authored
This patch adds widen and split support for VP_FPTOSI, VP_FPTOUI, VP_SITOFP and VP_UITOFP. Differential Revision: https://reviews.llvm.org/D126847
-
lewuathe authored
Lower sin/cos operation in complex dialect to libm as a baseline. This follows up to https://reviews.llvm.org/D125550. Reviewed By: pifon2a Differential Revision: https://reviews.llvm.org/D126755
-
Nikita Popov authored
Add binding for the opaque pointer compatible LLVMBuildCall2 API and use it in tests.
-
lewuathe authored
Add a sanity check for newly added tan operation in complex dialect. It follows-up to https://reviews.llvm.org/D126685. Differential Revision: https://reviews.llvm.org/D126858
-
owenca authored
Also updates the unit tests to match the updated LLVM Coding Standards. Differential Revision: https://reviews.llvm.org/D126758
-
Stanislav Gatev authored
This is part of the implementation of the dataflow analysis framework. See "[RFC] A dataflow analysis framework for Clang AST" on cfe-dev. Differential Revision: https://reviews.llvm.org/D120495 Reviewed-by: ymandel, xazax.hun
-
Benjamin Kramer authored
-
Nikita Popov authored
This enabled opaque pointers by default in LLVM. The effect of this is twofold: * If IR that contains *neither* explicit ptr nor %T* types is passed to tools, we will now use opaque pointer mode, unless -opaque-pointers=0 has been explicitly passed. * Users of LLVM as a library will now default to opaque pointers. It is possible to opt-out by calling setOpaquePointers(false) on LLVMContext. A cmake option to toggle this default will not be provided. Frontends or other tools that want to (temporarily) keep using typed pointers should disable opaque pointers via LLVMContext. Differential Revision: https://reviews.llvm.org/D126689
-
Amir Ayupov authored
Use color coding to distinguish nodes: - Entry nodes have bold border - Scalar (non-loopy) code is milk white - Outer loops are light yellow - Innermost loops are light blue `-print-loops` needs to be enabled to provide BinaryLoopInfo. Examples: {F23170673} {F23170680} Reviewed By: rafauler Differential Revision: https://reviews.llvm.org/D126248 -
Venkata Ramanaiah Nalamothu authored
Reviewed By: JDevlieghere Differential Revision: https://reviews.llvm.org/D126596
-
Weining Lu authored
-
Amir Ayupov authored
Reuse the option `-dot-tooltip-code` to put block instructions into the label. This way, the instructions are displayed by default when used with dot viewer. When the .dot file is used with dot2html, instructions are hidden by default, and are shown by clicking on a node. {F23169510} Reviewed By: rafauler Differential Revision: https://reviews.llvm.org/D126237 -
Amir Ayupov authored
To be rendered in browser using d3-graphviz. Example: {F23169510} Reviewed By: rafauler Differential Revision: https://reviews.llvm.org/D126218
-