[LLVMdev] Inconsistent label syntax in LLVM assembly
baldrick at free.fr
Sun Jan 20 03:23:18 PST 2013
On 20/01/13 12:00, nkavv at physics.auth.gr wrote:
> Hi all,
> i'm writing a TXL (http://www.txl.ca) grammar and a revamp of bison/flex grammar
> for LLVM.
> I've noticed an inconsistency regarding label naming conventions.
> For instance, the following is a segment of legit LLVM assembly (human-readable)
> br i1 %38, label %17, label %39
> ; <label>:39 ; preds = %._crit_edge
> ret void
> However, ";" is a comment-line character. How is this interpreted, as a
> meta-comment? (a semantically important comment)?
it's just a comment and has no semantic comment. You can delete it, it won't
make any difference.
> Other branches appear using regular conventions:
> br i1 %exitcond, label %._crit_edge, label %.lr.ph
> ._crit_edge: ; preds = %.lr.ph, %.preheader
> So, naturally I have some questions:
> 1) What is the differences among the branch labels? Differences in the formation
> (e.g. emitted by different passes?)
> 2) How to normalize the appearance of branch labels? I.e. is it possible to not
> emit the strange ; <label>:39 like ones?
> 3) Why <label>:39 and not 39: ?
> 4) Why not prefixing all labels with <label>?
> Best regards
> Nikolaos Kavvadias
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
More information about the llvm-dev