Commits


Patrice Vignola authored and GitHub committed 8ad9ab1b9ae
Fix CPU constant folding not reverting the node to its previous EP (#17399) A recent change was made in https://github.com/microsoft/onnxruntime/commit/5a83a67f32da784b7dd4029bb23e7cc05363b748 to make `ep_type` a reference instead of having it be a copy, presumably to avoid assigning strings (so `auto& ep_type = node->GetExecutionProviderType()` instead of `auto ep_type = node->GetExecutionProviderType()`). The problem with this change is that calling `node->SetExecutionProviderType(kCpuExecutionProvider)` will change the value of the reference itself, which means that it's impossible to revert the node to its previous EP. This change fixes this bug and adds an optimization over the previous approach by only assigning a string when we know that we are dealing with a non-CPU node.