aboutsummaryrefslogtreecommitdiffstats
path: root/cse.c
AgeCommit message (Expand)AuthorFilesLines
2021-03-21replace add_instruction_to_end() by insert_last_instruction()Luc Van Oostenryck1-9/+1
2020-11-21add a new instruction for label-as-valueLuc Van Oostenryck1-0/+9
2018-08-25symaddr: s/insn->symbol/insn->src/Luc Van Oostenryck1-9/+2
2018-08-25Merge branch 'ssa' into tipLuc Van Oostenryck1-24/+3
2018-07-01dom: use domtree for bb_dominates()Luc Van Oostenryck1-24/+3
2018-06-30Merge branch 'cse-cast' into tipLuc Van Oostenryck1-12/+18
2018-06-30cse: let equivalent casts hash & compare identicallyLuc Van Oostenryck1-12/+16
2018-06-28bool: remove OP_{AND,OR}_BOOL instructionsLuc Van Oostenryck1-3/+1
2018-06-26cse: move to next comparable instructionLuc Van Oostenryck1-0/+2
2018-06-23cast: specialize integer castsLuc Van Oostenryck1-4/+4
2018-06-23cast: specialize cast from pointersLuc Van Oostenryck1-2/+2
2018-06-23cast: specialize casts from unsigned to pointersLuc Van Oostenryck1-0/+2
2018-02-24remove unneeded cast in calls to free_ptr_list()Luc Van Oostenryck1-1/+1
2018-02-24move inner optimization loop into optimize.cLuc Van Oostenryck1-36/+0
2018-02-24expose interface to CSELuc Van Oostenryck1-2/+3
2018-02-24extract cse_eliminate() from cleanup_and_cse()Luc Van Oostenryck1-7/+13
2018-02-24cse: untangle simplification & hashingLuc Van Oostenryck1-8/+6
2018-02-20no need for signed & unsigned multiplicationLuc Van Oostenryck1-2/+2
2018-01-16CSE: support CSE of floating-point literalLuc Van Oostenryck1-0/+11
2017-12-21fix: restore CSE on floating-point comparesLuc Van Oostenryck1-1/+3
2017-11-18add support of floating-point specific arithmetic opsLuc Van Oostenryck1-0/+14
2017-07-31fix ptrlist corruption while killing unreachable BBsLuc Van Oostenryck1-0/+2
2017-02-23CSE: avoid hashing removed instructionsLuc Van Oostenryck1-0/+2
2017-02-23CSE: use commutativity to identify equivalent instructionsLuc Van Oostenryck1-8/+14
2017-02-16use kill_instruction() when killing any instructions during CSELuc Van Oostenryck1-6/+1
2017-02-16use kill_instruction() when killing an OP_PHI during CSELuc Van Oostenryck1-9/+1
2011-08-27cse: update PHI users when throwing away an instructionKamil Dudka1-0/+13
2011-08-27cse: treat PHI-nodes as other instructionsKamil Dudka1-7/+0
2007-07-29cse: Size insn_hash_table more realistically, speeding up CSE significantlyJosh Triplett1-1/+1
2007-03-09Fix typos in commentsJosh Triplett1-4/+4
2005-09-24Do stupid and crappy CSE on casts.Linus Torvalds1-0/+25
2005-04-07[PATCH] using 0 as NULL in sparseChristopher Li1-3/+3
2005-04-07Use the new per-instruction position information for betterLinus Torvalds1-1/+1
2005-04-07Split the binops where signedness matters into unsigned and signed.Linus Torvalds1-6/+10
2005-04-07Split OP_SETVAL into OP_SETVAL (fp expressions and labels) and OP_SYMADDRLinus Torvalds1-2/+8
2005-04-07Remove phi source merging.Linus Torvalds1-17/+1
2005-04-07Expose "show_instruction()" for debugging.Linus Torvalds1-2/+0
2005-04-07Be more aggressive on PHI-node CSE.Linus Torvalds1-3/+10
2005-04-07Make OP_PHISOURCE track the OP_PHI instructions that it defines.Linus Torvalds1-4/+2
2005-04-07Yet another missed "entry" change point.Linus Torvalds1-1/+1
2005-04-07Remove OP_SETCC, make OP_SEL bigger instead.Linus Torvalds1-6/+10
2005-04-07Don't try to share parenthood fn between phi node removal and Linus Torvalds1-1/+15
2005-04-07Start using instruction sizes properly.Linus Torvalds1-1/+3
2005-04-07Oops. Don't try to CSE OP_SEL, at least not until we learn toLinus Torvalds1-2/+2
2005-04-07Do CSE over children with trivially common parents.Linus Torvalds1-1/+21
2005-04-07Allow CSE to run after bb packing. Linus Torvalds1-1/+5
2005-04-07Add "memop" simplification phase.Linus Torvalds1-1/+2
2005-04-07Be more careful about insn->bb pointers.Linus Torvalds1-0/+1
2005-04-07Make the CSE "repeat" logic be more fine-grained than justLinus Torvalds1-6/+8
2005-04-07Move instruction simplification to new file "simplify.c".Linus Torvalds1-193/+18
2005-04-07Another assert - verify bb validity.Linus Torvalds1-2/+2
2005-04-07Don't change instruction pseudo's when nopping them out.Linus Torvalds1-1/+0
2005-04-07Damn. We can't actually sort the phi-node list of phi's nowLinus Torvalds1-21/+4
2005-04-07Now that phi sources are just instructions, we can CSE them.Linus Torvalds1-0/+12
2005-04-07Clear phi list when killing a phi-node instructionLinus Torvalds1-1/+3
2005-04-07Oops. Clean up some left-overs from phi removal.Linus Torvalds1-8/+10
2005-04-07Remove "struct phi", replace with instruction that generates a pseudo.Linus Torvalds1-24/+27
2005-04-07Do if-conversion.Linus Torvalds1-0/+101
2005-04-07Re-do CSE if we did a phi-node simplification.Linus Torvalds1-12/+11
2005-04-07We need to pack the phi-list even if we simplify the phiLinus Torvalds1-2/+3
2005-04-07Make phi-node normalization (part of CSE) do trivial simplification.Linus Torvalds1-2/+17
2005-04-07Oops. Don't try to CSE the dead instructions.Linus Torvalds1-0/+2
2005-04-07Kill trivially dead instructionsLinus Torvalds1-0/+55
2005-04-07Make the "cse nop" a bit more informativeLinus Torvalds1-0/+1
2005-04-07Make CSE convert instructions to OP_NOPLinus Torvalds1-2/+2
2005-04-07Add simple-stupid dominance testing for CSE.Linus Torvalds1-2/+32
2005-04-07Pack the phi-list after removing duplicates.Linus Torvalds1-0/+3
2005-04-07Add initial CSE passLinus Torvalds1-0/+291