aboutsummaryrefslogtreecommitdiff
path: root/tcg/optimize.c
AgeCommit message (Expand)AuthorFilesLines
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
2012-09-11tcg/optimize: split expression simplificationAurelien Jarno1-1/+13
2011-08-28TCG: improve optimizer debuggingBlue Swirl1-6/+9
2011-08-21tcg: Constant fold neg, andc, orc, eqv, nand, nor.Richard Henderson1-0/+27
2011-08-21tcg: Always define all of the TCGOpcode enum members.Richard Henderson1-134/+22
2011-08-21tcg: Add and use TCG_OPF_64BIT.Richard Henderson1-74/+3
2011-08-07TCG: fix copy propagationBlue Swirl1-6/+9
2011-07-30TCG: fix breakage by previous patchBlue Swirl1-7/+12
2011-07-30TCG: fix breakage on some RISC hostsBlue Swirl1-13/+115
2011-07-30Do constant folding for unary operations.Kirill Batuzov1-0/+59
2011-07-30Do constant folding for shift operations.Kirill Batuzov1-0/+72
2011-07-30Do constant folding for boolean operations.Kirill Batuzov1-0/+37
2011-07-30Do constant folding for basic arithmetic operations.Kirill Batuzov1-0/+125
2011-07-30Add copy and constant propagation.Kirill Batuzov1-2/+180