This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On 01/14/2016 01:55 AM, Jeff Law wrote:[ Replying to myself again, mostly to make sure we've got these thoughts in the archives. ]
So with the heuristic I'm poking at, this gets rejected. Essentially it doesn't think it's likely to expose CSE/DCE opportunities (and it's correct). The number of statements in predecessor blocks that feed operands in the to-be-copied-block is too small relative to the size of the to-be-copied-block.Anyway, going back to adpcm_decode, we do end up splitting this path: # vpdiff_12 = PHI <vpdiff_11(12), vpdiff_50(13)> if (sign_41 != 0) goto <bb 15>; else goto <bb 16>; ;; succ: 15 ;; 16 ;; basic block 15, loop depth 1 ;; pred: 14 valpred_51 = valpred_76 - vpdiff_12; goto <bb 17>; ;; succ: 17 ;; basic block 16, loop depth 1 ;; pred: 14 valpred_52 = vpdiff_12 + valpred_76; ;; succ: 17 ;; basic block 17, loop depth 1 ;; pred: 15 ;; 16 # valpred_7 = PHI <valpred_51(15), valpred_52(16)> _85 = MAX_EXPR <valpred_7, -32768>; valpred_13 = MIN_EXPR <_85, 32767>; step_53 = stepsizeTable[index_62]; outp_54 = outp_69 + 2; _55 = (short int) valpred_13; MEM[base: outp_54, offset: -2B] = _55; if (outp_54 != _74) goto <bb 20>; else goto <bb 18>; This doesn't result in anything particularly interesting/good AFAICT. We propagate valpred_51/52 into the use in the MAX_EXPR in the duplicate paths, but that doesn't allow any further simplification.
I'd still like to have this answered when you can Ajit, just to be 100% that it's the path splitting in adpcm_code that's responsible for the improvements you're seeing in adpcm.Ajit, can you confirm which of adpcm_code or adpcm_decode where path splitting is showing a gain? I suspect it's the former but would like to make sure so that I can adjust the heuristics properly.
jeff
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |