X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;ds=sidebyside;f=docs%2FLangRef.html;h=8ed470c6def3dbdb43265feb09c10c4ebb324256;hb=c2b5dcba5429b3c4328c3141fbe20af12e961a21;hp=926d8dca34679173a39dcfce9155a5a010a08fcc;hpb=6536cfec4a8ddc25d4d34b6f806d3de9903db95f;p=oota-llvm.git diff --git a/docs/LangRef.html b/docs/LangRef.html index 926d8dca346..8ed470c6def 100644 --- a/docs/LangRef.html +++ b/docs/LangRef.html @@ -22,7 +22,7 @@
  • Function Type
  • Pointer Type
  • Structure Type -
  • Packed Type +
  • High Level Structure @@ -40,10 +40,6 @@
  • 'switch' Instruction
  • 'invoke' Instruction -
  • Unary Operations -
      -
    1. 'not' Instruction -
  • Binary Operations
    1. 'add' Instruction @@ -80,6 +76,10 @@ + +

      Written by Chris Lattner and Vikram Adve

      + +

    @@ -91,10 +91,11 @@
    - This document describes the LLVM assembly language. LLVM is an SSA based - representation that is a useful midlevel IR, providing type safety, low level - operations, flexibility, and the capability of representing 'all' high level - languages cleanly. + This document is a reference manual for the LLVM assembly language. LLVM is + an SSA based representation that provides type safety, low level operations, + flexibility, and the capability of representing 'all' high level languages + cleanly. It is the common code representation used throughout all phases of + the LLVM compilation strategy.
    @@ -117,14 +118,14 @@ different forms of LLVM are all equivalent. This document describes the human readable representation and notation.

    The LLVM representation aims to be a light weight and low level while being -expressive, type safe, and extensible at the same time. It aims to be a -"universal IR" of sorts, by being at a low enough level that high level ideas -may be cleanly mapped to it (similar to how microprocessors are "universal -IR's", allowing many source languages to be mapped to them). By providing type -safety, LLVM can be used as the target of optimizations: for example, through -pointer analysis, it can be proven that a C automatic variable is never accessed -outside of the current function... allowing it to be promoted to a simple SSA -value instead of a memory location.

    +expressive, typed, and extensible at the same time. It aims to be a "universal +IR" of sorts, by being at a low enough level that high level ideas may be +cleanly mapped to it (similar to how microprocessors are "universal IR's", +allowing many source languages to be mapped to them). By providing type +information, LLVM can be used as the target of optimizations: for example, +through pointer analysis, it can be proven that a C automatic variable is never +accessed outside of the current function... allowing it to be promoted to a +simple SSA value instead of a memory location.


    Well Formedness