aboutsummaryrefslogtreecommitdiff
path: root/polly
AgeCommit message (Collapse)AuthorFilesLines
2024-01-17[AST] Don't merge memory locations in AliasSetTracker (#65731)Bruno De Fraine3-6/+7
This changes the AliasSetTracker to track memory locations instead of pointers in its alias sets. The motivation for this is outlined in an RFC posted on LLVM discourse: https://discourse.llvm.org/t/rfc-dont-merge-memory-locations-in-aliassettracker/73336 In the data structures of the AST implementation, I made the choice to replace the linked list of `PointerRec` entries (that had to go anyway) with a simple flat vector of `MemoryLocation` objects, but for the `AliasSet` objects referenced from a lookup table, I retained the mechanism of a linked list, reference counting, forwarding, etc. The data structures could be revised in a follow-up change.
2024-01-08[polly][ScheduleOptimizer] Reland Fix long compile time(hang) reported in ↵Karthika Devi C2-0/+124
polly (#77280) There is no upper cap set on current Schedule Optimizer to compute schedule. In some cases a very long compile time taken to compute the schedule resulting in hang kind of behavior. This patch introduces a flag 'polly-schedule-computeout' to pass the capwhich is initialized to 300000. This patch handles the compute out cases by bailing out and exiting gracefully. Fixed the test that failed in previous commit. Fixes #69090
2024-01-02Revert "[polly][ScheduleOptimizer] Fix long compile time(hang) reported in ↵Eli Friedman2-111/+1
polly (#75141)" This reverts commit d6c4d4c9b910e8ad5ed7cd4825a143742041c1f4. Broke buildldbots with asserts disabled; -debug-only is only available in asserts builds.
2024-01-02[polly][ScheduleOptimizer] Fix long compile time(hang) reported in polly ↵Karthika Devi C2-1/+111
(#75141) There is no upper cap set on current Schedule Optimizer to compute schedule. In some cases a very long compile time taken to compute the schedule resulting in hang kind of behavior. This patch introduces a flag 'polly-schedule-computeout' to pass the capwhich is initialized to 300000. This patch handles the compute out cases by bailing out and exiting gracefully. Fixes #69090
2023-12-25[polly] [CMake] Create component and install target in add_polly_library ↵Violet Purcell1-0/+3
(#66598) Currently there's no component for LLVMPolly and PollyISL, however they are added to exports whether or not they are installed. This commit calls add_llvm_install_targets in the add_polly_library function to allow installation of LLVMPolly and PollyISL via distribution components, so they can be installed without also installing libPolly.a. Closes: https://github.com/llvm/llvm-project/pull/66598
2023-12-25[polly] [CMake] Link polly-isl-test with LLVMSupport (#65424)vient1-0/+1
Otherwise link may fail if user provided additional library to link with via CMAKE_EXE_LINKER_FLAGS. Concrete example is using custom allocator, LLVMSupport provides needed -lpthread in that case. Closes: https://github.com/llvm/llvm-project/pull/65424
2023-12-07[polly][NFC] Refactor reduction detection code for modularity (#72343)Karthika Devi C1-30/+48
This patch pulls out the memory checks from the base reduction detection algorithm. This is the first one in the reduction patch series, to reduce the difference in future patches.
2023-12-05[Polly] Add disjoint flag to some tests (NFC)Nikita Popov4-8/+8
2023-12-05[llvm][NFC] A start at cleaning up zero byte files that should have been ↵Brad Smith1-0/+0
removed (#74404)
2023-12-05Revert "[lldb] A start at cleaning up zero byte files that should have been ↵Brad Smith1-0/+0
removed" This reverts commit 3223936dc512c9f4f87a230a4d2931e37186ca22. Commited by accident while mixed in with another commit.
2023-12-04[lldb] A start at cleaning up zero byte files that should have been removedBrad Smith1-0/+0
2023-12-04[Support] Remove llvm/Support/Host.h (#74261)Kazu Hirata1-1/+1
The header file has been deprecated since: commit f09cf34d00625e57dea5317a3ac0412c07292148 Author: Archibald Elliott <archibald.elliott@arm.com> Date: Tue Dec 20 10:24:02 2022 +0000
2023-11-27[mlir,polly] Replace uses of IRBuilder::getInt8PtrTy with getPtrTy. NFCFangrui Song4-15/+14
2023-11-07[NFC] Remove Type::getInt8PtrTy (#71029)Paulo Matos1-1/+1
Replace this with PointerType::getUnqual(). Followup to the opaque pointer transition. Fixes an in-code TODO item.
2023-10-31[SCEV] Teach SCEVExpander to use zext nneg when possible (#70815)Philip Reames1-1/+1
zext nneg was recently added to the IR in #67982. Teaching SCEVExpander to emit nneg when possible is valuable since SCEV may have proved non-trivial facts about loop bounds which would otherwise be lost when materializing the value.
2023-10-24[ADT] Rename llvm::erase_value to llvm::erase (NFC) (#70156)Kazu Hirata1-3/+3
C++20 comes with std::erase to erase a value from std::vector. This patch renames llvm::erase_value to llvm::erase for consistency with C++20. We could make llvm::erase more similar to std::erase by having it return the number of elements removed, but I'm not doing that for now because nobody seems to care about that in our code base. Since there are only 50 occurrences of erase_value in our code base, this patch replaces all of them with llvm::erase and deprecates llvm::erase_value.
2023-10-24[polly] Reformat due to d68826dfbd98Owen Pan2-6/+5
2023-10-20[polly] Use llvm::erase_value (NFC)Kazu Hirata1-7/+3
2023-09-19Move CallInst::CreateFree to IRBuilderBaseKonrad Kleine1-2/+2
Similarly to D158861 I'm moving the `CreateFree` method from `CallInst` to `IRBuilderBase`. Differential Revision: https://reviews.llvm.org/D159418
2023-09-19[llvm] Move CallInst::CreateMalloc to IRBuilderBase::CreateMallocKonrad Kleine1-3/+3
This removes `CreateMalloc` from `CallInst` and adds it to the `IRBuilderBase` class. We no longer needed the `Instruction *InsertBefore` and `BasicBlock *InsertAtEnd` arguments of the `createMalloc` helper function because we're using `IRBuilder` now. That's why I we also don't need 4 `CreateMalloc` functions, but only two. Differential Revision: https://reviews.llvm.org/D158861
2023-09-18[IR] Remove unnecessary bitcast from CreateMalloc()Nikita Popov1-7/+7
This bitcast is no longer necessary with opaque pointers. This results in some annoying variable name changes in tests.
2023-09-13[polly][www] Remove unused VideoJSJordan Rupprecht5-2014/+0
These were added in 2011 in 54da06ca286dc47ae65ba87be439a8c20c685454 and 0d90112195609a85fa96e956ee8b48600d81c13c. It was then incompletely removed in 2015 in c268835eca8f59b164caa50bdecb7b58415861af: the video itself was removed, but the VideoJS css & script is still loaded.
2023-09-05Bug fix for multi-line labels in CFG dot graphMarek Sedláček1-1/+1
After D154102 multi-line labels would get split incorrectly. When CFG is generated for a function with basic block name longer than 80 lines, then the header separator will be placed after the line break for the label name instead of after the whole label name. The fix is simple by just moving the insert of | character before the line splitting happens. Differential Revision: https://reviews.llvm.org/D159207
2023-09-05[polly] Dynamic libraries are not supported on CygwinCarlo Bramini2-2/+2
Cygwin shares the same limitations as traditional Windows executables for dynamic library loading, so disable building the dynamic library on Cygwin targets. Differential Revision: https://reviews.llvm.org/D155796
2023-09-01[lldb] Fix duplicate word typos; NFCFangrui Song2-2/+2
Those fixes were taken from https://reviews.llvm.org/D137338
2023-08-17Headers for basic blocks in CFG dot graphsMarek Sedláček1-1/+1
This change adds separators for basic block names, which makes it easier to find a basic block based on its name and separates it from the code. Currently there is also a chance that the basic block label will be present twice, that is in case the basic block has explicit numbering, this change fixes this bug. Differential Revision: https://reviews.llvm.org/D154102
2023-07-25Clear release notes for 18.xllvmorg-18-initTobias Hieta1-12/+0
2023-07-18[polly] Remove use of getWithSamePointeeType() (NFC)Nikita Popov1-13/+1
2023-07-03[Polly][FIX] Adjust enum after D153305Johannes Doerfert1-1/+1
2023-06-25[llvm] Add missing StringExtras.h includesElliot Goodrich1-0/+1
In preparation for removing the `#include "llvm/ADT/StringExtras.h"` from the header to source file of `llvm/Support/Error.h`, first add in all the missing includes that were previously included transitively through this header.
2023-05-31[SCEV] Compute AddRec range computations using different type BECountJoshua Cao2-10/+10
Before this patch, we can only use the MaxBECount for an AddRec's range computation if the MaxBECount has <= bit width of the AddRec. This patch reasons that if a MaxBECount has > bit width, and is <= the max value of AddRec's bit width, we can still use the MaxBECount. Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D151698
2023-05-27[polly] Fix typos in documentationKazu Hirata3-4/+4
2023-05-27Reland "[CMake] Bumps minimum version to 3.20.0.Mark de Wever1-8/+1
This reverts commit d763c6e5e2d0a6b34097aa7dabca31e9aff9b0b6. Adds the patch by @hans from https://github.com/llvm/llvm-project/issues/62719 This patch fixes the Windows build. d763c6e5e2d0a6b34097aa7dabca31e9aff9b0b6 reverted the reviews D144509 [CMake] Bumps minimum version to 3.20.0. This partly undoes D137724. This change has been discussed on discourse https://discourse.llvm.org/t/rfc-upgrading-llvms-minimum-required-cmake-version/66193 Note this does not remove work-arounds for older CMake versions, that will be done in followup patches. D150532 [OpenMP] Compile assembly files as ASM, not C Since CMake 3.20, CMake explicitly passes "-x c" (or equivalent) when compiling a file which has been set as having the language C. This behaviour change only takes place if "cmake_minimum_required" is set to 3.20 or newer, or if the policy CMP0119 is set to new. Attempting to compile assembly files with "-x c" fails, however this is workarounded in many cases, as OpenMP overrides this with "-x assembler-with-cpp", however this is only added for non-Windows targets. Thus, after increasing cmake_minimum_required to 3.20, this breaks compiling the GNU assembly for Windows targets; the GNU assembly is used for ARM and AArch64 Windows targets when building with Clang. This patch unbreaks that. D150688 [cmake] Set CMP0091 to fix Windows builds after the cmake_minimum_required bump The build uses other mechanism to select the runtime. Fixes #62719 Reviewed By: #libc, Mordante Differential Revision: https://reviews.llvm.org/D151344
2023-05-25[NFC][Py Reformat] Reformat python files in the rest of the dirsTobias Hieta13-1607/+1802
This is an ongoing series of commits that are reformatting our Python code. This catches the last of the python files to reformat. Since they where so few I bunched them together. Reformatting is done with `black`. If you end up having problems merging this commit because you have made changes to a python file, the best way to handle that is to run git checkout --ours <yourfile> and then reformat it with black. If you run into any problems, post to discourse about it and we will try to help. RFC Thread below: https://discourse.llvm.org/t/rfc-document-and-standardize-python-code-style Reviewed By: jhenderson, #libc, Mordante, sivachandra Differential Revision: https://reviews.llvm.org/D150784
2023-05-23[BBUtils][NFC] Delete SplitBlockAndInsertIfThen with DT.Joshua Cao1-1/+3
The method is marked for deprecation. Delete the method and move all of its consumers to use the DomTreeUpdater version. Reviewed By: foad Differential Revision: https://reviews.llvm.org/D149428
2023-05-17Revert "Reland "[CMake] Bumps minimum version to 3.20.0.""Nico Weber1-1/+8
This reverts commit 65429b9af6a2c99d340ab2dcddd41dab201f399c. Broke several projects, see https://reviews.llvm.org/D144509#4347562 onwards. Also reverts follow-up commit "[OpenMP] Compile assembly files as ASM, not C" This reverts commit 4072c8aee4c89c4457f4f30d01dc9bb4dfa52559. Also reverts fix attempt "[cmake] Set CMP0091 to fix Windows builds after the cmake_minimum_required bump" This reverts commit 7d47dac5f828efd1d378ba44a97559114f00fb64.
2023-05-13Reland "[CMake] Bumps minimum version to 3.20.0."Mark de Wever1-8/+1
The owner of the last two failing buildbots updated CMake. This reverts commit e8e8707b4aa6e4cc04c0cffb2de01d2de71165fc.
2023-05-12Replace None with std::nullopt in comments (NFC)Kazu Hirata1-1/+1
This is part of an effort to migrate from llvm::Optional to std::optional: https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716
2023-05-06Revert "Reland "[CMake] Bumps minimum version to 3.20.0.""Mark de Wever1-1/+8
Unfortunatly not all buildbots are updated. This reverts commit ffb807ab5375b3f78df198dc5d4302b3b552242f.
2023-05-06Reland "[CMake] Bumps minimum version to 3.20.0."Mark de Wever1-8/+1
All build bots should be updated now. This reverts commit 44d38022ab29a3156349602733b3459df5beef93.
2023-05-04[docs] Hide collaboration and include graphs in doxygen docsTimm Bäder1-3/+3
They don't convey any useful information and make the documentation unnecessarily hard to read. Differential Revision: https://reviews.llvm.org/D149641
2023-04-28[polly] Drop redundant use of -instnamer in polly MemAccess lit testsBjorn Pettersson4-4/+4
Differential Revision: https://reviews.llvm.org/D148530
2023-04-27[Polly] Update polly test after SCEV changesNikita Popov1-1/+1
Make the phi non-trivial, so SCEV can't see through it.
2023-04-27[GlobalOpt] Don't replace the aliasee if it has other references.DianQK1-2/+0
As long as aliasee has `@llvm.used` or `@llvm.compiler.used` references, we cannot do the related replace or delete operations. Even if it is a Local Linkage, we cannot infer if there is no other use for it, such as asm or other future added cases. Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D145293
2023-04-15Revert "Revert "Revert "[CMake] Bumps minimum version to 3.20.0."""Mark de Wever1-1/+8
This reverts commit 1ef4c3c859728008cf707cad8d67f45ae5070ae1. Two buildbots still haven't been updated.
2023-04-15Revert "Revert "[CMake] Bumps minimum version to 3.20.0.""Mark de Wever1-8/+1
This reverts commit 92523a35a827539db8557bbc3ecab7f9ea3f6ade. Reland to see whether CIs are updated.
2023-03-18Revert "Reland "[CMake] Bumps minimum version to 3.20.0.""Mark de Wever1-1/+8
This reverts commit a72165e5df59032cdd54dcb18155f2630d73abd1. Some buildbots have not been updated yet.
2023-03-18Reland "[CMake] Bumps minimum version to 3.20.0."Mark de Wever1-8/+1
This reverts commit 92523a35a827539db8557bbc3ecab7f9ea3f6ade. Test whether all CI runners are updated.
2023-03-17[Polly] Remove some bitcasts (NFC)Nikita Popov4-18/+3
No longer relevant with opaque pointers.
2023-03-17[Polly] Convert remaining tests to opaque pointers (NFC)Nikita Popov18-260/+249