summaryrefslogtreecommitdiffstats
path: root/llvm/docs
Commit message (Collapse)AuthorAgeFilesLines
...
* R600/SI: Initial support for assembler and inline assemblyTom Stellard2015-04-081-7/+53
| | | | | | | | | | | | | This is currently considered experimental, but most of the more commonly used instructions should work. So far only SI has been extensively tested, CI and VI probably work too, but may be buggy. The current set of tests cases do not give complete coverage, but I think it is sufficient for an experimental assembler. See the documentation in R600Usage for more information. llvm-svn: 234381
* Use a comma after the unique keyword.Rafael Espindola2015-04-061-2/+2
| | | | | | | | H.J. Lu noted that all .section options are separated by a comma. This patch changes the syntax of unique to require one. llvm-svn: 234174
* Implement unique sections with an unique ID.Rafael Espindola2015-04-041-0/+23
| | | | | | | | | | | This allows the compiler/assembly programmer to switch back to a section. This in turn fixes the bootstrap failure on powerpc (tested on gcc110) without changing the ppc codegen at all. I will try to cleanup the various getELFSection overloads in a followup patch. Just using a default argument now would lead to ambiguities. llvm-svn: 234099
* [WinEH] Sink UnwindHelp completely out of IRDavid Majnemer2015-04-031-12/+0
| | | | | | | | We don't need to represent UnwindHelp in IR. Instead, we can use the knowledge that we are emitting the parent function to decide if we should create the UnwindHelp stack object. llvm-svn: 234061
* [WinEH] Make llvm.eh.actions use frameescape indices for catch paramsReid Kleckner2015-04-021-12/+16
| | | | | | | | | | | | | | | | | | This makes it possible to use the same representation of llvm.eh.actions in outlined handlers as we use in the parent function because i32's are just constants that can be copied freely between functions. I had to add a sentinel alloca to the list of child allocas so that we don't try to sink the catch object into the handler. Normally, one would use nullptr for this kind of thing, but TinyPtrVector doesn't support null elements. More than that, it's elements have to have a suitable alignment. Therefore, I settled on this for my sentinel: AllocaInst *getCatchObjectSentinel() { return static_cast<AllocaInst *>(nullptr) + 1; } llvm-svn: 233947
* Fix typo and reword in LangRefEli Bendersky2015-04-021-3/+3
| | | | | | | | Patch by Douglas Katzman Differential Revision: http://reviews.llvm.org/D8785 llvm-svn: 233920
* [fuzzer] document the -tokens flag. Also change the diagnostic outputKostya Serebryany2015-04-011-0/+22
| | | | llvm-svn: 233842
* [docs] Fix typo.Sean Silva2015-03-312-2/+2
| | | | | | Based on a patch by Stanislav Manilov! llvm-svn: 233771
* [WinEH] Generate .xdata for catch handlersDavid Majnemer2015-03-311-11/+0
| | | | | | | | | | | | | | This lets us catch exceptions in simple cases. N.B. Things that do not work include (but are not limited to): - Throwing from within a catch handler. - Catching an object with a named catch parameter. - 'CatchHigh' is fictitious, we aren't sure of its purpose. - We aren't entirely efficient with regards to the number of EH states that we generate. - IP-to-State tables are sensitive to the order of emission. llvm-svn: 233767
* [fuzzer] more documentationKostya Serebryany2015-03-311-18/+144
| | | | llvm-svn: 233763
* [docs] add cross-referenceScott Douglass2015-03-311-1/+3
| | | | llvm-svn: 233699
* Move lib/Fuzzer docs from a README.txt to a proper .rst file.Kostya Serebryany2015-03-302-0/+132
| | | | | | | | | | | | | | | | | | Summary: Move lib/Fuzzer docs from a README.txt to a proper .rst file. This change does not add any content, just formatting. Test Plan: n/a Reviewers: samsonov Reviewed By: samsonov Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D8710 llvm-svn: 233638
* Explain how to abandon a review.Paul Robinson2015-03-301-1/+14
| | | | llvm-svn: 233600
* Fix Sphinx warning " Title underline too short.".Rafael Espindola2015-03-301-1/+1
| | | | llvm-svn: 233551
* WinEH: Create a parent frame alloca for HandlerType xdata tablesDavid Majnemer2015-03-271-0/+11
| | | | | | | | We don't have any logic to emit those tables yet, so the SDAG lowering of this intrinsic is just a stub. We can see the intrinsic in the prepared IR, though. llvm-svn: 233354
* [ADT][CMake][AutoConf] Fail-fast iterators for DenseMapSanjoy Das2015-03-262-0/+25
| | | | | | | | | | | | | | | | | | | | | | | Summary: This patch is an attempt at making `DenseMapIterator`s "fail-fast". Fail-fast iterators that have been invalidated due to insertion into the host `DenseMap` deterministically trip an assert (in debug mode) on access, instead of non-deterministically hitting memory corruption issues. Enabling fail-fast iterators breaks the LLVM C++ ABI, so they are predicated on `LLVM_ENABLE_ABI_BREAKING_CHECKS`. `LLVM_ENABLE_ABI_BREAKING_CHECKS` by default flips with `LLVM_ENABLE_ASSERTS`, but can be clamped to ON or OFF using the CMake / autoconf build system. Reviewers: chandlerc, dexonsmith, rnk, zturner Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D8351 llvm-svn: 233310
* WinEH: Create an unwind help alloca for __CxxFrameHandler3 xdata tablesReid Kleckner2015-03-251-0/+12
| | | | | | | | We don't have any logic to emit those tables yet, so the sdag lowering of this intrinsic is just a stub. We can see the intrinsic in the prepared IR, though. llvm-svn: 233209
* docs: Update llvm-cov docs for the -use-color flagJustin Bogner2015-03-191-4/+4
| | | | llvm-svn: 232742
* Update 3.7 Release Note mentionning the non-optionality of the DataLayoutMehdi Amini2015-03-181-2/+6
| | | | | From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 232677
* docs: Update LangRef and SourceLevelDebuggingDuncan P. N. Exon Smith2015-03-172-672/+210
| | | | | | | | | | | | | | Cleanup some bitrot in SourceLevelDebugging.rst. - Pull the still-relevant details about individual descriptors into LangRef.rst. Cut a lot of it to avoid over-describing the fields, as the C++ classes and assembly format are mostly self-describing now. If there's anything specific that I shouldn't have cut, let me know and I'll add it back. - Rewrite the remaining sections to refer to the new debug info hierarchy in LangRef.rst. llvm-svn: 232566
* [docs] Fix some malformed links.Sean Silva2015-03-172-2/+2
| | | | | | Patch by Stanislav Manilov! llvm-svn: 232546
* [docs] Fix copy-and-paste bug in def-use exampleAdam Nemet2015-03-171-1/+1
| | | | | | | This appeared when the example was converted to use range-based loop in r207755. llvm-svn: 232509
* Adding commit msg guidelines to dev policyRenato Golin2015-03-151-2/+56
| | | | | | | | | After much bike shed discussions, we seem to agree to a few loose but relevant guidelines on how to prepare a commit message. It also points the attribution section to the new commit messages section to deduplicate information. llvm-svn: 232334
* Update LangRef now that a DataLayout is mandatory.Mehdi Amini2015-03-141-41/+42
| | | | | | | | | | | | | Reviewers: rafael, echristo Reviewed By: rafael Subscribers: rafael, llvm-commits Differential Revision: http://reviews.llvm.org/D8230 From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 232283
* A few minor updates based on feedback from Justin and a few things I thought ↵Chris Bieneman2015-03-142-25/+47
| | | | | | | | | | | | were missing. * Moved autotools configure & build example out of "Getting Started Quickly (A Summary)" and into BuildingLLVMWithAutoTools. * Removed the annotations that CMake is the recommended process and Autotools is alternate. * Added brief documentation about build targets under "Getting Started Quickly..." * Added Overview text to BuildingLLVMWithAutotools * Fixed up a broken link. llvm-svn: 232278
* [opaque pointer type] Add textual IR support for explicit type parameter to ↵David Blaikie2015-03-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gep operator Similar to gep (r230786) and load (r230794) changes. Similar migration script can be used to update test cases, which successfully migrated all of LLVM and Polly, but about 4 test cases needed manually changes in Clang. (this script will read the contents of stdin and massage it into stdout - wrap it in the 'apply.sh' script shown in previous commits + xargs to apply it over a large set of test cases) import fileinput import sys import re rep = re.compile(r"(getelementptr(?:\s+inbounds)?\s*\()((<\d*\s+x\s+)?([^@]*?)(|\s*addrspace\(\d+\))\s*\*(?(3)>)\s*)(?=$|%|@|null|undef|blockaddress|getelementptr|addrspacecast|bitcast|inttoptr|zeroinitializer|<|\[\[[a-zA-Z]|\{\{)", re.MULTILINE | re.DOTALL) def conv(match): line = match.group(1) line += match.group(4) line += ", " line += match.group(2) return line line = sys.stdin.read() off = 0 for match in re.finditer(rep, line): sys.stdout.write(line[off:match.start()]) sys.stdout.write(conv(match)) off = match.end() sys.stdout.write(line[off:]) llvm-svn: 232184
* Updating GettingStarted documentation to reference CMake as the preferred ↵Chris Bieneman2015-03-133-205/+455
| | | | | | | | | | | | | | way to build LLVM. Reviewers: chandlerc, samsonov, echristo Reviewed By: samsonov Subscribers: emaste, joker.eph, llvm-commits Differential Revision: http://reviews.llvm.org/D8046 llvm-svn: 232135
* [docs] Update the doxygen configuration file.Logan Chien2015-03-125-1292/+1527
| | | | | | | | | | Update the doxygen configuration file and Makefile build rules to provide better output (simply use the default stylesheet and template from the Doxygen distribution.) This CL has upgrade doxygen.cfg.in to Doxygen 1.8.6. llvm-svn: 232064
* [autoconf] Refine doxygen document options.Logan Chien2015-03-121-4/+11
| | | | | | | This CL adds --enable-doxygen-search to enable doxygen search engine and --enable-doxygen-qt-help to enable the Qt help file generation. llvm-svn: 232062
* docs: Fix a typo in my previous commitJustin Bogner2015-03-121-1/+1
| | | | llvm-svn: 232009
* docs: Document the llvm-cov show and report commandsJustin Bogner2015-03-121-21/+191
| | | | | | | Add a basic synopsis of how to work with instrprof based coverage using the llvm-cov tools. llvm-svn: 232007
* Make llvm.eh.actions an intrinsic and add docs for itReid Kleckner2015-03-121-0/+41
| | | | | | | | These docs *don't* match the way WinEHPrepare uses them yet, and verifier support isn't implemented either. The implementation will come after the documentation text is reviewed and agreed upon. llvm-svn: 232003
* docs: Try to fix a couple of internal links in the llvm-profdata manualJustin Bogner2015-03-121-4/+4
| | | | | | | These links seem broken on llvm.org/docs. Change them to use the sphinx-recommended style to see if that helps. llvm-svn: 232001
* Fix too short title underline reported by build-bot.Dan Liew2015-03-111-1/+1
| | | | llvm-svn: 231921
* Inspired by r231891, use gender neutral pronouns in the places I'veChandler Carruth2015-03-111-3/+3
| | | | | | found in LLVM. llvm-svn: 231893
* Introduce runtime unrolling disable matadata and use it to mark the scalar ↵Kevin Qin2015-03-091-0/+10
| | | | | | | | | | | loop from vectorization. Runtime unrolling is an expensive optimization which can bring benefit only if the loop is hot and iteration number is relatively large enough. For some loops, we know they are not worth to be runtime unrolled. The scalar loop from vectorization is one of the cases. llvm-svn: 231631
* CodingStyle: Allow delegating ctorsBenjamin Kramer2015-03-061-0/+2
| | | | | | Delegating constructors seem to work fine with all supported compilers. llvm-svn: 231473
* All FileCheck directives allow patterns.Paul Robinson2015-03-051-1/+1
| | | | llvm-svn: 231418
* Replace llvm.frameallocate with llvm.frameescapeReid Kleckner2015-03-051-11/+13
| | | | | | | | | | Turns out it's pretty straightforward and simplifies the implementation. Reviewers: andrew.w.kaylor Differential Revision: http://reviews.llvm.org/D8051 llvm-svn: 231386
* FileCheck: Document CHECK-SAME, follow-up to r230612Duncan P. N. Exon Smith2015-03-051-0/+25
| | | | llvm-svn: 231379
* Add a few more performance tipsPhilip Reames2015-03-052-3/+59
| | | | | | | | These came from my own experience and may not apply equally to all use cases. Any alternate perspective anyone has should be used to refine these. As always, grammar and spelling adjustments are more than welcome. Please just directly commit a fix if you see something problematic. llvm-svn: 231352
* Add a link to the new PerformanceTips docs from the 3.7 release notesPhilip Reames2015-03-051-0/+5
| | | | llvm-svn: 231349
* Initializer lists are supported in MSVC 2013. Since that's our minimum ↵Aaron Ballman2015-03-041-3/+2
| | | | | | required version, we can move that to the list of acceptable C++11 features. llvm-svn: 231313
* Update LangRef for explicit type changes to 'load' instructionDavid Blaikie2015-03-041-19/+19
| | | | llvm-svn: 231296
* Update LangRef for getelementptr explicit type changesDavid Blaikie2015-03-042-39/+40
| | | | | | | | | | | Here's a rough/first draft - it at least hits the actual textual IR examples and some of the phrasing. It's probably worth a full pass over, but I'm not sure how much these docs should reflect the strange intermediate state we're in anyway. Totally open to lots of review/feedback/suggestions. llvm-svn: 231294
* Document the LLVM "thunk" attribute added back in r226708Reid Kleckner2015-03-041-0/+5
| | | | llvm-svn: 231181
* LangRef: Clarify select's semantics with vector argumentsDavid Majnemer2015-03-031-3/+4
| | | | llvm-svn: 231158
* Make llvm.eh.begincatch use an outparamReid Kleckner2015-03-031-6/+6
| | | | | | | | | | | | | | Ultimately, __CxxFrameHandler3 needs us to put a stack offset in a table, and it will take responsibility for copying the exception object into that slot. Modelling the exception object as an SSA value returned by begincatch isn't going to work in general, so make it use an output parameter. Reviewers: andrew.w.kaylor Differential Revision: http://reviews.llvm.org/D7920 llvm-svn: 231086
* DebugInfo: Move new hierarchy into placeDuncan P. N. Exon Smith2015-03-031-1/+288
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move the specialized metadata nodes for the new debug info hierarchy into place, finishing off PR22464. I've done bootstraps (and all that) and I'm confident this commit is NFC as far as DWARF output is concerned. Let me know if I'm wrong :). The code changes are fairly mechanical: - Bumped the "Debug Info Version". - `DIBuilder` now creates the appropriate subclass of `MDNode`. - Subclasses of DIDescriptor now expect to hold their "MD" counterparts (e.g., `DIBasicType` expects `MDBasicType`). - Deleted a ton of dead code in `AsmWriter.cpp` and `DebugInfo.cpp` for printing comments. - Big update to LangRef to describe the nodes in the new hierarchy. Feel free to make it better. Testcase changes are enormous. There's an accompanying clang commit on its way. If you have out-of-tree debug info testcases, I just broke your build. - `upgrade-specialized-nodes.sh` is attached to PR22564. I used it to update all the IR testcases. - Unfortunately I failed to find way to script the updates to CHECK lines, so I updated all of these by hand. This was fairly painful, since the old CHECKs are difficult to reason about. That's one of the benefits of the new hierarchy. This work isn't quite finished, BTW. The `DIDescriptor` subclasses are almost empty wrappers, but not quite: they still have loose casting checks (see the `RETURN_FROM_RAW()` macro). Once they're completely gutted, I'll rename the "MD" classes to "DI" and kill the wrappers. I also expect to make a few schema changes now that it's easier to reason about everything. llvm-svn: 231082
* [PerformanceTips] Document various items folks have suggestedPhilip Reames2015-03-021-0/+45
| | | | | | This could stand to be expanded - patches welcome! - but let's at least write them down so they don't get forgotten. llvm-svn: 230995
OpenPOWER on IntegriCloud