aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2024-05-13[llvm][NFC] Document cl::opt MisExpectTolerance and fix typo (#90670)users/ilovepi/spr/main.llvmnfc-document-clopt-variable-and-fix-typo-3Paul Kirth1-1/+2
2024-05-13[𝘀𝗽𝗿] changes introduced through rebaseLLVM GN Syncbot4729-95800/+182500
Created using spr 1.3.4 [skip ci]
2024-05-13[gn build] Port be7c9e39572dLLVM GN Syncbot1-0/+1
2024-05-13[RISCV] Use the thread local stack protector for Android targets (#87672)Paul Kirth2-10/+13
Android supports per thread stack protectors that are individually managed and initialized, which can provide stronger protections than using the global stack protector cookie. This patch matches the convention for other architectures targeting Android platforms.
2024-05-13[clang][Interp][NFC] Add missing test diagnostic outputTimm Bäder1-0/+5
This was left out from https://github.com/llvm/llvm-project/commit/257013e4f5cbdf644646da9ec3d60d6209c9bf25
2024-05-13[flang][OpenMP] Add explicit N to SmallVector to avoid size errorKrzysztof Parzyszek1-1/+1
This fixes https://lab.llvm.org/buildbot/#/builders/268/builds/13925, which somehow doesn't show in any of my local builds.
2024-05-13Revert "[OpenACC] device_type clause Sema for Compute constructs"erichkeane19-622/+35
This reverts commit c4a9a374749deb5f2a932a7d4ef9321be1b2ae5d. This and the followup patch keep hitting an assert I wrote on the build bots in a way that isn't clear. Reverting so I can fix it without a rush.
2024-05-13[flang][cuda] Extends matching distance computation (#91810)Valentin Clement (バレンタイン クレメン)8-21/+180
Extends the computation of the matching distance in the generic resolution to support options described in the table: https://docs.nvidia.com/hpc-sdk/archive/24.3/compilers/cuda-fortran-prog-guide/index.html#cfref-var-attr-unified-data Options are added as language features in the `SemanticsContext` and a flag is added in bbc for testing purpose.
2024-05-13[flang][OpenMP] Decompose compound constructs, do recursive lowering (#90098)Krzysztof Parzyszek16-453/+3234
A compound construct with a list of clauses is broken up into individual leaf/composite constructs. Each such construct has the list of clauses that apply to it based on the OpenMP spec. Each lowering function (i.e. a function that generates MLIR ops) is now responsible for generating its body as described below. Functions that receive AST nodes extract the construct, and the clauses from the node. They then create a work queue consisting of individual constructs, and invoke a common dispatch function to process (lower) the queue. The dispatch function examines the current position in the queue, and invokes the appropriate lowering function. Each lowering function receives the queue as well, and once it needs to generate its body, it either invokes the dispatch function on the rest of the queue (if any), or processes nested evaluations if the work queue is at the end. Re-application of ca1bd5995f6ed934f9187305190a5abfac049173 with fixes for compilation errors.
2024-05-13Fix warning from c4a9a374erichkeane1-7/+7
I wasn't able to reproduce the test crash, but I believe this might be a different definition of 'assert' on some platforms, so I believe this patch should fix it (and fixes the suggested warning).
2024-05-13[clang][Interp] Handle VariableArrayTypesTimm Bäder3-2/+10
2024-05-13[mlir][vector][test] Update tests for vector.xfter_{read|write} (#91943)Andrzej Warzyński1-26/+68
Updates tests in "vector-transfer-permutation-lowering.mlir" to make a clearer split into cases for : * xfer_read vs xfer_write * fixed-width vs scalable tests A new test case is added for fixed-width vectors for vector.transfer_read. This is to complement an existing test for scalable vectors. This is in preparation for #90835 and also for adding more tests for scalable vectors.
2024-05-13[gn build] Port 05cc2d5fe10cLLVM GN Syncbot1-0/+1
2024-05-13[X86] LowerIntVSETCC_AVX512 - reuse existing SDLoc. NFC.Simon Pilgrim1-5/+3
2024-05-13[X86] LowerFP_TO_INT - remove duplicate SDLoc. NFC.Simon Pilgrim1-2/+2
2024-05-13[X86] LowerTruncateVecI1 - reuse existing SDLoc. NFC.Simon Pilgrim1-5/+3
2024-05-13[X86] FP_TO_INTHelper - remove duplicate SDLoc. NFC.Simon Pilgrim1-1/+1
2024-05-13[X86] LowerGlobalOrExternal - cleanup SDLoc. NFC.Simon Pilgrim1-1/+1
Don't create a new local SDLoc and then take a reference to it, just create the SDLoc directly.
2024-05-13[clang][Interp] Return false from visitExpr() if allocateLocal failedTimm Bäder1-1/+2
2024-05-13[OpenACC] device_type clause Sema for Compute constructserichkeane19-35/+622
device_type, also spelled as dtype, specifies the applicability of the clauses following it, and takes a series of identifiers representing the architectures it applies to. As we don't have a source for the valid architectures yet, this patch just accepts all. Semantically, this also limits the list of clauses that can be applied after the device_type, so this implements that as well.
2024-05-13[AArch64][NFC] Pre-commit tests for Select G_ICMP Zero Instruction (#90054)Tuan Chuong Goh1-0/+1114
2024-05-13[flang] Fix Failing rewrite-out_of_range testcase to only check for real 10 ↵madanial01-7/+7
on supported platforms (#91629) The real 10 tests fail on `AIX` on `PPC`, only check them on `x86_64` Co-authored-by: Mark Danial <mark.danial@ibm.com>
2024-05-13Revert "Revert "[OpenMP][TR12] change property of map-type modifier."… ↵jyu2-git4-54/+165
(#91821) … (#90885)" This reverts commit eea81aa29848361eb5b24f24d2af643fdeb9adfd.
2024-05-13[analyzer][NFC] Move `CTUPhase1InliningMode` option to String analyzer ↵JOSTAR1-16/+16
options category (#91932) The `CTUPhase1InliningMode`option was originally placed under Unsigned analyzer options, but its value is a string. This move aligns the option with its actual type.
2024-05-13[mlir][utils] Add script to verify canonicalizations against Alive2 (#91867)Ivan Butygin1-0/+77
This script takes IR before and after canonicalization, translates it into llvm IR and converts it to format suitable for Alive2 https://alive2.llvm.org/ce/ This is primarily for arith canonicalizations verification, but technically it can be adapted for any dialect translatable to llvm. Usage `python verify_canon.py canonicalize.mlir -f func1 func2 ...` Example output: https://alive2.llvm.org/ce/z/KhQs4J Initial discussion: https://github.com/llvm/llvm-project/pull/91646#pullrequestreview-2049342826
2024-05-13[AArch64][GlobalISel] Select G_ICMP instruction through TableGen (#89932)chuongg36-525/+86
G_ICMP NE => XOR(G_ICMP EQ, -1) moved to Legalizer to allow for combines if they come up in following passes.
2024-05-13[Clang][OpenMP][Tile] Allow non-constant tile sizes. (#91345)Michael Kruse9-70/+748
Allow non-constants in the `sizes` clause such as ``` #pragma omp tile sizes(a) for (int i = 0; i < n; ++i) ``` This is permitted since tile was introduced in [OpenMP 5.1](https://www.openmp.org/spec-html/5.1/openmpsu53.html#x78-860002.11.9). It is possible to sneak-in negative numbers at runtime as in ``` int a = -1; #pragma omp tile sizes(a) ``` Even though it is not well-formed, it should still result in every loop iteration to be executed exactly once, an invariant of the tile construct that we should ensure. `ParseOpenMPExprListClause` is extracted-out to be reused by the `permutation` clause of the `interchange` construct. Some care was put into ensuring correct behavior in template contexts.
2024-05-13[Clang] Ensure ``if consteval`` consititute an immediate function context ↵cor3ntin3-0/+37
(#91939) We did not set the correct evaluation context for the compound statement of an ``if consteval`` statement in a templated entity in TreeTransform. Fixes #91509
2024-05-13[OpenMP][MLIR] Fix llvm::sort comparator. (#91963)Oleg Shyshkov1-6/+3
The current comparator doesn't work correctly when two identical entries with -1 are compared. The comparator returns `first` is case when `aIndex == -1 && bIndex == -1`, but it should `continue` as those indexes are the same.
2024-05-13[mlir][OpenMP] - Honor dependencies in code-generation of the if clause in ↵Pranav Bhandarkar2-0/+30
`omp.task` correctly (#90891) This patch fixes the code generation of the if clause, specifically when the condition evaluates to false and when the task directive has the depend clause on it. When the if clause of a task construct evaluates to false, then the task is an undeferred task. This undeferred task still has to honor dependencies. Previously, the OpenMPIRbuilder didn't honor dependencies. This patch fixes that. Fixes https://github.com/llvm/llvm-project/issues/90869
2024-05-13[lldb] Fixed the test TestPlatformProcessLaunch running on a remote target ↵Dmitry Vasilyev1-44/+46
(#91923) Transfer `stdio.log` from the remote target if necessary.
2024-05-13Revert "[flang][OpenMP] Decompose compound constructs, do recursive lowering ↵Krzysztof Parzyszek16-3226/+452
(#90098)" It breaks some builds, e.g. https://lab.llvm.org/buildbot/#/builders/268/builds/13909 This reverts commit ca1bd5995f6ed934f9187305190a5abfac049173.
2024-05-13Revert "[libc][POSIX][pthreads] implemented missing pthread_rwlockattr ↵Schrodinger ZHU Yifan11-162/+3
functions" (#91966) Reverts llvm/llvm-project#90249 Fullbuild is broken: https://lab.llvm.org/buildbot/#/builders/163/builds/56501
2024-05-13new-prs-labeler.yml: Include conversion passes of TOSA/emitc (#91921)Matthias Gehre1-2/+2
2024-05-13[libc][POSIX][pthreads] implemented missing pthread_rwlockattr functions ↵Hendrik Hübner11-3/+162
(#90249) Closes #89443 I added the two missing functions and respective test cases. Let me know if anything needs changing.
2024-05-13[flang][OpenMP] Decompose compound constructs, do recursive lowering (#90098)Krzysztof Parzyszek16-452/+3226
A compound construct with a list of clauses is broken up into individual leaf/composite constructs. Each such construct has the list of clauses that apply to it based on the OpenMP spec. Each lowering function (i.e. a function that generates MLIR ops) is now responsible for generating its body as described below. Functions that receive AST nodes extract the construct, and the clauses from the node. They then create a work queue consisting of individual constructs, and invoke a common dispatch function to process (lower) the queue. The dispatch function examines the current position in the queue, and invokes the appropriate lowering function. Each lowering function receives the queue as well, and once it needs to generate its body, it either invokes the dispatch function on the rest of the queue (if any), or processes nested evaluations if the work queue is at the end.
2024-05-13[Clang][OpenMP] Fix unused lambda capture warning.Michael Kruse1-4/+2
2024-05-13[CostModel][X86] getCastInstrCost - update cost tables to support CostKindsSimon Pilgrim1-767/+787
Add TypeConversionCostKindTblEntry to hold the costs kinds and update the cast tables to take the existing default codesize/latency/sizelatency values (I'll update these values in future commits). I've moved AdjustCost to the end of the function to ensure we don't accidentally use it, apart from when we fallback to default cost calculations.
2024-05-13Fix MSVC "signed/unsigned mismatch" warning. NFC.Simon Pilgrim1-1/+2
2024-05-13[Clang][OpenMP][Tile] Ensure AST node uniqueness. (#91325)Michael Kruse1-25/+50
One of the constraints of an AST is that every node object must appear at most once, hence we define lamdas that create a new AST node at every use.
2024-05-13[clang-query] Load queries and matchers from file during REPL cycle (#90603)Chris Warner12-21/+80
The clang-query tool has the ability to execute or pre-load queries from a file when the tool is launched, but doesn't have the ability to do the same from the interactive REPL prompt. Because the prompt also doesn't seem to allow multi-line matchers, this can make prototyping and iterating on more complicated matchers difficult. Supporting a dynamic load at REPL time allows the cost of reading the compilation database and building the AST to be imposed just once, and allows faster prototyping.
2024-05-13[OpenMP][MLIR] Fix llvm::sort comparator. (#91947)Oleg Shyshkov1-4/+4
llvm::sort requires the comparator to return `false` for equal elements, otherwise it triggers `Your comparator is not a valid strict-weak ordering` assert.
2024-05-13[SCEV] Swap order of arguments to MatchBinaryAddToConst (NFCI). (#91945)Florian Hahn1-2/+2
The argument order to MatchBinaryAddToConst doesn't match the comment and also is counter-intuitive (passing RHS before LHS, C2 before C1). This patch adjusts the order to be inline with the calls above, which should be equivalent, but more natural: https://alive2.llvm.org/ce/z/ZWGp-Z PR: https://github.com/llvm/llvm-project/pull/91945
2024-05-13InstCombine: Simplify vector initializationMatt Arsenault1-2/+1
2024-05-13[GlobalISel][KnownBits] Simplify G_CONSTANT handling (#91946)Pierre van Houtryve1-4/+1
We called getIConstantVRegVal which again queried MRI to get the VReg def. We already have the def, so just get the CImm directly. It can't fail.
2024-05-13[lldb] Fixed the test TestQuoting (#91886)Dmitry Vasilyev1-3/+1
os.path.join() uses the path separator of the host OS by default. outfile_arg will be incorrect in case of Windows host and Linux target. Use lldbutil.append_to_process_working_directory() instead.
2024-05-13[lldb] Fixed the test TestSettings when run with a remote target (#91915)Dmitry Vasilyev1-1/+1
The setting `platform.module-cache-directory` is a local path on the host. It cannot be set to a working directory from the remote target. This test failed in case of Windows host and Linux target because of the incompatible path. Use the local build dir instead.
2024-05-13[lldb][DWARF] Fix delayed-definition-die-searching.test for WindowsMuhammad Omair Javaid1-2/+2
This is follow up fix on top of 9a7262c2601874e5aa64c5db19746770212d4b44 This fixes delayed-definition-die-searching.test to use -gdwarf. This is required to explicitly select DWARF instead of PDB on windows. Fixe LLDB build lldb-aarch64-windows: https://lab.llvm.org/buildbot/#/builders/219/builds/11303
2024-05-13[Offload][NFC] Remove unused compiler definition from CMakeJoseph Huber1-5/+0
2024-05-13[DebugInfo] Remap extracted DIAssignIDs in hotcoldsplit (#91940)Orlando Cazalet-Hyams5-21/+84
Fix #91814 When instructions are extracted into a new function the `DIAssignID` metadata uses and attachments need to be remapped so that the stores and assignment markers don't link to stores and assignment markers in the original function. This matches existing inlining behaviour for DIAssignIDs.