With masked operations, its possible for the operation node like fadd, fsub, etc. to be used by multiple different vselects. Since the pattern matching will start at the vselect, we need to make sure the operation node itself is only used once before we can fold a load. Otherwise we'll end up folding the same load into multiple instructions.
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
lib/Target/X86/X86ISelDAGToDAG.cpp | ||
---|---|---|
1541 ↗ | (On Diff #111900) | The comment says it is not legal. Do you have an example for an *illegal* fold or should the wording be changed? |