I recently discovered a bug on the x86 platform: The fp80 type was not handled well by x86 for constrained floating point nodes, as their regular counterparts are replaced by extending loads and truncating stores during the preprocess phase. Normally, platforms don't have this issue, as they don't typically attempt to perform such legalizations during instruction selection preprocessing. Before this change, strict_fp nodes survived until they were mutated to normal nodes, which happened shortly after preprocessing on other platforms. This modification lowers these nodes at the same phase while properly utilizing the chain.
Details
Details
Diff Detail
Diff Detail
Event Timeline
lib/Target/X86/X86ISelDAGToDAG.cpp | ||
---|---|---|
1047 | Can we just use ReplaceAllUsesWith(SDNode *From, SDNode *To) here and get both in one shot? |
th -> the