| /llvm-project-15.0.7/polly/lib/External/isl/ |
| H A D | isl_fold.c | 59 if (!fold) in qpolynomial_fold_alloc() 76 return fold ? fold->dim->ctx : NULL; in isl_qpolynomial_fold_get_ctx() 84 return fold ? fold->dim : NULL; in isl_qpolynomial_fold_peek_domain_space() 107 if (!fold) in isl_qpolynomial_fold_take_domain_space() 134 fold = isl_qpolynomial_fold_cow(fold); in isl_qpolynomial_fold_restore_domain_space() 164 return fold ? fold->list : NULL; in isl_qpolynomial_fold_peek_list() 216 fold = isl_qpolynomial_fold_cow(fold); in isl_qpolynomial_fold_restore_list() 1583 pwf1->p[j].fold, pwf2->p[i].fold); in isl_pw_qpolynomial_fold_covers() 1742 fold = isl_qpolynomial_fold_cow(fold); in isl_qpolynomial_fold_move_dims() 2082 fold = isl_qpolynomial_fold_cow(fold); in isl_qpolynomial_fold_mul_isl_int() [all …]
|
| H A D | isl_polynomial_private.h | 100 struct isl_qpolynomial_fold *fold; member 204 __isl_take isl_qpolynomial_fold *fold); 206 __isl_keep isl_qpolynomial_fold *fold); 209 __isl_keep isl_qpolynomial_fold *fold); 238 __isl_take isl_qpolynomial_fold *fold, __isl_take isl_morph *morph); 245 __isl_take isl_qpolynomial_fold *fold, __isl_take isl_space *space); 252 __isl_take isl_qpolynomial_fold *fold, __isl_take isl_set *context); 271 __isl_take isl_qpolynomial_fold *fold, __isl_take isl_space *space); 273 __isl_take isl_qpolynomial_fold *fold, __isl_take isl_space *space, 287 __isl_take isl_qpolynomial_fold *fold, isl_int v); [all …]
|
| H A D | isl_bound.c | 29 isl_qpolynomial_fold *fold; in isl_qpolynomial_cst_bound() local 32 fold = isl_qpolynomial_fold_alloc(type, poly); in isl_qpolynomial_cst_bound() 36 pwf = isl_pw_qpolynomial_fold_alloc(type, dom, fold); in isl_qpolynomial_cst_bound() 266 r = isl_qpolynomial_fold_foreach_qpolynomial(bound->fold, in basic_guarded_fold() 273 __isl_take isl_qpolynomial_fold *fold, void *user) in guarded_fold() argument 277 if (!set || !fold) in guarded_fold() 282 bound->fold = fold; in guarded_fold() 283 bound->type = isl_qpolynomial_fold_get_type(fold); in guarded_fold() 289 isl_qpolynomial_fold_free(fold); in guarded_fold() 294 isl_qpolynomial_fold_free(fold); in guarded_fold()
|
| H A D | isl_bernstein.c | 35 isl_qpolynomial_fold *fold; member 130 isl_qpolynomial_fold *fold; in add_fold() local 133 fold = isl_qpolynomial_fold_alloc(data->type, b); in add_fold() 142 data->fold_tight, fold); in add_fold() 144 data->fold = isl_qpolynomial_fold_fold_on_domain(dom, in add_fold() 145 data->fold, fold); in add_fold() 332 data->fold = isl_qpolynomial_fold_empty(data->type, in bernstein_coefficients_cell() 336 data->fold = isl_qpolynomial_fold_free(data->fold); in bernstein_coefficients_cell() 341 data->fold); in bernstein_coefficients_cell()
|
| /llvm-project-15.0.7/llvm/test/CodeGen/AMDGPU/ |
| H A D | fold-readlane.mir | 3 # GCN-LABEL: name: fold-imm-readfirstlane{{$}} 6 name: fold-imm-readfirstlane 19 name: fold-imm-readfirstlane-dbgvalue 34 name: fold-imm-readfirstlane-readfirstlane 50 name: fold-copy-readfirstlane 65 name: no-fold-copy-readfirstlane-physreg0 94 name: no-fold-imm-readfirstlane-physreg 226 name: fold-imm-readfirstlane-user 241 name: fold-imm-readlane 255 name: fold-imm-readlane-src1 [all …]
|
| /llvm-project-15.0.7/mlir/lib/Dialect/Math/IR/ |
| H A D | MathOps.cpp | 28 OpFoldResult math::AbsOp::fold(ArrayRef<Attribute> operands) { in fold() function in math::AbsOp 39 OpFoldResult math::CeilOp::fold(ArrayRef<Attribute> operands) { in fold() function in math::CeilOp 84 OpFoldResult math::CtPopOp::fold(ArrayRef<Attribute> operands) { in fold() function in math::CtPopOp 94 OpFoldResult math::LogOp::fold(ArrayRef<Attribute> operands) { in fold() function in math::LogOp 114 OpFoldResult math::Log2Op::fold(ArrayRef<Attribute> operands) { in fold() function in math::Log2Op 134 OpFoldResult math::Log10Op::fold(ArrayRef<Attribute> operands) { in fold() function in math::Log10Op 155 OpFoldResult math::Log1pOp::fold(ArrayRef<Attribute> operands) { in fold() function in math::Log1pOp 177 OpFoldResult math::PowFOp::fold(ArrayRef<Attribute> operands) { in fold() function in math::PowFOp 196 OpFoldResult math::SqrtOp::fold(ArrayRef<Attribute> operands) { in fold() function in math::SqrtOp 217 OpFoldResult math::ExpOp::fold(ArrayRef<Attribute> operands) { in fold() function in math::ExpOp [all …]
|
| /llvm-project-15.0.7/flang/lib/Evaluate/ |
| H A D | CMakeLists.txt | 30 fold.cpp 31 fold-character.cpp 32 fold-complex.cpp 33 fold-designator.cpp 34 fold-integer.cpp 35 fold-logical.cpp 36 fold-real.cpp 37 fold-reduction.cpp
|
| /llvm-project-15.0.7/clang/test/Sema/ |
| H A D | rounding-math.c | 6 #define fold(x) (__builtin_constant_p(x) ? (x) : (x)) macro 11 _Static_assert(fold((int)f(3)) == 1, ""); 13 typedef int T[fold((int)f(3))]; 20 unsigned int m : fold((int)f(3)); 33 typedef int vla2[fold((int)(-3 * (1.0 / 3.0)))]; // expected-error {{negative size}} in vlas()
|
| /llvm-project-15.0.7/mlir/lib/Dialect/Complex/IR/ |
| H A D | ComplexOps.cpp | 20 OpFoldResult ConstantOp::fold(ArrayRef<Attribute> operands) { in fold() function in ConstantOp 66 OpFoldResult CreateOp::fold(ArrayRef<Attribute> operands) { in fold() function in CreateOp 83 OpFoldResult ImOp::fold(ArrayRef<Attribute> operands) { in fold() function in ImOp 97 OpFoldResult ReOp::fold(ArrayRef<Attribute> operands) { in fold() function in ReOp 111 OpFoldResult AddOp::fold(ArrayRef<Attribute> operands) { in fold() function in AddOp 131 OpFoldResult NegOp::fold(ArrayRef<Attribute> operands) { in fold() function in NegOp 145 OpFoldResult LogOp::fold(ArrayRef<Attribute> operands) { in fold() function in LogOp 159 OpFoldResult ExpOp::fold(ArrayRef<Attribute> operands) { in fold() function in ExpOp
|
| /llvm-project-15.0.7/llvm/test/Assembler/ |
| H A D | ConstantExprNoFold.ll | 1 ; This test checks to make sure that constant exprs don't fold in some simple 13 ; Don't fold this. @A might really be allocated next to @B, in which case the 20 ; Don't fold this completely away either. In theory this could be simplified 53 ; CHECK: @no.fold.addrspace.icmp.eq.gv.null = global i1 icmp eq (i32 addrspace(3)* @addrspace3, i32… 54 ; CHECK: @no.fold.addrspace.icmp.eq.null.gv = global i1 icmp eq (i32 addrspace(3)* @addrspace3, i32… 55 ; CHECK: @no.fold.addrspace.icmp.ne.gv.null = global i1 icmp ne (i32 addrspace(3)* @addrspace3, i32… 56 ; CHECK: @no.fold.addrspace.icmp.ne.null.gv = global i1 icmp ne (i32 addrspace(3)* @addrspace3, i32… 57 @no.fold.addrspace.icmp.eq.gv.null = global i1 icmp eq (i32 addrspace(3)* @addrspace3, i32 addrspac… 58 @no.fold.addrspace.icmp.eq.null.gv = global i1 icmp eq (i32 addrspace(3)* null, i32 addrspace(3)* @… 59 @no.fold.addrspace.icmp.ne.gv.null = global i1 icmp ne (i32 addrspace(3)* @addrspace3, i32 addrspac… [all …]
|
| /llvm-project-15.0.7/llvm/test/CodeGen/AArch64/ |
| H A D | ushl_sat.ll | 7 ; fold (shlsat undef, x) -> 0 17 ; fold (shlsat x, undef) -> undef 26 ; fold (shlsat poison, x) -> 0 36 ; fold (shlsat x, poison) -> undef 45 ; fold (shlsat x, bitwidth) -> undef 54 ; fold (ushlsat 0, x) -> 0 64 ; fold (ushlsat x, 0) -> x 73 ; fold (ushlsat c1, c2) -> c3 83 ; fold (ushlsat c1, c2) -> sat max 96 ; fold (ushlsat c1, c2) -> c3 , c1/c2/c3 being vectors [all …]
|
| H A D | sshl_sat.ll | 7 ; fold (shlsat undef, x) -> 0 17 ; fold (shlsat x, undef) -> undef 26 ; fold (shlsat poison, x) -> 0 36 ; fold (shlsat x, poison) -> undef 45 ; fold (shlsat x, bitwidth) -> undef 54 ; fold (shlsat 0, x) -> 0 64 ; fold (shlsat x, 0) -> x 73 ; fold (shlsat c1, c2) -> c3 83 ; fold (shlsat c1, c2) -> sat max 93 ; fold (shlsat c1, c2) -> sat min [all …]
|
| /llvm-project-15.0.7/clang/test/SemaCXX/ |
| H A D | builtin-is-constant-evaluated.cpp | 3 #define fold(x) (__builtin_constant_p(x) ? (x) : (x)) macro 128 static_assert(fold(f == 1.0f)); 133 static_assert(fold(sf == 1.0f)); in g() 137 static_assert(fold(f == 0.0f)); in g() 144 static_assert(fold(A::f == 1.0f));
|
| /llvm-project-15.0.7/llvm/test/Analysis/ScalarEvolution/ |
| H A D | latch-dominating-conditions.ll | 41 %does.not.fold.to.true = icmp slt i8 %idx, 42 42 ; CHECK: call void @side_effect(i1 %does.not.fold.to.true) 43 call void @side_effect(i1 %does.not.fold.to.true) 48 ; CHECK: call void @side_effect(i1 %does.not.fold.to.true) 49 call void @side_effect(i1 %does.not.fold.to.true)
|
| /llvm-project-15.0.7/mlir/lib/Dialect/Arithmetic/IR/ |
| H A D | ArithmeticOps.cpp | 193 OpFoldResult arith::AddIOp::fold(ArrayRef<Attribute> operands) { in fold() function in arith::AddIOp 222 OpFoldResult arith::SubIOp::fold(ArrayRef<Attribute> operands) { in fold() function in arith::SubIOp 246 OpFoldResult arith::MulIOp::fold(ArrayRef<Attribute> operands) { in fold() function in arith::MulIOp 264 OpFoldResult arith::DivUIOp::fold(ArrayRef<Attribute> operands) { in fold() function in arith::DivUIOp 287 OpFoldResult arith::DivSIOp::fold(ArrayRef<Attribute> operands) { in fold() function in arith::DivSIOp 492 OpFoldResult arith::AndIOp::fold(ArrayRef<Attribute> operands) { in fold() function in arith::AndIOp 509 OpFoldResult arith::OrIOp::fold(ArrayRef<Attribute> operands) { in fold() function in arith::OrIOp 609 OpFoldResult MaxSIOp::fold(ArrayRef<Attribute> operands) { in fold() function in MaxSIOp 637 OpFoldResult MaxUIOp::fold(ArrayRef<Attribute> operands) { in fold() function in MaxUIOp 683 OpFoldResult MinSIOp::fold(ArrayRef<Attribute> operands) { in fold() function in MinSIOp [all …]
|
| /llvm-project-15.0.7/mlir/docs/ |
| H A D | Canonicalization.md | 59 general `RewritePattern`s and the `fold` method. 104 ### Canonicalizing with the `fold` method 106 The `fold` mechanism is an intentionally limited, but powerful mechanism that 108 For example, outside of the canonicalizer pass, `fold` is used within the 116 replace the operation with. This ensures that the `fold` method is a truly 121 a declaration for the `fold` method. This method takes on a different form, 144 OpFoldResult MyOp::fold(ArrayRef<Attribute> operands) { 166 LogicalResult MyOp::fold(ArrayRef<Attribute> operands, 183 correspond to an existing value. The `fold` methods are not permitted to 188 When the `fold` hook on an operation is not successful, the dialect can [all …]
|
| /llvm-project-15.0.7/clang-tools-extra/pseudo/lib/cxx/ |
| H A D | cxx.bnf | 96 fold-expression := ( cast-expression fold-operator ... ) 97 fold-expression := ( ... fold-operator cast-expression ) 98 fold-expression := ( cast-expression fold-operator ... fold-operator cast-expression ) 99 fold-operator := + 100 fold-operator := - 101 fold-operator := * 102 fold-operator := / 103 fold-operator := % 104 fold-operator := ^ 105 fold-operator := | [all …]
|
| /llvm-project-15.0.7/polly/lib/External/isl/include/isl/ |
| H A D | polynomial.h | 312 __isl_keep isl_qpolynomial_fold *fold); 314 __isl_take isl_qpolynomial_fold *fold); 323 __isl_keep isl_qpolynomial_fold *fold); 325 __isl_keep isl_qpolynomial_fold *fold); 332 __isl_take isl_qpolynomial_fold *fold, __isl_take isl_val *v); 334 __isl_take isl_qpolynomial_fold *fold, __isl_take isl_val *v); 337 __isl_take isl_qpolynomial_fold *fold, 342 __isl_take isl_qpolynomial_fold *fold, 359 __isl_keep isl_qpolynomial_fold *fold, 383 __isl_take isl_set *set, __isl_take isl_qpolynomial_fold *fold); [all …]
|
| /llvm-project-15.0.7/mlir/examples/toy/Ch7/mlir/ |
| H A D | ToyCombine.cpp | 27 OpFoldResult ConstantOp::fold(ArrayRef<Attribute> operands) { in fold() function in ConstantOp 32 OpFoldResult StructConstantOp::fold(ArrayRef<Attribute> operands) { in fold() function in StructConstantOp 37 OpFoldResult StructAccessOp::fold(ArrayRef<Attribute> operands) { in fold() function in StructAccessOp
|
| /llvm-project-15.0.7/llvm/test/CodeGen/PowerPC/ |
| H A D | urem-lkk.ll | 38 ; Don't fold if we can combine urem with udiv. 59 ; Don't fold for divisors that are a power of two. 69 ; Don't fold if the divisor is one. 79 ; Don't fold if the divisor is 2^32. 88 ; Don't fold i64 urem
|
| H A D | combine_ext_trunc.ll | 7 ; fold (or (and X, (xor Y, -1)), Y) to (or X, Y) 22 ; fold (or (and (xor Y, -1), X), Y) to (or X, Y) 37 ; fold (and (select Cond, 0, -1), X) to (select Cond, 0, X) 52 ; fold (or X, (select Cond, -1, 0)) to (select Cond, -1, X)
|
| /llvm-project-15.0.7/mlir/test/mlir-tblgen/ |
| H A D | trait.mlir | 4 // Test that involutions fold correctly 37 // Test that involutions fold occurs if operation fold fails 50 // Test that involution fold does not occur if operation fold succeeds
|
| /llvm-project-15.0.7/mlir/lib/Dialect/SPIRV/IR/ |
| H A D | SPIRVCanonicalization.cpp | 133 OpFoldResult spirv::CompositeExtractOp::fold(ArrayRef<Attribute> operands) { in fold() function in spirv::CompositeExtractOp 146 OpFoldResult spirv::ConstantOp::fold(ArrayRef<Attribute> operands) { in fold() function in spirv::ConstantOp 155 OpFoldResult spirv::IAddOp::fold(ArrayRef<Attribute> operands) { in fold() function in spirv::IAddOp 174 OpFoldResult spirv::IMulOp::fold(ArrayRef<Attribute> operands) { in fold() function in spirv::IMulOp 196 OpFoldResult spirv::ISubOp::fold(ArrayRef<Attribute> operands) { in fold() function in spirv::ISubOp 214 OpFoldResult spirv::LogicalAndOp::fold(ArrayRef<Attribute> operands) { in fold() function in spirv::LogicalAndOp 246 OpFoldResult spirv::LogicalOrOp::fold(ArrayRef<Attribute> operands) { in fold() function in spirv::LogicalOrOp
|
| /llvm-project-15.0.7/lld/test/MachO/ |
| H A D | icf.s | 4 ## Check that we fold identical function bodies correctly. Note: This test 106 ### * No fold: func is weak? preemptible? 138 ## No fold: the absolute symbol value differs 142 ## No fold: _not_abs has the same value as _abs1{a,b}, but is not absolute. 154 ## No fold: referent dylib symbol differs 159 ## No fold: referent dylib addend differs
|
| /llvm-project-15.0.7/llvm/test/CodeGen/X86/ |
| H A D | urem-lkk.ll | 40 ; Don't fold if we can combine urem with udiv. 62 ; Don't fold for divisors that are a power of two. 73 ; Don't fold if the divisor is one. 83 ; Don't fold if the divisor is 2^32. 92 ; Don't fold i64 urem
|