weld-project / weld

High-performance runtime for data analytics applications
https://www.weld.rs
BSD 3-Clause "New" or "Revised" License
2.99k stars 258 forks source link

"simplify_assignments" creates infinite loop with iterate #507

Open sppalkia opened 4 years ago

sppalkia commented 4 years ago

e.g., the following code will loop infinitely due to an incorrect variable deletion in the SIR:

|e: vec[i8]|
let lenString = len(e);
iterate(lenString - 1L, |p| {p - 1L, p > 7L})