{"ref":"refs/heads/master","push_id":54299530,"commits":[{"sha":"f9463af75b756cc914bc77d5f7591cdc538a0bdd","author":{"email":"f7b66f05088bb969a2921ddaa3ea37cc49a85779@intel.com","name":"Matt Pharr"},"url":"https://api.github.com/repos/ispc/ispc/commits/f9463af75b756cc914bc77d5f7591cdc538a0bdd","message":"Add WalkAST() function for generic AST walking.\n\nFor starters, use it for the check to see if code is safe to run with the\nmask all off.\n\nThis also fixes a bug where we would sometimes incorrectly say that\na whole block of code was unsafe to run with an all off mask because we came\nto a NULL AST node during traversal."},{"sha":"45767ad197f0ff81ba2270c6047c4808f37abb54","author":{"email":"f7b66f05088bb969a2921ddaa3ea37cc49a85779@intel.com","name":"Matt Pharr"},"url":"https://api.github.com/repos/ispc/ispc/commits/45767ad197f0ff81ba2270c6047c4808f37abb54","message":"Remove no longer needed lSafeToRunWithAllLanesOff utility functions."},{"sha":"34eda04d9b81a07c6236adb066fb069aea43b7da","author":{"email":"f7b66f05088bb969a2921ddaa3ea37cc49a85779@intel.com","name":"Matt Pharr"},"url":"https://api.github.com/repos/ispc/ispc/commits/34eda04d9b81a07c6236adb066fb069aea43b7da","message":"Rewrite check for loops for break/continue under varying CF to use WalkAST()"},{"sha":"018aa96c8b71cafc8e8049dbda1f82bcc01f03e7","author":{"email":"f7b66f05088bb969a2921ddaa3ea37cc49a85779@intel.com","name":"Matt Pharr"},"url":"https://api.github.com/repos/ispc/ispc/commits/018aa96c8b71cafc8e8049dbda1f82bcc01f03e7","message":"Remove old code for checking for break/continue under varying control flow."},{"sha":"ced3f1f5fcdc3fc08fa516a50fa01d01195290d0","author":{"email":"f7b66f05088bb969a2921ddaa3ea37cc49a85779@intel.com","name":"Matt Pharr"},"url":"https://api.github.com/repos/ispc/ispc/commits/ced3f1f5fcdc3fc08fa516a50fa01d01195290d0","message":"Have WalkAST postorder callback function return an ASTNode *\n\nIn general, it should just return the original node pointer, but for type checking\nand optimization passes, it can return a new value for the node (that will be\nassigned where the old one was in the tree.)\n\nAlong the way, fixed some bugs in WalkAST() where the postorder callback wouldn't\nend up being called for a few expr types (sizeof, dereference, address of, \nreference)."},{"sha":"f48a662ed393fbd0172e389617ca73a883acb034","author":{"email":"f7b66f05088bb969a2921ddaa3ea37cc49a85779@intel.com","name":"Matt Pharr"},"url":"https://api.github.com/repos/ispc/ispc/commits/f48a662ed393fbd0172e389617ca73a883acb034","message":"Rewrite AST optimization infrastructure to be built on top of WalkAST().\n\nSpecifically, stmts and exprs are no longer responsible for first recursively\noptimizing their children before doing their own optimization (this turned\nout to be error-prone, with children sometimes being forgotten.)  They now\nare just responsible for their own optimization, when appropriate."},{"sha":"701334ccf21f77defde021c4800d2dba91466ded","author":{"email":"f7b66f05088bb969a2921ddaa3ea37cc49a85779@intel.com","name":"Matt Pharr"},"url":"https://api.github.com/repos/ispc/ispc/commits/701334ccf21f77defde021c4800d2dba91466ded","message":"Transition type checking to use WalkAST() infrastructure."},{"sha":"f23d030e43e94e309d4cbbfd46169de54f0174eb","author":{"email":"f7b66f05088bb969a2921ddaa3ea37cc49a85779@intel.com","name":"Matt Pharr"},"url":"https://api.github.com/repos/ispc/ispc/commits/f23d030e43e94e309d4cbbfd46169de54f0174eb","message":"Transition EstimateCost() AST traversal to WalkAST() as well."}],"head":"f23d030e43e94e309d4cbbfd46169de54f0174eb","size":8}