Profiling on S390

Ulrich Weigand Ulrich.Weigand@de.ibm.com
Wed Apr 23 21:50:00 GMT 2003


Richard Henderson wrote:

>Document that AVOID_CCMODE_COPIES implies that the flags register
>cannot be live across basic blocks.

Why?  I'd probably *want* to define AVOID_CCMODE_COPIES on s390,
because while we can save/restore the condition code to/from a
general purpose register, we really have just the single CC that
is actually usable for conditional branches, so it usually wouldn't
make sense for the optimizer to copy CCmode values around.

However, in the case of the profiler where saving/restoring CC
is vital for *correctness*, shouldn't the fact that CCmode copies
are *possible* (i.e. movcc works) be enough?

(B.t.w. we currently don't accept CCmode values in GPRs at all.
If I were to introduce that capability, does the common code make
any assumptions on just how those values are represented by integers?
Does (subreg:SI (reg:CC ...) 0) or vice versa work?)


Mit freundlichen Gruessen / Best Regards

Ulrich Weigand

--
  Dr. Ulrich Weigand
  Linux for S/390 Design & Development
  IBM Deutschland Entwicklung GmbH, Schoenaicher Str. 220, 71032 Boeblingen
  Phone: +49-7031/16-3727   ---   Email: Ulrich.Weigand@de.ibm.com



More information about the Gcc mailing list