Source

pypy - RST fix / pypy / translator / backendopt / removenoops.py

Author Commit Message Labels Comments Date
Alex Gaynor
general cleanup of random stuff in backendopt
Carl Friedrich Bolz
kill more remnants of resume points
Armin Rigo
Tentative: kill various pieces of code left and right handling keepalives. Now the inliner no longer inserts tons of keepalives for you (which are almost always unneeded).
Maciej Fijalkowski
Revert SpaceOperation changes, they're parked on a branch for now
Maciej Fijalkowski
make SpaceOperations consume less space by making them specialized on exact number of arguments. Saves a bit of space and a bit of time when annotating.
Alexander Schremmer
(cfbolz, xoraxax): Remove extfunctable and suggested_primitive support. Refactored exttypeinfo-usage of rstack to use a hint on the opaquetype. Ignored a weird hack in the extfunctable regarding ntpath.isabs because there is str in str support in rpython now.
Alexander Schremmer
Make backendopts less chatty if verbose is false.
Michael Hudson-Doyle
kill the remove_void transformation -- it mutated the startblocks input args without caring about the type of any function pointers. and nothing used it.
Armin Rigo
A bug in removenoops, with an extra check in checkgraph() to catch it.
Michael Hudson-Doyle
(mwh, pedronis) Fix + test for various grotty interactions of explicit resume points and backend optimizations.
Carl Friedrich Bolz
make partial_folding more general (although a bit inefficient). This makes the optimization a bit too good: it now unrolls loops with constants bounds. On the other hand it nicely folds away isinstance calls on tagged ptrs to just a bit comparison.
Christian Tismer
after removal of traverse also remove the import
Carl Friedrich Bolz
fix a rarely occuring bug in join_blocks: if the exitswitch of the second block was a constant in eh link coming from the first block, the exits of the second block would not be properly pruned. Also remove some op.cleanup leftovers as well as some visit usages in removenoops.
Carl Friedrich Bolz
(pedronis, cfbolz): introduced an optimizations remove_duplicate_casts to reduce the size of the live variable set. For this we needed to make the exception heuristic in inlining cleverer.
Carl Friedrich Bolz
add an transformation that removes superfluous keepalives. move some stuff from propagate to removenoops
Niklaus Haldimann
light getting-into-pypy-mood hacking. take remove_same_as backendopt and generalize it to remove_unaryops, to remove any unary low-level operation. to be used to remove e.g. oodowncast/upcast in gensqueak.
Carl Friedrich Bolz
introduce a new ll operation: indirect_call. It is used if the function that is being called is a Variable. This makes attaching of the possibly called functions to the operation (which I will be doing next) much cleaner, as I can abuse an argument for it.
Michael Hudson-Doyle
remove rpython/lltype.py (easy!) and fix all the references to it to be to rpython/lltypesystem/lltype.py (tedious!). haven't run ALL the tests yet, will do that on snake.
Armin Rigo
Bug, test and fix of remove_same_as().
Armin Rigo
* Removed underscores from directory and file names. * Finished sorting the tests in their own backendopt/test/test_* files. * Changed outside code to use backendopt/ instead of backendoptimization.py, which is deleted. * Fixed some bugs here and there, there are more bugs open, both in inlining and malloc removal... * llvm seems quite broken at the moment, sorry if I caused that. I will check this too.