- Feb 03, 2020
-
-
Raphael Isemann authored
Disable the red zone in the unit test allocator to fix the test errors in sanitizer builds. The red zone changed the amount of allocated bytes which made the test fail as it checked the number of allocated bytes of the allocator.
-
Martin Storsjö authored
This fixes building for mingw with BUILD_SHARED_LIBS. In static builds, the psapi dependency gets linked in transitively from Support, but when linking Support dynamically, it's revealed that these components also need linking against psapi. Differential Revision: https://reviews.llvm.org/D73839
-
Clement Courbet authored
Summary: It turns out that CUR_DIRECTION is just an internal placeholder, not an actual valid encoded value. Reviewers: gchatelet Subscribers: tschuett, mstojanovic, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D73343
-
Alexander Belyaev authored
Differential Revision: https://reviews.llvm.org/D73684
-
Dmitri Gribenko authored
-
Hans Wennborg authored
-
Sam McCall authored
This seems to just be an oversight.
-
Sam McCall authored
-
Raphael Isemann authored
This reverts commit b848b510 as the unit tests fail on the sanitizer bots: /b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/unittests/Support/AllocatorTest.cpp:145: Failure Expected: SlabSize Which is: 4096 To be equal to: Alloc.getTotalMemory() Which is: 4097
-
Raphael Isemann authored
Revert "[lldb] Increase the rate at which ConstString's memory allocator scales the memory chunks it allocates" This reverts commit 500c324f because its parent commit b848b510 is failing on the sanitizer bots.
-
Sergej Jaskiewicz authored
This reverts commit 41f4dfd6. It broke standalone libc++ builds, which now try to use libc++abi from the wrong directory, instead of system instance. (cherry picked from commit 3573526c)
-
Guillaume Chatelet authored
Summary: A Copy with a source that is zeros is the same as a Set of zeros. This fixes the invariant that SrcAlign should always be non-null. Reviewers: courbet Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D73791
-
Raphael Isemann authored
[lldb] Increase the rate at which ConstString's memory allocator scales the memory chunks it allocates Summary: We currently do far more malloc calls than necessary in the ConstString BumpPtrAllocator. This is due to the 256 BumpPtrAllocators our ConstString implementation uses internally which end up all just receiving a small share of the total allocated memory and therefore keep allocating memory in small chunks for far too long. This patch fixes this by increasing the rate at which we increase the memory chunk size so that our collection of BumpPtrAllocators behaves in total similar to a single BumpPtrAllocator. Reviewers: llunak Reviewed By: llunak Subscribers: abidh, JDevlieghere, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D71699
-
Clement Courbet authored
Summary: There are no counters for individual ports, but this is already enough to find a lot of issues in the current model (upcoming patch). Reviewers: dblaikie, gchatelet Subscribers: hiraditya, tschuett, RKSimon, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D72032
-
Jay Foad authored
Summary: D68092 introduced a new SIRemoveShortExecBranches optimization pass and broke some graphics shaders. The problem is that it was removing branches over KILL pseudo instructions, and the fix is to explicitly check for that in mustRetainExeczBranch. Reviewers: critson, arsenm, nhaehnle, cdevadas, hakzsam Subscribers: kzhuravl, jvesely, wdng, yaxunl, dstuttard, tpr, t-tye, hiraditya, kerbowa, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D73771
-
Stephan Herhut authored
Summary: In the original design, gpu.launch required explicit capture of uses and passing them as operands to the gpu.launch operation. This was motivated by infrastructure restrictions rather than design. This change lifts the requirement and removes the concept of kernel arguments from gpu.launch. Instead, the kernel outlining transformation now does the explicit capturing. This is a breaking change for users of gpu.launch. Differential Revision: https://reviews.llvm.org/D73769
-
Sam Parker authored
Duplicating instructions can lead to code size increases but using a threshold of 3 is good for reducing code size. Differential Revision: https://reviews.llvm.org/D72916
-
Kazuaki Ishizaki authored
Summary: Also, an exercise to merge this into the master myself after a reviewer gives LGTM. Reviewers: nicolasvasilache, mehdi_amini Reviewed By: mehdi_amini Subscribers: Joonsoo, merge_guards_bot, mehdi_amini, rriddle, jpienaar, burmako, shauheen, antiagainst, arpith-jacob, mgester, lucyrfox, liufengdb, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D73432
-
Raphael Isemann authored
Summary: In D68549 we noticed that our BumpPtrAllocator we use for LLDB's ConstString implementation is growing its slabs at a rate that is too slow for our use case. It causes that we spend a lot of time calling `malloc` for all the tiny slabs that our ConstString BumpPtrAllocators create. We also can't just increase the slab size in the ConstString implementation (which is what D68549 originally did) as this really increased the amount of (mostly unused) allocated memory in any process using ConstString. This patch adds a template argument for the BumpPtrAllocatorImpl that allows specifying a faster rate at which the BumpPtrAllocator increases the slab size. This allows LLDB to specify a faster rate at which the slabs grow which should keep both memory consumption and time spent calling malloc low. Reviewers: george.karpenkov, chandlerc, NoQ Subscribers: NoQ, llvm-commits, llunak Tags: #llvm Differential Revision: https://reviews.llvm.org/D71654
-
Martin Storsjö authored
This avoids a warning about "suggest parentheses around && within ||".
-
Martin Storsjö authored
Win64 isn't LP64, it's LLP64, but there's no __LLP64__ predefined - just check _WIN64 in addition to __LP64__. This fixes compilation after static asserts about the struct layout were added in f2a43605. Differential Revision: https://reviews.llvm.org/D73838
-
Martin Storsjö authored
Remove an extra semicolon, and add llvm_unreachable to avoid warnings about control reaching the end of a non-void function.
-
Martin Storsjö authored
-
Martin Probst authored
Summary: In release notes and the regular docs. Reviewers: MyDeveloperDay Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D73768
-
Johannes Doerfert authored
There seems to be another instance of non-determinism which causes the number of iterations to be either 1 or 3 for one benchmark, depending on the system. This needs to be investigated and resolved. In the meantime we do not verify the number of iterations for this benchmark.
-
Johannes Doerfert authored
If all call sites are in `norecurse` functions we can derive `norecurse` as the ReversePostOrderFunctionAttrsPass does. This should make ReversePostOrderFunctionAttrsLegacyPass obsolete once the Attributor is enabled. Reviewed By: uenoku Differential Revision: https://reviews.llvm.org/D72017
-
Johannes Doerfert authored
If we know that all call sites have been processed we can derive an early fixpoint. The use in this patch is likely not to trigger right now but a follow up patch will make use of it. Reviewed By: uenoku, baziotis Differential Revision: https://reviews.llvm.org/D72016
-
Fangrui Song authored
x86_64-windows and darwin default to PIC. They don't use PIE.
-
Igor Kudrin authored
The method was initially added for DWARFVerifier::verifyUnitHeader() but its results were never actually used. Differential Revision: https://reviews.llvm.org/D73773
-
Craig Topper authored
We only need to call this on floating point comparisons. In this case these are known to be integer compares. One of them even has a SUB opcode instead of CMP.
-
Johannes Doerfert authored
With this patch new trivial edges can be added to an SCC in a CGSCC pass via the updateCGAndAnalysisManagerForCGSCCPass method. It shares almost all the code with the existing updateCGAndAnalysisManagerForFunctionPass method but it implements the first step towards the TODOs. This was initially part of D70927. Reviewed By: JonChesterfield Differential Revision: https://reviews.llvm.org/D72025
-
Juneyoung Lee authored
Summary: This adds -keep-const-init option to llvm-extract which preserves initializers of used global constants. For example: ``` $ cat a.ll @g = constant i32 0 define i32 @f() { %v = load i32, i32* @g ret i32 %v } $ llvm-extract --func=f a.ll -S -o - @g = external constant i32 define i32 @f() { .. } $ llvm-extract --func=f a.ll -keep-const-init -S -o - @g = constant i32 0 define i32 @f() { .. } ``` This option is useful in checking whether a function that uses a constant global is optimized correctly. Reviewers: jsji, MaskRay, david2050 Reviewed By: MaskRay Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D73833 -
LLVM GN Syncbot authored
-
Johannes Doerfert authored
If we had `noalias` on an argument the inliner created alias scope metadata already. However, the call site `noalias` annotation was not considered. Since the Attributor can derive such call site `noalias` annotation we should treat them the same as argument annotations. Reviewed By: hfinkel Differential Revision: https://reviews.llvm.org/D73528
-
Johannes Doerfert authored
This is the first of multiple parts to make OpenMP context/trait handling reusable and generic. This patch was originally part of D71830 but with the unit tests it can be tested independently. This patch implements an almost complete handling of OpenMP contexts/traits such that we can reuse most of the logic in Flang through the OMPContext.{h,cpp} in llvm/Frontend/OpenMP. All but construct SIMD specifiers, e.g., inbranch, and the device ISA selector are define in llvm/lib/Frontend/OpenMP/OMPKinds.def. From these definitions we generate the enum classes TraitSet, TraitSelector, and TraitProperty as well as conversion and helper functions in llvm/lib/Frontend/OpenMP/OMPContext.{h,cpp}. The OpenMP context is now an explicit object (see `struct OMPContext`). This is in anticipation of construct traits that need to be tracked. The OpenMP context, as well as the VariantMatchInfo, are basically made up of a set of active or respectively required traits, e.g., 'host', and an ordered container of constructs which allows duplication. Matching and scoring is kept as generic as possible to allow easy extension in the future. Reviewed By: JonChesterfield Differential Revision: https://reviews.llvm.org/D71847 -
Fangrui Song authored
-
Fangrui Song authored
And add test/Driver/fsemantic-interposition.c
-
https://reviews.llvm.org/D68411Shengchen Kan authored
Remove "cl::value_desc("jcc, fused, jmp, call, ret, indirect"),", which makes the option+it's cl::value_desc too long in all of help. -
Saleem Abdulrasool authored
The change in 9b84dabc uses a newer syntax which not all the builders support. Use an explicit `OR` over the languages instead to repair the builders.
-
Nathan James authored
-