GitHub PushEvent at 2014-12-25 04:26:20
Repository: mercury
Actor: zsomogyi
Payload: {"shas":[["aa941f2e646541d9dee87b6997b389b01e394123","f5f25150104e445be281fa3e96f4d2bf3a8cb24c@runbox.com","Optimize divisions and shifts by constants.\n\ncompiler/simplify_goal_call.m:\n    Transforms calls of the form X / Y where Y is known not to be zero\n    to X `unchecked_quotient` Y.\n\n    Transforms calls of the form X rem Y where Y is known not to be zero\n    to X `unchecked_rem` Y.\n\n    Transforms calls of the form X << Y where Y is known to be in the range\n    [zero, bits_per_int) to X `unchecked_left_shift` Y.\n\n    Transforms calls of the form X >> Y where Y is known to be in the range\n    [zero, bits_per_int) to X `unchecked_right_shift` Y.\n\n    The implementations of the original callees all the corresponding tests\n    at runtime. With this change, we now do the same test at compile time.\n\n    Use some factored existing code for the new functionality.\n\n    Remove the old optimization of calls to bits_per_int, since such calls\n    are handled by constant propagation, which is invoked *before* the\n    now-deleted code here.\n\ncompiler/simplify_proc.m:\n    Add unchecked_left_shift and unchecked_right_shift to the list of\n    predicates that may have calls introduced to them by simplification.","Zoltan Somogyi",true]],"size":1,"ref":"refs/heads/master","head":"aa941f2e646541d9dee87b6997b389b01e394123"}