Home
last modified time | relevance | path

Searched full:lowering (Results 1 – 25 of 1633) sorted by relevance

12345678910>>...66

/llvm-project/llvm/test/Transforms/PGOProfile/
H A Dctx-instrumentation.ll6 ; 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 Dtile-spills-and-fills.mlir5 // 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 Dmul_transpose.f903 ! 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 DCh-5.md1 # 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 DCh-6.md1 # 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 DComplexOperations.md19 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 DHighLevelFIR.md3 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 DOverview.md17 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 DOpenMP-declare-target.md65 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 DVectorTransformOps.td116 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 DX86DynAllocaExpander.cpp41 /// 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 Dinvalid.mlir
/llvm-project/mlir/docs/Dialects/
H A DVector.md21 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 DLowerToLLVM.cpp1 //====- 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 DLowerToLLVM.cpp1 //====- 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 Ddeopt-lowering-attrs.ll3 ; 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 DLoweringOptions.h1 //===- 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 DLoweringPatterns.h20 // 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 Dpseudo_cmov_lower.ll4 ; 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 Dstart-stop.ll1 …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 DConvertVariable.h1 //===- 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 DCoroInternal.h8 // 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 Dformal_parameter.ll16 ; 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 DSwiftCallingConv.h1 //==-- 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 Dtransformational.f901 ! 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.

12345678910>>...66