Geometric irreducibility of fiber product of geometric irreducible schemes

Given three geometrically irreducible normal $ k$ -curves, $ X$ , $ Y$ , $ Z$ , and two morphisms $ f \colon\ X \to Z$ , $ g \colon\ Y \to Z$ . Assume that $ X \times_Z Y$ is irreducible. Does $ X \times_Z Y$ is geometrically irreducible? If not, which conditions should $ f$ and $ g$ satisfy? I am interested in case that $ f$ and $ g$ are étale morphisms.

More general form of the above question: Assume $ X$ , $ Y$ , $ Z$ , $ f$ and $ g$ as above. Let $ W$ be an irreducible component of $ X \times_Z Y$ . Does $ W$ is geometrically irreducible?

Thank you!

Has Mumford’s GIT already shown the irreducibility of the coarse moduli?

Now I’m going to try Deligne, Mumford’s “The irreducibility of the space of the curves of given genus”, and for preparation I’m reading GIT. I know this paper show the irreducibility of $ M_g^0$ , the coarse moduli of smooth curves of genus $ g$ . And in section 3 in the paper, the authors say that it’s sufficient to show the irreducibility of $ H_g^0$ .

I’ve heard that this paper is the first one that shows the irreducibility, but proposition 5.3 of GIT (p103) states the irreducibility of $ H_{\nu}$ . I think these two things are the same. Does GIT show the irreducibility? I think this is my misunderstanding, so I want to know what is the point.

Thank you very much!

Why irreducibility is an important concept in Flow Graphs?

Here is a definition of reducible flow graphs :

A flow graph is reducible if every retreating edge in any DFST for that flow graph is a back edge.

And the reasons why we care about retreating/back edges:

  1. Proper ordering of nodes during iterative algorithm assures number of passes limited by the number of “nested” back edges.
  2. Depth of nested loops upper-bounds the number of nested back edges.

With this explanation, I have more questions: why number of passes is important? why we want to know upper-bounds?

However, I still do not understand the impact of irreducibility . Why should we care about it? Will it make it harder to do loop flatten? What if we have irreducible flow graphs for program analysis?