This adds one LIT test covering 3 lines and 3 branch outcomes that the existing suite does not reach, across 2 source files, at 48615bc5925ef4b9db8b4550b5d4322933cf4b7b.
| Source file | Newly covered lines | Newly covered branch outcomes |
|---|---|---|
lib/Frontend/Raising/ExactStandardSpelling.h |
128–129 | 127:12–127:25 true; 128:9–128:33 true |
lib/Frontend/Raising/MaterializeFMulAddPass.cpp |
178 | 177:9–177:25 true |
lib/Frontend/Raising/ExactStandardSpelling.h 125 if (!statesDefaultDenormalEnvironment(env)) 126 return true;+127 if (auto noSignedZeros = funcOp.getNoSignedZerosFpMathAttr()) [true branch at 127:12]+128 if (noSignedZeros.getValue()) [true branch at 128:9]+129 return true; 130 if (auto contraction = funcOp.getFpContractAttr()) 131 if (contraction.getValue() != "off")
lib/Frontend/Raising/MaterializeFMulAddPass.cpp 175 }); 176 +177 if (selected.empty()) [true branch at 177:9]+178 return markAllAnalysesPreserved(); 179 180 materializeSelected(getContext(), selected, shape.getValue());
The input is 7 lines; reduction found nothing further to remove that kept the coverage above and a compiler that still accepted it. The CHECK lines are the compiler's exact output on this input at 48615bc5925ef4b9db8b4550b5d4322933cf4b7b.
// RUN: loom-raise-opt --loom-materialize-fmuladd=shape=fused --mlir-print-op-generic %s | FileCheck %s
module {
llvm.func @blocked_0(%x: f32, %y: f32, %z: f32) -> f32 attributes {no_signed_zeros_fp_math = true} {
%b0 = llvm.intr.fmuladd(%x, %y, %z) : (f32, f32, f32) -> f32 loc("fmuladd_blocked_0")
llvm.return %x : f32
}
}
// CHECK: "builtin.module"() ({
// CHECK-NEXT: "llvm.func"() <{CConv = #llvm.cconv<ccc>, function_type = !llvm.func<f32 (f32, f32, f32)>, linkage = #llvm.linkage<external>, no_signed_zeros_fp_math = true, sym_name = "blocked_0", unnamed_addr = 0 : i64, visibility_ = 0 : i64}> ({
// CHECK-NEXT: ^bb0(%arg0: f32, %arg1: f32, %arg2: f32):
// CHECK-NEXT: %0 = "llvm.intr.fmuladd"(%arg0, %arg1, %arg2) <{fastmathFlags = #llvm.fastmath<none>}> : (f32, f32, f32) -> f32
// CHECK-NEXT: "llvm.return"(%arg0) : (f32) -> ()
// CHECK-NEXT: }) : () -> ()
// CHECK-NEXT: }) : () -> ()
// CHECK-EMPTY:
48615bc5925ef4b9db8b4550b5d4322933cf4b7b.postcondition.spct, SHA-256 cd479d53d3e454031c9da3cb497446c59c45d7b6625a2f2ecdd40196bdabaee4).PBT mlir-stage-05-v1, run 20260911-043029, seed 62.
The property under test is anchored on documentation:
docs/spec-compiler-part-2-scf.md lines 1036–1039 (output side)docs/spec-compiler-part-2-scf.md lines 1018–1021 (input side)docs/spec-compiler-part-2-scf.md lines 178–181 (input side)docs/spec-compiler-part-2-scf.md lines 1021–1022 (input side)docs/spec-compiler-part-2-scf.md lines 1029–1034 (input side)docs/spec-compiler-part-2-scf.md lines 181–185 (input side)Coverage is measured against the recorded baseline suite at this revision, and counts unique mapped file locations including generated code. Reduction retains every added line or branch outcome and a passing property check; it is not a claim of global minimality, nor of a defect.
Originating PBT run · Seed 62
LIT test · PR patch · Native verification