aboutsummaryrefslogtreecommitdiff
path: root/tcg/optimize.c
AgeCommit message (Expand)AuthorFilesLines
2015-03-16tcg/optimize: Handle or r,a,a with constant aRichard Henderson1-1/+4
2015-02-12tcg: Implement insert_op_beforeRichard Henderson1-22/+35
2015-02-12tcg: Remove opcodes instead of noping them outRichard Henderson1-7/+7
2015-02-12tcg: Put opcodes in a linked listRichard Henderson1-170/+116
2014-06-18tcg/optimize: Don't special case TCG_OPF_CALL_CLOBBERRichard Henderson1-5/+4
2014-06-04tcg: Remove TCG_TARGET_HAS_new_ldstRichard Henderson1-5/+0
2014-05-28tcg/optimize: Remember garbage high bits for 32-bit opsRichard Henderson1-7/+26
2014-05-28tcg/optimize: Move updating of gen_opc_buf into tcg_opt_gen_mov*Richard Henderson1-61/+56
2014-05-28tcg: Optimize brcond2 and setcond2 ne/eqRichard Henderson1-0/+94
2014-05-12tcg: Make call address a constant parameterRichard Henderson1-42/+33
2014-04-28tcg: Add INDEX_op_trunc_shr_i32Richard Henderson1-0/+16
2014-04-18tcg: Fix out of range shift in deposit optimizationsRichard Henderson1-6/+4
2014-04-18tcg: Mask shift quantities while foldingRichard Henderson1-15/+20
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