- Mar 14, 2023
-
-
Jakub Kuderski authored
Replace references to `enumerate` results with either const lvalue rerences or structured bindings. I did not use structured bindings everywhere as it wasn't clear to me it would improve readability. This is in preparation to the switch to `zip` semantics which won't support non-const lvalue reference to elements: https://reviews.llvm.org/D144503. Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D145987
-
Peter Klausler authored
Some Fortran compilers allow kinds of LOGICAL other than C_BOOL for the types of dummy arguments to interoperable (BIND(C)) procedures. As any kind of LOGICAL can be converted to any other without loss of information, this seems to be a useful unambiguous extension that is attested in real codes; accept it for scalars with a portability warning. Differential Revision: https://reviews.llvm.org/D145968
-
Siva Chandra Reddy authored
-
David Blaikie authored
Previously we'd stash a null pointer in a sorted vector of CUs - the next time around, we'd try to do a binary search in that vector (sorting on a key inside the objects pointed to by the elements of the vector) which would deref null if we'd stashed a null in there previously. As a reasonable, but not ideal, workaround - don't stash any result in the vector - this means every query will produce a new warning (resulting in duplicate warnings) but better than a crash. Stashing null in the list could be workable if we also stashed the offset in a pair - but then all the clients would need to be fixed up (maybe using a filtering iterator) which seems like overkill for this uncommon error case.
-
ziqingluo-90 authored
The -Wunsafe-buffer-usage analysis outputs diagnostics in the order of pointer values to associated `VarDecl`s. This creates non-determinism in the order of diagnostics in output since the order cannot be guaranteed in pointer values. However, our fix-it tests were written under the assumption that diagnostics are output in source location order. This results in non-deterministic failures in our tests. This patch fixes the problem by keeping analysis results sorted by source locations. Reviewed by: jkorous, NoQ Differential revision: https://reviews.llvm.org/D145993
-
Alex Langford authored
MIPS Linux support was removed in ce03a862
-
Siva Chandra Reddy authored
-
Carl Ritson authored
Ensure metadata for declarations copied during materialization is properly mapped if declarations do not become definitions. Reviewed By: tejohnson Differential Revision: https://reviews.llvm.org/D145318
-
Jacob Lambert authored
To be consistent with Triple.h, we update references to the optional fourth triple field from ABI to env or enviornment Differential Revision: https://reviews.llvm.org/D145833
-
Ben Langmuir authored
Extract the code the driver uses to expand response files and reuse it in the dependency scanner. rdar://106155880 Differential Revision: https://reviews.llvm.org/D145838
-
Siva Chandra Reddy authored
-
Siva Chandra Reddy authored
-
Siva Chandra Reddy authored
-
Siva Chandra Reddy authored
-
Philip Reames authored
As noted by @luke (https://reviews.llvm.org/D145953#inline-1409312), we were accounting for the cost of vector element size using vlenb whereas the expression can be constant folded for fixed length vectors. Differential Revision: https://reviews.llvm.org/D145973
-
Aiden Grossman authored
Adds a doxygen comment on decodeBBAddrMap specifying what it does as well as some requirements that need to be met when calling it (especially the condition of passing in a relocation section when the ELFFile is relocatable). Differential Revision: https://reviews.llvm.org/D145989
-
Philip Reames authored
The new API matches a case we also need in MSAN. For the moment, I'm staging this as a local-to-ASAN commit, but I expect to move this to a shared location and reuse in the next day or two.
-
Jonas Devlieghere authored
The test was relying on the json module getting imported transitively by one of its imported modules. Make this less brittle by importing it explicitly.
-
Michal Paszkowski authored
After this patch all arbitrary size integers (smaller than 64 bits) in LLVM IR will be promoted to regular size type in SPIR-V (OpTypeInt 8/16/32/64). Differential Revision: https://reviews.llvm.org/D145137
-
Aiden Grossman authored
Currently when using the LLVM tools (eg llvm-readobj, llvm-objdump) to find information about basic block locations using the propeller tooling in relocatable object files function addresses are not mapped properly which causes problems. In llvm-readobj this means that incorrect function names will be pulled. In llvm-objdum this means that most BBs won't show up in the output if --symbolize-operands is used. This patch changes the behavior of decodeBBAddrMap to trace through relocations to get correct function addresses if it is going through a relocatable object file. This fixes the behavior in both tools and also other consumers of decodeBBAddrMap. Some helper functions have been added in/refactoring done to aid in grabbing BB address map sections now that in some cases both relocation and BB address map sections need to be obtained at the same time. Regression tests moved around/added. Differential Revision: https://reviews.llvm.org/D143841
-
Tue Ly authored
Warnings due to changes in behavior of cmake 3.20 or above. See https://cmake.org/cmake/latest/policy/CMP0116.html Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D145983
-
Philip Reames authored
This is part of prework for supporting scalable vector types. This isn't NFC because it shifts the point of failure (i.e. which assert triggers first), but should be NFC for all non-scalable vector inputs.
-
David Tenty authored
GCC on AIX primarily uses the -maix32 and -maix64 to select the bitmode to target. In order to be compatible with existing build configurations, clang should accept these options as well. In this patch we implement these options for AIX targets. Differential Revision: https://reviews.llvm.org/D145610
-
Philip Reames authored
This is a prepass on generalizing for scalable vectors; I'm just picking off the easy bits.
-
Snehasish Kumar authored
This reverts commit 287177a4.
-
Amir Ayupov authored
Leverage move semantics for `std::vector`. This also makes it consistent with `createInstrumentationSnippet`. Reviewed By: Elvina Differential Revision: https://reviews.llvm.org/D145465
-
Valentin Clement authored
In some cases the argument is already handled by a fir.rebox operation. Just adapat the type to match the parent component in that case. Depends on D145928 Differential Revision: https://reviews.llvm.org/D145931
-
David Green authored
The TripCount liveins would currently be printed as badref in the vplan as they are not allocated slots in the VPSlotTracker. This patch allocates them a slot and adds them to the printed Live-Ins. It also makes a minor adjustment to printing of Live-ins to reduce the empty lines when multiple Live-ins are present. Differential Revision: https://reviews.llvm.org/D145507
-
Valentin Clement authored
When the argument is a parent component the box needs to be updated to reflect the correct type. Use `updateBoxForParentComponent` to update the argument accordingly. Depends on D145907 Reviewed By: PeteSteinfeld Differential Revision: https://reviews.llvm.org/D145928
-
Felipe de Azevedo Piovezan authored
This is an initial attempt at preserving debug information in the pseudo instruction expansion of the AArch backend. In particular, we preserve the instruction number required by the InstrRef implementation of live debug values. There are many other expansions that need to be considered, but the ones addressed in this commit should be extremely common, as they handle most arithmetic and logical instructions. Differential Revision: https://reviews.llvm.org/D145943
-
Snehasish Kumar authored
This patch adds support for recording BuildIds usng the sanitizer ListOfModules API. We add another entry to the SegmentEntry struct and change the memprof raw version. Reviewed By: tejohnson Differential Revision: https://reviews.llvm.org/D145190
-
Joseph Huber authored
This patch breaks the handling of `printf` in the OpenMP library. Usiing `-ffreestanding` prevents clang from emitting LLVM builtins, which we use for OpenMP printing support. Shelve this until we have functioning `printf` in the GPU `libc` and we can remove that code. This reverts commit a92eaa3e.
-
Hassnaa Hamdi authored
-Lower AVGFloor(A, B) to: SRL(A) + SRL(B) + (A&B)&1. -Lower AVGCeil(A, B) to: SRL(A) + SRL(B) + (A|B)&1. Differential Revision: https://reviews.llvm.org/D143283
-
Joshua Cranmer authored
-
Philip Reames authored
These idioms already appear a number of places in code, and upcoming changes to the various sanitizers continue to need more instances of the same patterns. Differential Revision: https://reviews.llvm.org/D145945
-
Job Noorman authored
It was using a redundant iteration over super regs to build SmallerAliasMap. Removing this results in exactly the same alias maps and a noticeable performance gain on targets with a large number of registers. Just anecdotally: on my machine, processing a small AArch64 binary went from 2.7s down to 80ms. Reviewed By: Amir Differential Revision: https://reviews.llvm.org/D145779
-
Teresa Johnson authored
Option was added in D53891, and only has basic documentation added later in 5168ddfa. Add more extensive documentation with links to related docs. Differential Revision: https://reviews.llvm.org/D145951
-
Nick Desaulniers authored
Follow up to commit 831e99fe ("[GVNHoist] don't hoist callbr users into the callbr's block") Looks like MSVC has trouble with llvm::is_contained. Unbreak the build. Link: https://lab.llvm.org/buildbot/#/builders/127/builds/45021/steps/7/logs/stdio Reviewed By: hans, kuhar Differential Revision: https://reviews.llvm.org/D145969
-
Joshua Cranmer authored
Reviewed By: Anastasia Differential Revision: https://reviews.llvm.org/D141008
-
Jeffrey Tan authored
This patch refactors PlaceholderObjectFile into ObjectFile plugin directory so that we can reuse it for other cases like coredump debugging with NT_FILE notes. PlaceholderObjectFile is also renamed to ObjectFilePlaceholder to be consistent with ObjectFile plugin naming convention. Differential Revision: https://reviews.llvm.org/D145955
-