Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

expand sharing of shadow translation across more cases #165

Open
derekbruening opened this issue Nov 28, 2014 · 1 comment
Open

expand sharing of shadow translation across more cases #165

derekbruening opened this issue Nov 28, 2014 · 1 comment

Comments

@derekbruening
Copy link
Contributor

From derek.br...@gmail.com on December 10, 2010 17:58:09

PR 494727

this is an extension of the initial sharing impl in PR 493257

we should also try to share across:

  • mem2mem (in particular push-mem, pop-mem, and call-ind)
  • sub-dword
  • app instr that reads/writes both whole-bb reg1 and reg2
  • app instr that does not share same memref: start w/
    simple instrs like reg-reg moves by having them use reg2.
    initial goal can be this common pattern:
    push ebp, mov esp->ebp, push edi, push esi, push ebx

Original issue: http://code.google.com/p/drmemory/issues/detail?id=165

@derekbruening
Copy link
Contributor Author

From bruen...@google.com on July 19, 2014 17:50:22

This case also covers improving conflict handling of scratch regs:

/* issue #1590: if our scratch regs are ecx and eax and we have sub-dword memrefs, we
 * can't share them, either w/ prior (mi->use_shared) or next (share_addr) inst.
 * XXX issue #165: add whole-bb xl8-sharing analysis and measure the usage of the
 * 3rd-best scratch reg and if the extra spills+restores will be outweighed
 * by the elimination of xl8 we should use edx or ebx as our 1st scratch.
 */

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant