diff options
Diffstat (limited to 'src/ir/effects.h')
-rw-r--r-- | src/ir/effects.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/ir/effects.h b/src/ir/effects.h index 98911d451..b6eafae27 100644 --- a/src/ir/effects.h +++ b/src/ir/effects.h @@ -62,6 +62,9 @@ struct EffectAnalyzer : public PostWalker<EffectAnalyzer> { bool hasSideEffects() { return hasGlobalSideEffects() || localsWritten.size() > 0 || branches || implicitTrap; } bool hasAnything() { return branches || calls || accessesLocal() || readsMemory || writesMemory || accessesGlobal() || implicitTrap || isAtomic; } + // check if we break to anything external from ourselves + bool hasExternalBreakTargets() { return !breakNames.empty(); } + // checks if these effects would invalidate another set (e.g., if we write, we invalidate someone that reads, they can't be moved past us) bool invalidates(EffectAnalyzer& other) { if (branches || other.branches |