summaryrefslogtreecommitdiffstats
path: root/tcg/optimize.c
Commit message (Expand)AuthorAgeFilesLines
* tcg/optimize: Add more identity simplificationsRichard Henderson2014-02-171-15/+24
* tcg/optimize: Optmize ANDC X,Y,Y to MOV X,0Richard Henderson2014-02-171-0/+1
* tcg/optimize: Simply some logical ops to NOTRichard Henderson2014-02-171-0/+57
* tcg/optimize: Handle known-zeros masks for ANDCRichard Henderson2014-02-171-0/+11
* tcg/optimize: add known-zero bits compute for load opsAurelien Jarno2014-02-171-1/+25
* tcg/optimize: improve known-zero bits for 32-bit opsAurelien Jarno2014-02-171-0/+6
* tcg/optimize: fix known-zero bits optimizationAurelien Jarno2014-02-171-1/+7
* tcg/optimize: fix known-zero bits for right shift opsAurelien Jarno2014-02-171-5/+14
* misc: Use new rotate functionsStefan Weil2013-09-251-8/+4
* tcg: Constant fold div, remRichard Henderson2013-09-021-0/+23
* tcg: Add muluh and mulsh opcodesRichard Henderson2013-09-021-0/+20
* tcg/optimize: fix setcond2 optimizationAurelien Jarno2013-05-091-0/+1
* tcg-optimize: Fold sub r,0,x to neg r,xRichard Henderson2013-03-231-1/+33
* tcg: Add signed multiword multiplication operationsRichard Henderson2013-02-231-0/+1
* tcg: Add 64-bit multiword arithmetic operationsRichard Henderson2013-02-231-2/+2
* optimize: optimize using nonzero bitsPaolo Bonzini2013-01-191-2/+28
* optimize: track nonzero bits of registersPaolo Bonzini2013-01-191-22/+110
* optimize: only write to state when clearing optimizer dataPaolo Bonzini2013-01-191-5/+14
* TCG: Use gen_opc_buf from context instead of global variable.Evgeny Voevodin2012-11-171-31/+31
* tcg: rework TCG helper flagsAurelien Jarno2012-10-281-1/+2
* tcg: Optimize mulu2Richard Henderson2012-10-171-0/+26
* tcg: Constant fold add2 and sub2Richard Henderson2012-10-171-0/+35
* tcg: Do constant folding on double-word comparisonsRichard Henderson2012-10-171-21/+72
* tcg: Split out subroutines from do_constant_folding_condRichard Henderson2012-10-171-71/+81
* tcg: Optimize double-word comparisons against zeroRichard Henderson2012-10-171-0/+39
* tcg: Use common code when failing to optimizeRichard Henderson2012-10-171-59/+32
* tcg: Swap commutative double-word comparisonsRichard Henderson2012-10-171-0/+26
* tcg: Canonicalize add2 operand orderingRichard Henderson2012-10-171-0/+5
* tcg: Split out swap_commutative as a subroutineRichard Henderson2012-10-171-32/+24
* tcg: Add TCG_COND_NEVER, TCG_COND_ALWAYSRichard Henderson2012-10-061-0/+6
* tcg/optimize: add constant folding for depositAurelien Jarno2012-09-221-0/+20
* tcg/optimize: prefer the "op a, a, b" form for commutative opsAurelien Jarno2012-09-221-1/+4
* tcg/optimize: further optimize brcond/movcond/setcondAurelien Jarno2012-09-221-51/+76
* tcg/optimize: optimize "op r, a, a => movi r, 0"Aurelien Jarno2012-09-221-0/+16
* tcg/optimize: optimize "op r, a, a => mov r, a"Aurelien Jarno2012-09-221-1/+1
* tcg/optimize: do copy propagation for all operationsAurelien Jarno2012-09-221-2/+9
* tcg/optimize: rework copy progagationAurelien Jarno2012-09-221-75/+92
* tcg/optimize: check types in copy propagationAurelien Jarno2012-09-221-10/+8
* tcg/optimize: remove TCG_TEMP_ANYAurelien Jarno2012-09-221-6/+5
* tcg: Optimize two-address commutative operationsRichard Henderson2012-09-211-1/+14
* tcg: Optimize movcond for constant comparisonsRichard Henderson2012-09-211-0/+40
* tcg/optimize: fix end of basic block detectionAurelien Jarno2012-09-191-13/+9
* revert "TCG: fix copy propagation"Aurelien Jarno2012-09-191-9/+6
* tcg/optimize: fix if/else/break coding styleAurelien Jarno2012-09-111-23/+11
* tcg/optimize: add constant folding for brcondAurelien Jarno2012-09-111-1/+26
* tcg/optimize: add constant folding for setcondAurelien Jarno2012-09-111-0/+81
* tcg/optimize: swap brcond/setcond arguments when possibleAurelien Jarno2012-09-111-0/+18
* tcg/optimize: simplify shift/rot r, 0, a => movi r, 0 casesAurelien Jarno2012-09-111-0/+20
* tcg/optimize: simplify and r, a, 0 casesAurelien Jarno2012-09-111-0/+1
* tcg/optimize: simplify or/xor r, a, 0 casesAurelien Jarno2012-09-111-0/+2
OpenPOWER on IntegriCloud