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