[LLVMdev] fastcc lowering

Garrison Venn gvenn.cfe.dev at gmail.com
Fri Sep 16 07:11:28 PDT 2011

Beyond looking at the result of code gen, or tracing through LLVM source. Is there a way
to determine whether or not an applied fastcc function attribute (applied also at call site), 
will manifest itself as a register only (non-stack) function call. Even though I believe this 
is a code gen issue, is there an analysis pass which would indicate this direction will be 
taken? Baring that can I turn on an existing define, or use some other such mechanism 
for an LLVM debug, or other build that will give me this info? 

In general, I'm under the current impression that when operating in the IR paradigm, one cannot 
ask, or contemplate questions concerning code gen given that it is mostly platform independent, 
and that future applied optimization passes can radically transform the IR. Questions like: will the 
use of a phi loop over a switch instruction vs a phi loop over a constant array go against the 
grain of branch prediction as the block target will most likely be different for each iteration in the
switch case; or will designation of fastcc really result in a register based call and return etc. Is this 
a correct understanding of the IR view--that it is not the province for such questions?

Thanks in advance


More information about the llvm-dev mailing list