qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] a1b3c4: tcg: Compress liveness data to 16 bit


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] a1b3c4: tcg: Compress liveness data to 16 bits
Date: Mon, 08 Aug 2016 04:00:06 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: a1b3c48d2b23d6eaeb4529d3e1183d2648731bf8
      
https://github.com/qemu/qemu/commit/a1b3c48d2b23d6eaeb4529d3e1183d2648731bf8
  Author: Richard Henderson <address@hidden>
  Date:   2016-08-05 (Fri, 05 Aug 2016)

  Changed paths:
    M tcg/tcg.c
    M tcg/tcg.h

  Log Message:
  -----------
  tcg: Compress liveness data to 16 bits

This reduces both memory usage and per-insn cacheline usage
during code generation.

Reviewed-by: Aurelien Jarno <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: dcb8e75870e2de199db853697f8839cb603beefe
      
https://github.com/qemu/qemu/commit/dcb8e75870e2de199db853697f8839cb603beefe
  Author: Richard Henderson <address@hidden>
  Date:   2016-08-05 (Fri, 05 Aug 2016)

  Changed paths:
    M include/exec/gen-icount.h
    M tcg/optimize.c
    M tcg/tcg-op.c
    M tcg/tcg.c
    M tcg/tcg.h

  Log Message:
  -----------
  tcg: Reorg TCGOp chaining

Instead of using -1 as end of chain, use 0, and link through the 0
entry as a fully circular double-linked list.

Reviewed-by: Aurelien Jarno <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: bee158cb4dde35c41632a3a129c869f14a32f8f0
      
https://github.com/qemu/qemu/commit/bee158cb4dde35c41632a3a129c869f14a32f8f0
  Author: Richard Henderson <address@hidden>
  Date:   2016-08-05 (Fri, 05 Aug 2016)

  Changed paths:
    M tcg/tcg.c
    M tcg/tcg.h

  Log Message:
  -----------
  tcg: Fold life data into TCGOp

Reduce the size of other bitfields to make room.
This reduces the cache footprint of compilation.

Reviewed-by: Aurelien Jarno <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: c70fbf0a9938baf3b4f843355a77c17a7e945b98
      
https://github.com/qemu/qemu/commit/c70fbf0a9938baf3b4f843355a77c17a7e945b98
  Author: Richard Henderson <address@hidden>
  Date:   2016-08-05 (Fri, 05 Aug 2016)

  Changed paths:
    M tcg/tcg.c

  Log Message:
  -----------
  tcg: Compress dead_temps and mem_temps into a single array

We only need two bits per temporary.  Fold the two bytes into one,
and reduce the memory and cachelines required during compilation.

Reviewed-by: Aurelien Jarno <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: bdfb460ef77500f7b186759b585f06ff2120929d
      
https://github.com/qemu/qemu/commit/bdfb460ef77500f7b186759b585f06ff2120929d
  Author: Richard Henderson <address@hidden>
  Date:   2016-08-05 (Fri, 05 Aug 2016)

  Changed paths:
    M include/qemu/log.h
    M tcg/tcg.c
    M util/log.c

  Log Message:
  -----------
  tcg: Include liveness info in the dumps

Reviewed-by: Aurelien Jarno <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: c0ef05b5e62ab0c291a94022f14104e61e306f03
      
https://github.com/qemu/qemu/commit/c0ef05b5e62ab0c291a94022f14104e61e306f03
  Author: Richard Henderson <address@hidden>
  Date:   2016-08-05 (Fri, 05 Aug 2016)

  Changed paths:
    M tcg/tcg.c

  Log Message:
  -----------
  tcg: Require liveness analysis

Reviewed-by: Aurelien Jarno <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 5a18407f55ade924aa6397c9a043a9ffd59645fe
      
https://github.com/qemu/qemu/commit/5a18407f55ade924aa6397c9a043a9ffd59645fe
  Author: Richard Henderson <address@hidden>
  Date:   2016-08-05 (Fri, 05 Aug 2016)

  Changed paths:
    M include/qemu/log.h
    M tcg/optimize.c
    M tcg/tcg.c
    M tcg/tcg.h
    M util/log.c

  Log Message:
  -----------
  tcg: Lower indirect registers in a separate pass

Rather than rely on recursion during the middle of register allocation,
lower indirect registers to loads and stores off the indirect base into
plain temps.

For an x86_64 host, with sufficient registers, this results in identical
code, modulo the actual register assignments.

For an i686 host, with insufficient registers, this means that temps can
be (temporarily) spilled to the stack in order to satisfy an allocation.
This as opposed to the possibility of not being able to spill, to allocate
a register for the indirect base, in order to perform a spill.

Reviewed-by: Aurelien Jarno <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: cf5198d58088e3b416fe517b3946e5120b342761
      
https://github.com/qemu/qemu/commit/cf5198d58088e3b416fe517b3946e5120b342761
  Author: Peter Maydell <address@hidden>
  Date:   2016-08-08 (Mon, 08 Aug 2016)

  Changed paths:
    M include/exec/gen-icount.h
    M include/qemu/log.h
    M tcg/optimize.c
    M tcg/tcg-op.c
    M tcg/tcg.c
    M tcg/tcg.h
    M util/log.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/rth/tags/pull-tcg-20160805' into staging

indirect register lowering

# gpg: Signature made Fri 05 Aug 2016 17:34:53 BST
# gpg:                using RSA key 0xAD1270CC4DD0279B
# gpg: Good signature from "Richard Henderson <address@hidden>"
# gpg:                 aka "Richard Henderson <address@hidden>"
# gpg:                 aka "Richard Henderson <address@hidden>"
# Primary key fingerprint: 9CB1 8DDA F8E8 49AD 2AFC  16A4 AD12 70CC 4DD0 279B

* remotes/rth/tags/pull-tcg-20160805:
  tcg: Lower indirect registers in a separate pass
  tcg: Require liveness analysis
  tcg: Include liveness info in the dumps
  tcg: Compress dead_temps and mem_temps into a single array
  tcg: Fold life data into TCGOp
  tcg: Reorg TCGOp chaining
  tcg: Compress liveness data to 16 bits

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/51009170d8fc...cf5198d58088

reply via email to

[Prev in Thread] Current Thread [Next in Thread]