aboutsummaryrefslogtreecommitdiffstats
path: root/lib/compiler/src/beam_ssa_opt.erl
AgeCommit message (Expand)Author
2019-07-05beam_ssa_opt: Sink get_tuple_element before type optimizationJohn Högberg
2019-07-05compiler: Explain and rename ?BADARG_BLOCKJohn Högberg
2019-07-05compiler: Introduce exception trampolinesJohn Högberg
2019-07-04Merge branch 'maint'John Högberg
2019-07-03beam_ssa_opt: Do not apply tuple_size optimization outside guardsJohn Högberg
2019-06-17compiler: Propagate types of free variablesJohn Högberg
2019-05-23Implement '==' optimization in beam_ssa_typeBjörn Gustavsson
2019-03-08beam_ssa_opt: Fix crash in ssa_opt_floatJohn Högberg
2019-02-28beam_ssa_opt: Use is_tagged_tuple moreBjörn Gustavsson
2019-02-28beam_ssa_opt: Order consecutive get_tuple_element instructionsBjörn Gustavsson
2019-02-21beam_ssa_opt: Do local CSE of get_tuple_element instructionsBjörn Gustavsson
2019-02-20Improve optimization of switchesBjörn Gustavsson
2019-02-19Do the destructive setelement optimization in SSABjörn Gustavsson
2019-02-15Make sure that beam_ssa_opt optimizes all functionsBjörn Gustavsson
2019-02-07Merge pull request #2135 from bjorng/bjorn/compiler/optimize-dominatorsBjörn Gustavsson
2019-02-06Optimize ssa_opt_sink for huge functionsBjörn Gustavsson
2019-02-04beam_ssa_opt: Fix function name printing in sub-pass crash dumpJohn Högberg
2019-02-01Make helper functions tail-recursiveBjörn Gustavsson
2019-02-01Prefer map syntax and guard BIFs over the maps modulesBjörn Gustavsson
2019-02-01Use gb_sets:delete/2 instead of gb_sets:delete_any/2Björn Gustavsson
2019-02-01Optimize ssa_opt_sink when nothing can be sunkBjörn Gustavsson
2019-01-29Merge pull request #2112 from bjorng/bjorn/compiler/compilation-speedBjörn Gustavsson
2019-01-28Speed up ssa_opt_merge_blocksBjörn Gustavsson
2019-01-28beam_ssa_opt: Make phase/4 tail-recursiveBjörn Gustavsson
2019-01-24Introduce optimizations of tail phisBjörn Gustavsson
2019-01-24compiler: Introduce module-level type optimizationJohn Högberg
2019-01-24beam_ssa_opt: Add a scaffold for module-level optimizationsJohn Högberg
2019-01-21beam_ssa_opt: Don't ruin arguments of bs_match/skipJohn Högberg
2019-01-18beam_ssa_opt: Run ssa_opt_tuple_size earlyBjörn Gustavsson
2019-01-18beam_ssa_opt: Run the type optimization pass twiceBjörn Gustavsson
2019-01-17beam_ssa_type: Eliminate redundant 'succeeded' instructionsBjörn Gustavsson
2019-01-16Move optimizations of bs_put* instruction to beam_ssa_optBjörn Gustavsson
2019-01-16Move coalescing of bs_skip to beam_ssa_optBjörn Gustavsson
2018-11-28Share the code for semantically equivalent blocksBjörn Gustavsson
2018-09-28beam_ssa_opt: Eliminate redundant match alignment testsJohn Högberg
2018-09-20Consistently use #b_var{} instead of var_name()John Högberg
2018-09-17Add beam_ssa_dead.erlBjörn Gustavsson
2018-09-17beam_ssa_opt: Robustify float optimizationsBjörn Gustavsson
2018-09-12beam_ssa_opt: Don't do CSE for tuple_size/1Björn Gustavsson
2018-09-12beam_ssa_opt: Slightly optimize compile-time performance of CSEBjörn Gustavsson
2018-09-12beam_ssa_opt: Slightly optimize performance of live optimizationBjörn Gustavsson
2018-09-12beam_ssa_opt: Add an optimization of tuple_size/1Björn Gustavsson
2018-09-12beam_ssa_opt: Add simplification of switch listsBjörn Gustavsson
2018-09-12beam_ssa_opt: Add a pass for coalescing phi nodesBjörn Gustavsson
2018-09-12beam_ssa_opt: Fix liveness optimizationBjörn Gustavsson
2018-09-12Optimize 'and' and 'or' instructionsBjörn Gustavsson
2018-08-24Introduce a new SSA-based intermediate formatBjörn Gustavsson