@whitequark @bmastenbrook LLVM or C--
@whitequark I consider a language HL if it lacks direct correspondence between source statements & output machine insns ("as if rule").
-
-
@RichFelker I think this definition isn't rigorous enough to be useful. Scheme defined to be template-compiled is not HLL; -
@RichFelker regular assembly with extensive use of pseudoinstructions is HLL? -
@RichFelker e.g. there isn't anything about the *language* of ARM assembly that precludes an assembler from changing code under as-if -
@RichFelker in other words, direct correspondence is a property of an implementation, not a language, unlike high-level-ness ~ abstraction -
@whitequark This is false. All such transformations break valid code in one way or another. -
@whitequark For example, using temp regs or introducing spills breaks clobber contracts or ability to run with no stack. -
@whitequark Reordering insns breaks otherwise well-defined async code (interrupt/signal handler) like pre-armv6 kuser atomics. -
@RichFelker I contend that the range of transformations is quite limited, probably limited enough to not be useful in practice ever
End of conversation
New conversation -
-
-
@whitequark Asm is asm because I can do meaningful computations on labels/pc, control stack/reg usage in ways compat with async intr, etc.Thanks. Twitter will use this to make your timeline better. UndoUndo
-
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.