summaryrefslogtreecommitdiff
path: root/docs/tutorial
AgeCommit message (Collapse)AuthorFilesLines
2016-06-20[Kaleidoscope][BuildingAJIT] Remove some superfluous commas in Chapter 2.Lang Hames1-2/+2
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273184 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-20[Kaleidoscope][BuildingAJIT] Fix a punctuation mistake in Chapter 2.Lang Hames1-1/+1
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273183 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-15Remove the ScalarReplAggregates passDavid Majnemer2-2/+2
Nearly all the changes to this pass have been done while maintaining and updating other parts of LLVM. LLVM has had another pass, SROA, which has superseded ScalarReplAggregates for quite some time. Differential Revision: http://reviews.llvm.org/D21316 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@272737 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-14Fix some typos in the Kaleidoscope tutorial (PR28120)Hans Wennborg3-15/+15
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@272681 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-07[Kaleidoscope] Update Chapter 3 of the "Implementing a Language" tutorial toLang Hames1-8/+14
take into account modernizations in r246002 and r270381. Patch based on http://reviews.llvm.org/D20954 by Miroslav Hrncir. Thanks Miroslav! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271985 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-06[Kaleidoscope][BuildingAJIT] Fix hyphenation in chapter 2 title.Lang Hames1-3/+3
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271924 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-06[Kaleidoscope][BuildingAJIT] More cleanup of Chapter 2.Lang Hames1-17/+18
Streamline some wording, fix a bug in the markup for the layer interface table. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271917 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-06[Kaleidoscope][BuildingAJIT] Clean up sentence, remove comments from code block.Lang Hames1-4/+2
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271913 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-06[Kaleidoscope][BuildingAJIT] Split up the code-block describing the substitutionLang Hames1-0/+8
of OptimizeLayer for CompileLayer in Chapter 2. Hopefully this will read a little more clearly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271868 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-06[Kaleidoscope][BuildingAJIT] Fix code-blocks in Chapter 2.Lang Hames1-4/+4
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271867 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-06[Kaleidoscope][BuildingAJIT] Add tutorial text for Chapter 2.Lang Hames1-13/+292
This chapter discusses IR optimizations, the ORC IRTransformLayer, and the ORC layer concept itself. The text is still pretty rough, but I think the main ideas are there. Feedback is very welcome, as always. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271865 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-31[Orc] Add conversion to/from RuntimeDyld::SymbolInfo for JITSymbol.Lang Hames1-1/+1
This tidies up some code that was manually constructing RuntimeDyld::SymbolInfo instances from JITSymbols. It will save more mess in the future when JITSymbol::getAddress is extended to return an Expected<TargetAddress> rather than just a TargetAddress, since we'll be able to embed the error checking in the conversion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271350 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-30[Kaleidoscope][BuildingAJIT] Finish off Chapter 1.Lang Hames1-91/+105
* Various tidy-up and streamlining of existing discussion. * Describes findSymbol and removeModule. Chapter 1 is now rough but essentially complete in terms of content. Feedback, patches etc. very welcome. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271225 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-30[Kaleidoscope][BuildingAJIT] Add stub Chapter 5 text.Lang Hames1-0/+55
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271213 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-27[Kaleidoscope][BuildingAJIT] Add stub chapter text for Building A JIT Chapter 4.Lang Hames1-0/+48
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271064 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-26[Kaleidoscope][BuildingAJIT] Fix strong emphasis markup by removing whitespace.Lang Hames1-2/+2
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270918 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-26[Kaleidoscope][BuildingAJIT] Add docs for Chapter 3 of the Building A JITLang Hames1-0/+47
tutorial. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270917 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-26[Kaleidoscope][BuildingAJIT] Add a stub Chapter 2 doc.Lang Hames1-0/+50
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270809 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-25[KaleidoscopeJIT][BuildingAJIT] Remove some copy-pasta from Chapter 1.Lang Hames1-2/+2
This text was accidentally left in when the original document was copied from Chapter 7 of the Kaleidoscope language series. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270799 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-25[Kaleidoscope][BuildingAJIT] Shorten the name of the BuildingAJIT tutorialLang Hames2-2/+2
series. The original name was pretty long, and likely to look awkward as more chapters get added. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270796 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-25[Kaleidoscope][BuildingAJIT] Fix code-block indents.Lang Hames1-33/+33
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270782 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-25[Kaleidoscope][BuildingAJIT] Add a description of the KaleidoscopeJIT addModuleLang Hames1-20/+100
method to Chapter1 of the BuildingAJIT tutorial. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270778 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-23[Kaleidoscope] Add an initial "Building an ORC JIT" tutorial chapter.Lang Hames2-0/+291
This is a work in progress - the chapter text is incomplete, though the example code compiles and runs. Feedback and patches are, as usual, most welcome. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270487 91177308-0d34-0410-b5e6-96231b3b80d8
2016-04-14Remove every uses of getGlobalContext() in LLVM (but the C API)Mehdi Amini5-22/+23
At the same time, fixes InstructionsTest::CastInst unittest: yes you can leave the IR in an invalid state and exit when you don't destroy the context (like the global one), no longer now. This is the first part of http://reviews.llvm.org/D19094 From: Mehdi Amini <mehdi.amini@apple.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@266379 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-25[Kaleidoscope] Rename Error -> LogError in Chapters 2-5.Lang Hames3-28/+28
This keeps the naming consistent with Chapters 6-8, where Error was renamed to LogError in r264426 to avoid clashes with the new Error class in libSupport. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@264427 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-25[Kaleidoscope] Fix 'Error' name clashes.Lang Hames2-16/+16
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@264426 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-17Remove obselete reference to TypeResolve from the tutorial.Wilfred Hughes1-4/+1
TypeResolve went away in r134829 in 2011. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@263702 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-17Minor grammar fix in kaleidoscope tutorial.Wilfred Hughes1-2/+2
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@263700 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-17Further typo fixes in kaleidoscope tutorial.Wilfred Hughes1-3/+3
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@263697 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-17Fix typo in kaleidoscope tutorial.Wilfred Hughes1-1/+1
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@263696 91177308-0d34-0410-b5e6-96231b3b80d8
2016-02-14Fix some typos in the llvm docSylvestre Ledru1-1/+1
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260855 91177308-0d34-0410-b5e6-96231b3b80d8
2015-12-15LLVM tutorial: fix broken links/anchorsAlex Denisov17-52/+52
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@255671 91177308-0d34-0410-b5e6-96231b3b80d8
2015-11-15[Docs] Fix typoAlex Denisov2-2/+2
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253167 91177308-0d34-0410-b5e6-96231b3b80d8
2015-11-05Update tutorial for debug info IR change.Peter Collingbourne1-1/+2
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@252226 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-27Recommit r246175 - Add Kaleidoscope regression tests, with a fix to make sureLang Hames1-1/+1
the kaleidoscope 'library' functions aren't dead-stripped in release builds. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246201 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-27Revert r246175 to get builder green again.Lang Hames1-1/+1
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246185 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-27Add Kaleidoscope regression tests.Lang Hames1-1/+1
These will be run if LLVM_BUILD_EXAMPLES is enabled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246175 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-26[Kaleidoscope] Fix a typo in Chapter 5.Lang Hames1-1/+1
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246081 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-26Big Kaleidoscope tutorial update.Lang Hames7-265/+383
This commit switches the underlying JIT for the Kaleidoscope tutorials from MCJIT to a custom ORC-based JIT, KaleidoscopeJIT. This fixes a lot of the bugs in Kaleidoscope that were introduced when we deleted the legacy JIT. The documentation for Chapter 4, which introduces the JIT APIs, is updated to reflect the change. Also included are a number of C++11 modernizations and general cleanup. Where appropriate, the docs have been updated to reflect these changes too. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246002 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-19[Kaleidoscope] More inter-chapter diff reduction.Lang Hames1-1/+3
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@245474 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-19[Kaleidoscope] Clang-format the Kaleidoscope tutorials.Lang Hames8-137/+255
Also reduces changes between tutorial chapters. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@245472 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-18[Kaleidoscope] Start C++11'ifying the kaleidoscope tutorials.Lang Hames8-132/+150
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@245322 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-05Rename all references to old mailing lists to new lists.llvm.org address.Tanya Lattner2-10/+10
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@243999 91177308-0d34-0410-b5e6-96231b3b80d8
2015-07-31DI: Rewrite the DIBuilder local variable APIDuncan P. N. Exon Smith1-3/+2
Replace the general `createLocalVariable()` with two more specific functions: `createParameterVariable()` and `createAutoVariable()`, and rewrite the documentation. Besides cleaning up the API, this avoids exposing the fake DWARF tags `DW_TAG_arg_variable` and `DW_TAG_auto_variable` to frontends, and is preparation for removing them completely. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@243764 91177308-0d34-0410-b5e6-96231b3b80d8
2015-07-24DI/Verifier: Fix argument bitrot in DILocalVariableDuncan P. N. Exon Smith1-1/+1
Add a verifier check that `DILocalVariable`s of tag `DW_TAG_arg_variable` always have a non-zero 'arg:' field, and those of tag `DW_TAG_auto_variable` always have a zero 'arg:' field. These are the only configurations that are properly understood by the backend. (Also, fix the bad examples in LangRef and test/Assembler, and fix the bug in Kaleidoscope Ch8.) A large number of testcases seem to have bitrotted their way forward from some ancient version of the debug info hierarchy that didn't have `arg:` parameters. If you have out-of-tree testcases that start failing in the verifier and you don't care enough to get the `arg:` right, you may have some luck just calling: sed -e 's/, arg: 0/, arg: 1/' or some such, but I hand-updated the ones in tree. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@243183 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-29IR: Give 'DI' prefix to debug info metadataDuncan P. N. Exon Smith1-17/+17
Finish off PR23080 by renaming the debug info IR constructs from `MD*` to `DI*`. The last of the `DIDescriptor` classes were deleted in r235356, and the last of the related typedefs removed in r235413, so this has all baked for about a week. Note: If you have out-of-tree code (like a frontend), I recommend that you get everything compiling and tests passing with the *previous* commit before updating to this one. It'll be easier to keep track of what code is using the `DIDescriptor` hierarchy and what you've already updated, and I think you're extremely unlikely to insert bugs. YMMV of course. Back to *this* commit: I did this using the rename-md-di-nodes.sh upgrade script I've attached to PR23080 (both code and testcases) and filtered through clang-format-diff.py. I edited the tests for test/Assembler/invalid-generic-debug-node-*.ll by hand since the columns were off-by-three. It should work on your out-of-tree testcases (and code, if you've followed the advice in the previous paragraph). Some of the tests are in badly named files now (e.g., test/Assembler/invalid-mdcompositetype-missing-tag.ll should be 'dicompositetype'); I'll come back and move the files in a follow-up commit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@236120 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-18docs: Update Kaleidoscope for recent DI changesDuncan P. N. Exon Smith1-26/+26
This has been bit-rotting, so fix it up. I'll have to edit this again once the MD* classes have been renamed to DI* -- I'll try to remember to do that with the commit that renames them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@235244 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-14Correct 'teh' and other typos / repeated words.Ed Maste2-2/+2
Patch by Eitan Adler. Differential Revision: http://reviews.llvm.org/D8514 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@234939 91177308-0d34-0410-b5e6-96231b3b80d8
2015-03-31[docs] Fix typo.Sean Silva2-2/+2
Based on a patch by Stanislav Manilov! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@233771 91177308-0d34-0410-b5e6-96231b3b80d8
2015-03-17[docs] Fix some malformed links.Sean Silva2-2/+2
Patch by Stanislav Manilov! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@232546 91177308-0d34-0410-b5e6-96231b3b80d8