/llvm-project/llvm/test/Transforms/PGOProfile/ |
H A D | ctx-instrumentation.ll | 6 ; RUN: -S < %s | FileCheck --check-prefix=LOWERING %s 12 ; LOWERING: @an_entrypoint_ctx_root = global { ptr, ptr, ptr, i8 } zeroinitializer 13 ; LOWERING: @another_entrypoint_no_callees_ctx_root = global { ptr, ptr, ptr, i8 } zeroinitializer 14 ; LOWERING: @__llvm_ctx_profile_callsite = external hidden thread_local global ptr 15 ; LOWERING: @__llvm_ctx_profile_expected_callee = external hidden thread_local global ptr 35 ; LOWERING-LABEL: define void @foo( 36 ; LOWERING-SAME: i32 [[A:%.*]], ptr [[FCT:%.*]]) !guid [[META0:![0-9]+]] { 37 ; LOWERING-NEXT: [[TMP1:%.*]] = call ptr @__llvm_ctx_profile_get_context(ptr @foo, i64 6699318081062747564, i32 2, i32 2) 38 ; LOWERING-NEXT: [[TMP2:%.*]] = ptrtoint ptr [[TMP1]] to i64 39 ; LOWERING [all...] |
/llvm-project/mlir/test/Conversion/ArmSMEToLLVM/ |
H A D | tile-spills-and-fills.mlir | 5 // RUN: FileCheck %s --check-prefix=AFTER-LLVM-LOWERING 26 /// This works like normal until the final lowering to LLVM, where spills and 73 // AFTER-LLVM-LOWERING-LABEL: @use_too_many_tiles 74 // AFTER-LLVM-LOWERING-DAG: %[[C0:.*]] = arith.constant 0 : index 75 // AFTER-LLVM-LOWERING-DAG: %[[C1:.*]] = arith.constant 1 : index 76 // AFTER-LLVM-LOWERING-DAG: %[[C8:.*]] = arith.constant 8 : index 77 // AFTER-LLVM-LOWERING-DAG: %[[VSCALE:.*]] = vector.vscale 78 // AFTER-LLVM-LOWERING-DAG: %[[SVL_H:.*]] = arith.muli %[[VSCALE]], %[[C8]] : index 83 // AFTER-LLVM-LOWERING-DAG: %[[TILE_ALLOCA:.*]] = memref.alloca(%[[SVL_H]], %[[SVL_H]]) 84 // AFTER-LLVM-LOWERING [all...] |
/llvm-project/flang/test/HLFIR/ |
H A D | mul_transpose.f90 | 3 ! RUN: bbc -emit-hlfir %s -o - | fir-opt --lower-hlfir-intrinsics | FileCheck --check-prefix CHECK-LOWERING --check-prefix CHECK-ALL %s 4 ! RUN: bbc -emit-hlfir %s -o - | fir-opt --canonicalize | fir-opt --lower-hlfir-intrinsics | FileCheck --check-prefix CHECK-LOWERING-OPT --check-prefix CHECK-ALL %s 31 ! CHECK-LOWERING: %[[A_BOX:.*]] = fir.embox %[[A_DECL]]#1(%{{.*}}) 32 ! CHECK-LOWERING: %[[TRANSPOSE_CONV_RES:.*]] = fir.convert %[[TRANSPOSE_RES_BOX:.*]] : (!fir.ref<!fir.box<!fir.heap<!fir.array<?x?xf32>>>>) -> !fir.ref<!fir.box<none>> 33 ! CHECK-LOWERING: %[[A_BOX_CONV:.*]] = fir.convert %[[A_BOX]] : (!fir.box<!fir.array<2x1xf32>>) -> !fir.box<none> 34 ! CHECK-LOWERING: fir.call @_FortranATranspose(%[[TRANSPOSE_CONV_RES]], %[[A_BOX_CONV]], %[[LOC_STR1:.*]], %[[LOC_N1:.*]]) 35 ! CHECK-LOWERING: %[[TRANSPOSE_RES_LD:.*]] = fir.load %[[TRANSPOSE_RES_BOX:.*]] 36 ! CHECK-LOWERING: %[[TRANSPOSE_RES_ADDR:.*]] = fir.box_addr %[[TRANSPOSE_RES_LD]] 37 ! CHECK-LOWERING: %[[TRANSPOSE_RES_VAR:.*]]:2 = hlfir.declare %[[TRANSPOSE_RES_ADDR]]({{.*}}) {uniq_name = ".tmp.intrinsic_result"} 38 ! CHECK-LOWERING [all...] |
/llvm-project/mlir/docs/Tutorials/Toy/ |
H A D | Ch-5.md | 1 # Chapter 5: Partial Lowering to Lower-Level Dialects for Optimization 8 progressive lowering through a mix of dialects coexisting in the same function. 16 [next chapter](Ch-6.md) directly target the `LLVM IR` dialect for lowering 17 `print`. As part of this lowering, we will be lowering from the 55 for further optimization. To start off the lowering, we first define our 61 // final target for this lowering. 65 // this lowering. In our case, we are lowering to a combination of the 72 // a partial lowering, we explicitly mark the Toy operations that don't want 103 old. For our lowering, this invariant will be useful as it translates from the 106 look at a snippet of lowering the `toy.transpose` operation: [all …]
|
H A D | Ch-6.md | 1 # Chapter 6: Lowering to LLVM and CodeGeneration 10 ## Lowering to LLVM 12 For this lowering, we will again use the dialect conversion framework to perform 19 [transitive lowering](../../../getting_started/Glossary.md/#transitive-lowering), 21 lowering, we mean that the conversion framework may apply multiple patterns to 24 have a lowering from the loop operations to LLVM, the lowering will still 27 During lowering we can get, or build, the declaration for printf as so: 55 Now that the lowering for the printf operation has been defined, we can specify 56 the components necessary for the lowering. These are largely the same as the 61 For this conversion, aside from the top-level module, we will be lowering [all …]
|
/llvm-project/flang/docs/ |
H A D | ComplexOperations.md | 19 lowering some integer and floating point operations in Flang. Conversion between 58 ## Lowering section in Complex Operations 60 The MLIR complex dialect supports lowering either by emitting calls to the 61 complex functions in libm (ComplexToLibm), or through lowering to the standard 63 lowering to libm functions suffers from ABI incompatibilities on some platforms. 64 As such the custom lowering to the standard dialect is used. This may be 68 Similarly to the numerical lowering through the math dialect, certain MLIR 70 requested lowering manually emits calls to libm, rather than going through the 77 [1]: https://discourse.llvm.org/t/rfc-change-lowering-of-fortran-math-intrinsics/63971
|
H A D | HighLevelFIR.md | 3 The approach of FIR and lowering design so far was to start with the minimal set 9 functional so far, the code lowering expressions and assignments from the 13 the representation level gap is big, and a lot is happening in lowering. It 20 operations in a new dialect HLFIR to allow a simpler lowering to a higher-level 28 The main principles of the new lowering design are: 29 - Make expression lowering context independent and rather naive 30 - Do not materialize temporaries while lowering to FIR 33 The core impact on lowering will be: 34 - Lowering expressions and assignments in the exact same way, regardless of 37 - Lowering transformational intrinsics in a verbatim way (no runtime calls and [all …]
|
H A D | Overview.md | 17 This transformation proceeds in three high level phases -- analysis, lowering, 24 The second high level phase (lowering), changes the decorated parse tree and 45 the information needed for lowering. 128 ## Lowering 130 Lowering takes the parse tree and symbol table produced by analysis and 133 ### Create the lowering bridge 145 The lowering bridge is a container that holds all of the information needed for lowering. 147 **Output:** A container with all of the information needed for lowering 151 ### Initial lowering [all...] |
H A D | OpenMP-declare-target.md | 65 the lowering can use in different ways as is necessary. 92 # Declare Target Fortran OpenMP Lowering 94 The initial lowering of `declare target` to MLIR for both use-cases is done 95 inside of the usual OpenMP lowering in flang/lib/Lower/OpenMP.cpp. However, 97 lowering bridge in flang/lib/Lower/Bridge.cpp are made. 110 lowering bridge, we are also invoking another function called 114 and capture clause, and it is stored in a vector that is part of the lowering 118 initial marking as we must store this data in the lowering bridge and we 120 lowering. 128 `markOpenMPDeferredDeclareTargetFunctions`, which is called from the lowering [all...] |
/llvm-project/mlir/include/mlir/Dialect/Vector/TransformOps/ |
H A D | VectorTransformOps.td | 116 process of lowering to e.g. LLVM or NVVM. 130 process of lowering to e.g. LLVM or NVVM. 144 process of lowering to e.g. LLVM or NVVM. 174 process of lowering to e.g. LLVM or NVVM. 191 process of lowering to e.g. LLVM or NVVM. 205 process of lowering to e.g. LLVM or NVVM. 219 process of lowering to e.g. LLVM or NVVM. 239 process of lowering to e.g. LLVM or NVVM. 275 process of lowering to e.g. LLVM or NVVM. 289 process of lowering t [all...] |
/llvm-project/llvm/lib/Target/X86/ |
H A D | X86DynAllocaExpander.cpp | 41 /// Strategies for lowering a DynAlloca. 42 enum Lowering { TouchAndSub, Sub, Probe }; 44 /// Deterministic-order map from DynAlloca instruction to desired lowering. enum in __anona6af4fc20111::X86DynAllocaExpander 45 typedef MapVector<MachineInstr*, Lowering> LoweringMap; 47 /// Compute which lowering to use for each DynAlloca instruction. 50 /// Get the appropriate lowering based on current offset and amount. 51 Lowering getLowering(int64_t CurrentOffset, int64_t AllocaAmount); 54 void lower(MachineInstr* MI, Lowering L); 99 X86DynAllocaExpander::Lowering in getLowering() 161 Lowering in computeLowerings() [all...] |
/llvm-project/mlir/test/Conversion/ControlFlowToLLVM/ |
H A D | invalid.mlir |
|
/llvm-project/mlir/docs/Dialects/ |
H A D | Vector.md | 21 lowering paths. 66 2. `Virtual Vector -> Hardware Vector` lowering is specified as a set of MLIR 67 lowering patterns that are specified manually for now. 68 3. `Hardware Vector -> LLVM` lowering is a mechanical process that is written 85 The section on [LLVM Lowering Tradeoffs](#llvm-lowering-tradeoffs) offers a 110 cost-based lowering decisions in MLIR even for `LLVM`. Specialized `CPU` 164 2. The lowering of `vector_transfer` ops legalizes `vector` load/store ops to 173 ### Virtual Vector to Hardware Vector Lowering 178 [VectorOuterProductOp lowering](http [all...] |
/llvm-project/mlir/examples/toy/Ch6/mlir/ |
H A D | LowerToLLVM.cpp | 1 //====- LowerToLLVM.cpp - Lowering from Toy+Affine+Std to LLVM ------------===// 9 // This file implements full lowering of Toy operations to LLVM MLIR dialect. 198 // final target for this lowering. For this lowering, we are only targeting in runOnOperation() 203 // During this lowering, we will also be lowering the MemRef types, that are in runOnOperation() 205 // conversion we use a TypeConverter as part of the lowering. This converter in runOnOperation() 211 // patterns used for lowering. At this point of the compilation process, we in runOnOperation() 214 // dialects. These patterns lowering in multiple stages, relying on transitive in runOnOperation() 215 // lowerings. Transitive lowering, o in runOnOperation() [all...] |
/llvm-project/mlir/examples/toy/Ch7/mlir/ |
H A D | LowerToLLVM.cpp | 1 //====- LowerToLLVM.cpp - Lowering from Toy+Affine+Std to LLVM ------------===// 9 // This file implements full lowering of Toy operations to LLVM MLIR dialect. 198 // final target for this lowering. For this lowering, we are only targeting in runOnOperation() 203 // During this lowering, we will also be lowering the MemRef types, that are in runOnOperation() 205 // conversion we use a TypeConverter as part of the lowering. This converter in runOnOperation() 211 // patterns used for lowering. At this point of the compilation process, we in runOnOperation() 214 // dialects. These patterns lowering in multiple stages, relying on transitive in runOnOperation() 215 // lowerings. Transitive lowering, o in runOnOperation() [all...] |
/llvm-project/llvm/test/Transforms/RewriteStatepointsForGC/ |
H A D | deopt-lowering-attrs.ll | 3 ; Check that the "deopt-lowering" function attribute gets transcoded into 10 declare void @bar() "deopt-lowering"="live-in" 11 declare void @baz() "deopt-lowering"="live-through" 29 ; add deopt-lowering attribute as part of callsite 38 call void @foo() "deopt-lowering"="live-in" [ "deopt"(i32 57) ]
|
/llvm-project/mlir/include/mlir/Conversion/LLVMCommon/ |
H A D | LoweringOptions.h | 1 //===- LoweringOptions.h - Common config for lowering to LLVM ---*- C++ -*-===// 28 /// Options to control the LLVM lowering. The struct is used to share lowering 45 /// AllocOp and DeallocOp lowering. 54 /// data layout used in the upper levels of the lowering pipeline.
|
/llvm-project/mlir/include/mlir/Dialect/Vector/Transforms/ |
H A D | LoweringPatterns.h | 20 // Lowering pattern populate functions 30 /// Progressive lowering of ContractionOp. 98 /// Progressive lowering of BroadcastOp to ExtractOp + InsertOp + lower-D 106 /// Progressive lowering of CreateMaskOp to lower-D CreateMaskOp until dim 1. 109 /// Progressive lowering of ConstantMaskOp to lower-D ConstantMaskOp until 133 /// Reference lowering to fully unrolled sequences of single element ExtractOp + 152 /// Progressive lowering of transfer_read.This pattern supports lowering of 157 /// Progressive lowering of transfer_write. This pattern supports lowering o [all...] |
/llvm-project/llvm/test/CodeGen/X86/ |
H A D | pseudo_cmov_lower.ll | 4 ; for lowering the CMOV pseudos that get created for this IR. 18 ; for lowering the CMOV pseudos that get created for this IR. This makes 19 ; sure the code for the lowering for opposite conditions gets tested. 35 ; for lowering the CMOV pseudos that get created for this IR. 51 ; for lowering the CMOV pseudos that get created for this IR. 67 ; for lowering the CMOV pseudos that get created for this IR. 81 ; for lowering the CMOV pseudos that get created for this IR. 95 ; for lowering the CMOV pseudos that get created for this IR. 109 ; for lowering the CMOV pseudos that get created for this IR. 123 ; for lowering the CMOV pseudos that get created for this IR. This combines [all …]
|
/llvm-project/llvm/test/tools/llc/new-pm/ |
H A D | start-stop.ll | 1 …e-new-pm -print-pipeline-passes -start-before=mergeicmps -stop-after=gc-lowering -filetype=null %s… 2 …e-new-pm -print-pipeline-passes -start-before=mergeicmps -stop-after=gc-lowering -o /dev/null %s |… 4 …ata>,function(verify,loop-mssa(loop-reduce),mergeicmps,expand-memcmp,gc-lowering,ee-instrument<pos… 5 …ata>,function(verify,loop-mssa(loop-reduce),mergeicmps,expand-memcmp,gc-lowering,ee-instrument<pos…
|
/llvm-project/flang/include/flang/Lower/ |
H A D | ConvertVariable.h | 1 //===- Lower/ConvertVariable.h -- lowering of variables to FIR --*- C++ -*-===// 52 /// when lowering a scope containing equivalences (aliases). It must only be 53 /// owned by the code lowering a scope and provided to instantiateVariable. 79 /// to be used when lowering a module definition, not when lowering variables 85 /// if they have one. This should be called before lowering any scopes so that 128 // here to deal with this while lowering the initial expression value. 171 /// hlfir.declare when lowering to HLFIR and map the hlfir.declare result to the
|
/llvm-project/llvm/lib/Transforms/Coroutines/ |
H A D | CoroInternal.h | 8 // Common definitions/declarations used internally by coroutine lowering passes. 50 // Keeps data and helper functions for lowering coroutine intrinsics.
|
/llvm-project/llvm/test/DebugInfo/X86/ |
H A D | formal_parameter.ll | 16 ; RUN: cat %t | FileCheck --check-prefix=LOWERING %s 37 ; LOWERING: #dbg_value{{.*}}, ![[LOC:[0-9]+]] 38 ; LOWERING: #dbg_value{{.*}}, ![[LOC]] 39 ; LOWERING: #dbg_value{{.*}}, ![[LOC]] 45 ; LOWERING: ![[SCOPE:[0-9]+]] = distinct !DISubprogram(name: "foo", 46 ; LOWERING: ![[LOC]] = !DILocation(line: 0, scope: ![[SCOPE]]
|
/llvm-project/clang/include/clang/CodeGen/ |
H A D | SwiftCallingConv.h | 1 //==-- SwiftCallingConv.h - Swift ABI lowering ------------------*- C++ -*-===// 9 // Defines constants and types related to Swift ABI lowering. The same ABI 10 // lowering applies to both sync and async functions. 72 /// Does this lowering require passing any data? 74 assert(Finished && "didn't finish lowering before calling empty()"); in empty() 78 /// According to the target Swift ABI, should a value with this lowering 84 /// anything else that is expected to be handled by high-level lowering.
|
/llvm-project/flang/test/Lower/HLFIR/ |
H A D | transformational.f90 | 1 ! Test lowering of transformational intrinsic to HLFIR what matters here 3 ! lowering interfaces with the rest of lowering. 10 ! Lowering goes via a hlfir.minloc intrinsic.
|