llvm.org GIT mirror llvm / e15192b
Documentation: fix HTML validation errors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78196 91177308-0d34-0410-b5e6-96231b3b80d8 Benjamin Kramer 10 years ago
13 changed file(s) with 35 addition(s) and 33 deletion(s). Raw diff Collapse all Expand all
461461

The possible operand encodings are:

462462
463463
464 value="1">Fixed: The field should be emitted as
464 >Fixed: The field should be emitted as
465465 a fixed-width value, whose width is specified by
466466 the operand's extra data.
467 value="2">VBR: The field should be emitted as
467 >VBR: The field should be emitted as
468468 a variable-width value, whose width is
469469 specified by the operand's extra data.
470 value="3">Array: This field is an array of values. The array operand
470 >Array: This field is an array of values. The array operand
471471 has no extra data, but expects another operand to follow it which indicates
472472 the element type of the array. When reading an array in an abbreviated
473473 record, the first integer is a vbr6 that indicates the array length,
474474 followed by the encoded elements of the array. An array may only occur as
475475 the last operand of an abbreviation (except for the one final operand that
476476 gives the array's type).
477 value="4">Char6: This field should be emitted as
477 >Char6: This field should be emitted as
478478 a char6-encoded value. This operand type takes no
479479 extra data.
480 value="5">Blob: This field is emitted as a vbr6, followed by padding to a
480 >Blob: This field is emitted as a vbr6, followed by padding to a
481481 32-bit boundary (for alignment) and an array of 8-bit objects. The array of
482482 bytes is further followed by tail padding to ensure that its total length is
483483 a multiple of 4 bytes. This makes it very efficient for the reader to
6666
6767
6868
69
  • http://www.cmake.org/cmake/resources/software.html>Download

  • 69
  • "http://www.cmake.org/cmake/resources/software.html">Download

  • 7070 and install CMake. Version 2.6.2 is the minimum required.

    7171
    7272
  • Open a shell. Your development tools must be reachable from this

  • 179179
    180180
    181181

    Variables are stored on the CMake cache. This is a file

    182 named <it>CMakeCache.txtt> on the root of the build
    182 named <tt>CMakeCache.txtt> on the root of the build
    183183 directory. Do not hand-edit it.

    184184
    185185

    Variables are listed here appending its type after a colon. It is

    14401440
    14411441
  • The cl::Sink modifier is
  • 14421442 used to handle unknown options. If there is at least one option with
    1443 <b>cl::Sink> modifier specified, the parser passes
    1443 <tt>cl::Sink> modifier specified, the parser passes
    14441444 unrecognized option strings to it as values instead of signaling an
    1445 error. As with <b>cl::CommaSeparated>, this modifier
    1445 error. As with <tt>cl::CommaSeparated>, this modifier
    14461446 only makes sense with a cl::list option.
    14471447
    14481448
    425425 llvm.eh.sjlj.longjmp in the second word. The following three words
    426426 are available for use in a target-specific manner.

    427427
    428
    429
    428430
    429431
    430432 Asm Table Formats
    333333
    334334 // For roots [0, NumMeta), the metadata pointer is in the FrameMap.
    335335 for (unsigned e = R->Map->NumMeta; i != e; ++i)
    336 Visitor(&R->Roots[i], R->Map->Meta[i]);
    336 Visitor(&amp;R->Roots[i], R->Map->Meta[i]);
    337337
    338338 // For roots [NumMeta, NumRoots), the metadata pointer is null.
    339339 for (unsigned e = R->Map->NumRoots; i != e; ++i)
    340 Visitor(&R->Roots[i], NULL);
    340 Visitor(&amp;R->Roots[i], NULL);
    341341 }
    342342 }
    343343
    397397
    398398
    399399
    400 define ty @name(...) <u>gc "name"> { ...
    400 define ty @name(...) <span style="text-decoration: underline">gc "name"> { ...
    401401
    402402
    403403
    139139
  • If you used CMake, then the directory you created the project files,
  • 140140 the root directory will have an llvm.sln file, just
    141141 double-click on that to open Visual Studio.
    142 ol>
    142 ul>
    143143
    144144
  • Build the LLVM Suite:
  • 145 <ol>
    145 <ul>
    146146
  • Simply build the solution.
  • 147147
  • The Fibonacci project is a sample program that uses the JIT. Modify
  • 148148 the project's debugging properties to provide a numeric command line
    149149 argument. The program will print the corresponding fibonacci value.
    150 ol>
    150 ul>
    151151
    152152
    153153
    2929
  • The isa<>, cast<>
  • 3030 and dyn_cast<> templates
    3131
  • Passing strings (the StringRef
  • 32 and Twine classes)li>
    32 and Twine classes)a>
    3333
    3434
  • The StringRef class
  • 3535
  • The Twine class
  • 3636
    37
    3738
  • The DEBUG() macro and -debug
  • 3839 option
    3940
    8586
  • Other Map-Like Container Options
  • 8687
    8788
  • String-like containers
  • 88
    89
    90 </ul>>
    89 <!-->
    90 todo
    91 -->
    9192
  • BitVector-like containers
  • 9293
    9394
  • A dense bitvector
  • 524525 unnecessary heap allocation involved in constructing the temporary results of
    525526 string concatenation. See
    526527 "llvm/ADT/Twine.h"
    527 for more information.

    528 for more information.

    528529
    529530

    As with a StringRef, Twine objects point to external memory

    530531 and should almost never be stored or mentioned directly. They are intended
    485485 could move to a Twine based design.
    486486
    487487
  • isName() should be replaced with comparison
  • 488 against getName() (this is now efficient).
    488 against getName() (this is now efficient).
    489489
    490490
    491491
    370370
    string value
    371371
    [{ ... }]
    372372
    code fragment
    373
    [ X, Y, Z ]
    374
    list value. is the type of the list
    373
    [ X, Y, Z ]<type>
    374
    list value. <type> is the type of the list
    375375 element and is usually optional. In rare cases,
    376376 TableGen is unable to deduce the element type in
    377377 which case the user must specify it explicitly.
    407407
    !strconcat(a, b)
    408408
    A string value that is the result of concatenating the 'a' and 'b'
    409409 strings.
    410
    !cast(a)
    410
    !cast<type>(a)
    411411
    A symbol of type type obtained by looking up the string 'a' in
    412412 the symbol table. If the type of 'a' does not match type, TableGen
    413 aborts with an error. !cast is a special case in that the argument must
    413 aborts with an error. !cast<string> is a special case in that the argument must
    414414 be an object defined by a 'def' construct.
    415415
    !nameconcat<type>(a, b)
    416
    Shorthand for !cast(!strconcat(a, b))
    416
    Shorthand for !cast<type>(!strconcat(a, b))
    417417
    !subst(a, b, c)
    418418
    If 'a' and 'b' are of string type or are symbol references, substitute
    419419 'b' for 'a' in 'c.' This operation is analogous to $(subst) in GNU make.
    450450 Target llvm::TheSparcTarget;
    451451
    452452 extern "C" void LLVMInitializeSparcTargetInfo() {
    453 RegisterTarget
    453 RegisterTarget<Triple::sparc, /*HasJIT=*/false>
    454454 X(TheSparcTarget, "sparc", "Sparc");
    455455 }
    456456
    468468
    469469
    
                      
                    
    470470 extern "C" void LLVMInitializeSparcAsmPrinter() {
    471 RegisterAsmPrinter X(TheSparcTarget);
    471 RegisterAsmPrinter<SparcAsmPrinter> X(TheSparcTarget);
    472472 }
    473473
    474474
    287287 href="../ProgrammersManual.html#ViewGraph">a window will pop up and you'll
    288288 see this graph:

    289289
    290
    Example CFG
    291 height="315">
    290
    Example CFG
    291 height="315">
    292292
    293293

    Another way to get this is to call "F->viewCFG()" or

    294294 "F->viewCFGOnly()" (where F is a "Function*") either by
    270270 href="../ProgrammersManual.html#ViewGraph">a window will pop up and you'll
    271271 see this graph:

    272272
    273
    Example CFG
    274 height="315">
    273
    Example CFG
    274 height="315">
    275275
    276276

    Another way to get this is to call "Llvm_analysis.view_function_cfg

    277277 f" or "Llvm_analysis.view_function_cfg_only f" (where f