It’s just a slightly more descriptive term that gives you the information that it’s high-to-high.
It’s like saying cheese burger instead of burger - it’s a little more info. It’s not saying that it’s not a burger as well, or that the techniques involved aren’t broadly the same.
A bunch of things a compiler "going downwards" needs to do don't apply, e.g. you don't need to worry about registers and things like that. And there's potentially more complex concepts to map to instead of just breaking source-language concepts down.
Haven't seen that terminology applied to individual passes.
It was just an example of a task. Also, "compile to LLVM" is very much "LLVM is part of the compiler, and thus worries about registers". Compile to C is (depending on source language and exactly which definitions you use) potentially also a transpiler.
Graal for example is a compiler but not a transpiler.
Just like all cheese burgers are burgers but not all burgers are cheese burgers. Nobody questions the term ‘cheese burger’ because we already have the word ‘burger’.
Basically F(C) = R such that eval_C(C) = eval_R(R) where = means something like "discernible effects".
Wouldn't an optimization pass be a transpiler then?