llvm.org GIT mirror llvm / 9c55f59
llvm/docs/*.html: Fix markups. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153508 91177308-0d34-0410-b5e6-96231b3b80d8 NAKAMURA Takumi 7 years ago
13 changed file(s) with 55 addition(s) and 25 deletion(s). Raw diff Collapse all Expand all
464464

Consider the use of LLVM as a JIT linked into another application (perhaps

465465 for OpenGL, custom languages,
466466 shaders in
467 movies, etc). Due to the design of static constructors, they must be
467 movies, etc). Due to the design of static constructors, they must be
468468 executed at startup time of the entire application, regardless of whether or
469469 how LLVM is used in that larger application. There are two problems with
470470 this:

139139
140140
141141
142
143
142144
143145

Why are the LLVM source code and the front-end distributed under different

144146 licenses?

184186 GPL, as explained in the first question above.

185187
186188
189
190
187191
188192

189193 Source Code
190194
191195
192196
197
198
193199
194200

In what language is LLVM written?

195201
219225 Shell and sed. Porting to systems without these tools (MacOS 9, Plan 9)
220226 will require more effort.
221227
228
229
222230
223231
224232
227235 Build Problems
228236
229237
238
239
230240
231241
232242

When I run configure, it finds the wrong C compiler.

434444

We regret the inconvenience.

435445
436446
447
448
437449
438450

439451 Source Languages
440452
453
454
441455
442456
443457

What source languages are supported?

539553 Instruction.

540554
541555
556
557
542558
543559

544560 Using the GCC Front End
545561
562
563
546564
547565
548566

When I compile software that uses a configure script, the configure script

696714 order to have the result conform to the platform ABI.

697715
698716
717
718
699719
700720

701721 Questions about code generated by the GCC front-end
702722
723
724
703725
704726
705727

What is this llvm.global_ctors and

906928
907929
908930
931
932
909933
910934
911935
154154
  • cd where-you-want-to-build-llvm
  • 155155
  • mkdir build (for building without polluting the source dir)
  • 156156
  • cd build
  • 157
  • ../llvm/configure [options]
  • 158 Some common options:
    157
  • ../llvm/configure [options]
  • 158
    Some common options:
    159159
    160160
    161161
  • --prefix=directory -
  • 173173
  • --enable-assertions -
  • 174174 Compile with assertion checks enabled (default is YES).
    175175
    176
    176
    177177
  • make [-j] - The -j specifies the number of jobs (commands) to
  • 178178 run simultaneously. This builds both LLVM and Clang for Debug+Asserts mode.
    179179 The --enabled-optimized configure option is used to specify a Release build.
    191191
    192192
    193193
    194
    195194
    196195
    197196
    170170 parent = Libraries
    171171 required_libraries = Archive BitReader Core Support TransformUtils
    172172
    173 class="doc_code">
    173 >
    174174
    175175

    A full description of the exact sections and properties which are allowed

    176176 follows.

    25662566
    25672567
    25682568
    2569 <p>Replacing individual instructions>
    2569 <h5>Replacing individual instructions>
    25702570
    25712571

    Including "llvm/Transforms/Utils/BasicBlockUtils.h"

    25722572 permits use of two very useful replace functions: ReplaceInstWithValue
    25742574
    25752575
    Deleting Instructions
    25762576
    2577
    25772578
    25782579
  • ReplaceInstWithValue
  • 25792580
    26102611
    26112612
    26122613
    2613 <p>Replacing multiple uses of Users and Values>
    2614 </div>
    2615
    2616
    Replacing multiple uses of Users and Values
    26142617
    26152618

    You can use Value::replaceAllUsesWith and

    26162619 User::replaceUsesOfWith to change more than one use at a time. See the
    33043307
    33053308
    33063309
    3307
  • Module::Module(std::string name = "")
  • 3308
    3309
    3310

    Constructing a Module is easy. You can optionally

    3310
  • Module::Module(std::string name = "")
  • 3311
    3312

    Constructing a Module is easy. You can optionally

    33113313 provide a name for it (probably based on the name of the translation unit).

    3312
    3313 >
    3314 >
    3315
    33143316
  • Module::iterator - Typedef for function list iterator
  • 33153317 Module::const_iterator - Typedef for const_iterator.
    33163318
    402402
  • On Darwin, the ARM target now has a full-featured integrated assembler.
  • 403403
    404404
    405
    406405
    407406

    408407 ARM Integrated Assembler
    419418

    The assembler is Unified Syntax only (see ARM Architecural Reference Manual

    420419 for details). While there is some, and growing, support for pre-unfied (divided)
    421420 syntax, there are still significant gaps in that support.

    421
    422
    422423
    423424
    424425

    520521
    521522
    522523
    523
    524
    525524
    526525

    527526 Tools Changes
    419419
    str1#str2
    420420
    "#" (paste) is a shorthand for !strconcat. It may concatenate
    421421 things that are not quoted strings, in which case an implicit
    422 !cast is done on the operand of the paste.
    422 !cast<string> is done on the operand of the paste.
    423423
    !cast<type>(a)
    424424
    A symbol of type type obtained by looking up the string 'a' in
    425425 the symbol table. If the type of 'a' does not match type, TableGen