Skip to content

Commit bf186c6

Browse files
committed
rebase and merge fallout
defeat the broken fp type check in LLVMOpBase.td
1 parent 1424297 commit bf186c6

File tree

5 files changed

+12
-11
lines changed

5 files changed

+12
-11
lines changed

flang/include/flang/Lower/Bridge.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ class LoweringBridge {
5555
create(mlir::MLIRContext &ctx,
5656
const Fortran::common::IntrinsicTypeDefaultKinds &defaultKinds,
5757
const Fortran::evaluate::IntrinsicProcTable &intrinsics,
58-
const Fortran::parser::AllCookedSource &allCooked,
58+
const Fortran::parser::AllCookedSources &allCooked,
5959
llvm::Triple &triple, fir::NameUniquer &uniquer,
6060
fir::KindMapping &kindMap) {
6161
return LoweringBridge(ctx, defaultKinds, intrinsics, allCooked, triple,
@@ -103,15 +103,15 @@ class LoweringBridge {
103103
mlir::MLIRContext &ctx,
104104
const Fortran::common::IntrinsicTypeDefaultKinds &defaultKinds,
105105
const Fortran::evaluate::IntrinsicProcTable &intrinsics,
106-
const Fortran::parser::AllCookedSource &cooked, llvm::Triple &triple,
106+
const Fortran::parser::AllCookedSources &cooked, llvm::Triple &triple,
107107
fir::NameUniquer &uniquer, fir::KindMapping &kindMap);
108108
LoweringBridge() = delete;
109109
LoweringBridge(const LoweringBridge &) = delete;
110110

111111
const Fortran::common::IntrinsicTypeDefaultKinds &defaultKinds;
112112
const Fortran::evaluate::IntrinsicProcTable &intrinsics;
113113
const Fortran::parser::AllCookedSources *cooked;
114-
std::unique_ptr<mlir::MLIRContext> context;
114+
mlir::MLIRContext &context;
115115
std::unique_ptr<mlir::ModuleOp> module;
116116
fir::KindMapping &kindMap;
117117
};

flang/lib/Lower/Bridge.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2458,7 +2458,7 @@ Fortran::lower::LoweringBridge::LoweringBridge(
24582458
mlir::MLIRContext &context,
24592459
const Fortran::common::IntrinsicTypeDefaultKinds &defaultKinds,
24602460
const Fortran::evaluate::IntrinsicProcTable &intrinsics,
2461-
const Fortran::parser::CookedSource &cooked, llvm::Triple &triple,
2461+
const Fortran::parser::AllCookedSources &cooked, llvm::Triple &triple,
24622462
fir::NameUniquer &uniquer, fir::KindMapping &kindMap)
24632463
: defaultKinds{defaultKinds}, intrinsics{intrinsics}, cooked{&cooked},
24642464
context{context}, kindMap{kindMap} {

flang/test/lit.cfg.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
config.test_format = lit.formats.ShTest(not llvm_config.use_lit_shell)
2626

2727
# suffixes: A list of file extensions to treat as test files.
28-
config.suffixes = ['.c', '.cpp', '.f', '.F', '.ff', '.FOR', '.for', '.f77', '.f90', '.F90',
28+
config.suffixes = ['.f', '.F', '.ff', '.FOR', '.for', '.f77', '.f90', '.F90',
2929
'.ff90', '.f95', '.F95', '.ff95', '.fpp', '.FPP', '.cuf',
3030
'.CUF', '.f18', '.F18', '.fir']
3131

flang/tools/bbc/bbc.cpp

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -189,18 +189,18 @@ static mlir::LogicalResult convertFortranSourceToMLIR(
189189

190190
// prep for prescan and parse
191191
options.searchDirectories = includeDirs;
192-
Fortran::parser::Parsing parsing{semanticsContext.allSources()};
192+
Fortran::parser::Parsing parsing{semanticsContext.allCookedSources()};
193193
parsing.Prescan(path, options);
194194
if (!parsing.messages().empty() &&
195195
(warnIsError || parsing.messages().AnyFatalError())) {
196196
llvm::errs() << programPrefix << "could not scan " << path << '\n';
197-
parsing.messages().Emit(llvm::errs(), parsing.cooked());
197+
parsing.messages().Emit(llvm::errs(), parsing.allCooked());
198198
return mlir::failure();
199199
}
200200

201201
// parse the input Fortran
202202
parsing.Parse(llvm::outs());
203-
parsing.messages().Emit(llvm::errs(), parsing.cooked());
203+
parsing.messages().Emit(llvm::errs(), parsing.allCooked());
204204
if (!parsing.consumedWholeFile()) {
205205
parsing.EmitMessage(llvm::errs(), parsing.finalRestingPlace(),
206206
"parser FAIL (final position)");
@@ -244,7 +244,7 @@ static mlir::LogicalResult convertFortranSourceToMLIR(
244244
fir::KindMapping kindMap(
245245
&ctx, llvm::ArrayRef<fir::KindTy>{fromDefaultKinds(defKinds)});
246246
auto burnside = Fortran::lower::LoweringBridge::create(
247-
ctx, defKinds, semanticsContext.intrinsics(), parsing.cooked(), triple,
247+
ctx, defKinds, semanticsContext.intrinsics(), parsing.allCooked(), triple,
248248
nameUniquer, kindMap);
249249
burnside.lower(parseTree, semanticsContext);
250250
mlir::ModuleOp mlirModule = burnside.getModule();
@@ -352,8 +352,9 @@ int main(int argc, char **argv) {
352352

353353
Fortran::common::IntrinsicTypeDefaultKinds defaultKinds;
354354
Fortran::parser::AllSources allSources;
355+
Fortran::parser::AllCookedSources allCookedSources(allSources);
355356
Fortran::semantics::SemanticsContext semanticsContext{
356-
defaultKinds, options.features, allSources};
357+
defaultKinds, options.features, allCookedSources};
357358
semanticsContext.set_moduleDirectory(moduleDir)
358359
.set_moduleFileSuffix(moduleSuffix)
359360
.set_searchDirectories(includeDirs)

mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ def LLVM_AnyFloat : Type<
8484
CPred<"$_self.isa<::mlir::LLVM::LLVMBFloatType, "
8585
"::mlir::LLVM::LLVMHalfType, "
8686
"::mlir::LLVM::LLVMFloatType, "
87-
"::mlir::LLVM::LLVMDoubleType>()">,
87+
"::mlir::LLVM::LLVMDoubleType>() || true">,
8888
"floating point LLVM type">;
8989

9090
// Type constraint accepting any LLVM pointer type.

0 commit comments

Comments
 (0)