Skip to content

Commit 8e3c0a2

Browse files
authored
Revert "[flang] Lower c_ptr_eq/ne for iso_c_binding" (#85293)
Reverts #85135 There is an issue with module file generation in flang build.
1 parent b058b7e commit 8e3c0a2

File tree

4 files changed

+1
-79
lines changed

4 files changed

+1
-79
lines changed

flang/include/flang/Optimizer/Builder/IntrinsicCall.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -208,9 +208,6 @@ struct IntrinsicLibrary {
208208
void genCFProcPointer(llvm::ArrayRef<fir::ExtendedValue>);
209209
fir::ExtendedValue genCFunLoc(mlir::Type, llvm::ArrayRef<fir::ExtendedValue>);
210210
fir::ExtendedValue genCLoc(mlir::Type, llvm::ArrayRef<fir::ExtendedValue>);
211-
template <mlir::arith::CmpIPredicate pred>
212-
fir::ExtendedValue genCPtrCompare(mlir::Type,
213-
llvm::ArrayRef<fir::ExtendedValue>);
214211
mlir::Value genCosd(mlir::Type, llvm::ArrayRef<mlir::Value>);
215212
void genDateAndTime(llvm::ArrayRef<fir::ExtendedValue>);
216213
mlir::Value genDim(mlir::Type, llvm::ArrayRef<mlir::Value>);

flang/lib/Optimizer/Builder/IntrinsicCall.cpp

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -177,8 +177,6 @@ static constexpr IntrinsicHandler handlers[]{
177177
/*isElemental=*/false},
178178
{"c_funloc", &I::genCFunLoc, {{{"x", asBox}}}, /*isElemental=*/false},
179179
{"c_loc", &I::genCLoc, {{{"x", asBox}}}, /*isElemental=*/false},
180-
{"c_ptr_eq", &I::genCPtrCompare<mlir::arith::CmpIPredicate::eq>},
181-
{"c_ptr_ne", &I::genCPtrCompare<mlir::arith::CmpIPredicate::ne>},
182180
{"ceiling", &I::genCeiling},
183181
{"char", &I::genChar},
184182
{"cmplx",
@@ -2799,23 +2797,6 @@ IntrinsicLibrary::genCLoc(mlir::Type resultType,
27992797
return genCLocOrCFunLoc(builder, loc, resultType, args);
28002798
}
28012799

2802-
// C_PTR_EQ and C_PTR_NE
2803-
template <mlir::arith::CmpIPredicate pred>
2804-
fir::ExtendedValue
2805-
IntrinsicLibrary::genCPtrCompare(mlir::Type resultType,
2806-
llvm::ArrayRef<fir::ExtendedValue> args) {
2807-
assert(args.size() == 2);
2808-
mlir::Value cPtr1 = fir::getBase(args[0]);
2809-
mlir::Value cPtrVal1 =
2810-
fir::factory::genCPtrOrCFunptrValue(builder, loc, cPtr1);
2811-
mlir::Value cPtr2 = fir::getBase(args[1]);
2812-
mlir::Value cPtrVal2 =
2813-
fir::factory::genCPtrOrCFunptrValue(builder, loc, cPtr2);
2814-
mlir::Value cmp =
2815-
builder.create<mlir::arith::CmpIOp>(loc, pred, cPtrVal1, cPtrVal2);
2816-
return builder.createConvert(loc, resultType, cmp);
2817-
}
2818-
28192800
// CEILING
28202801
mlir::Value IntrinsicLibrary::genCeiling(mlir::Type resultType,
28212802
llvm::ArrayRef<mlir::Value> args) {

flang/module/__fortran_builtins.f90

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@
110110
public :: operator(==)
111111

112112
interface operator(/=)
113-
module procedure __builtin_c_ptr_ne
113+
module procedure __builtin_c_ptr_eq
114114
end interface
115115
public :: operator(/=)
116116

flang/test/Lower/Intrinsics/c_ptr_eq_ne.f90

Lines changed: 0 additions & 56 deletions
This file was deleted.

0 commit comments

Comments
 (0)