summaryrefslogtreecommitdiffstats
path: root/llvm/docs
Commit message (Collapse)AuthorAgeFilesLines
* 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
* [OCaml] Generate documentation again with autoconf buildsystem.Peter Zotov2015-02-281-3/+3
| | | | | | | | | | | Patch by Evangelos Foutras: r220899 started using ocamlfind to build the OCaml bindings but docs/Makefile still contains references to the OCAMLDOC macro which is no longer being defined. The result is that OCaml documentation isn't generated/installed. llvm-svn: 230850
* [new docs] Performance Tips for Frontend AuthorsPhilip Reames2015-02-273-0/+70
| | | | | | | | | | As mentioned on llvm-dev, this is a new documentation page intended to collect tips for frontend authors on how to generate IR that LLVM is able to optimize well. These types of things come up repeated in review threads and it would be good to have a place to save them. I added a small handful to start us off, but I mostly want to get the framework in place. Once the docs are here, we can add to them incrementally. If you know of something appropriate for this page, please add it! Differential Revision: http://reviews.llvm.org/D7890 llvm-svn: 230807
* Refer users looking for the release notes to 3.6.Benjamin Kramer2015-02-271-1/+1
| | | | llvm-svn: 230781
* Delete LLVM_DELETED_FUNCTION from coding standardsReid Kleckner2015-02-271-28/+0
| | | | | | | | | It didn't seem worth leaving behind a guideline to use '= delete' to make a class uncopyable. That's a well known C++ design pattern. Reported on the mailing list and in PR22724. llvm-svn: 230776
* Try to fix a docs link.Nico Weber2015-02-261-3/+3
| | | | llvm-svn: 230672
* [GC docs] Add example IR, assembly, and stackmaps to Statepoint documentationPhilip Reames2015-02-261-19/+103
| | | | | | | | When I originally committed the statepoint docs, I left placeholders for example IR fragments. I'm finally getting around to filling those in. I also added IR fragments to illustrate the usage of the PlaceSafepoints pass while I was at it. llvm-svn: 230601
* [GC docs] More minor word tweaks to make the GC bits clearerPhilip Reames2015-02-251-3/+6
| | | | llvm-svn: 230581
* [GC Docs] Update LangRef to link to Statepoint docsPhilip Reames2015-02-252-10/+22
| | | | | | | | Add a brief section linking to the experimental statepoint intrinsics analogous to the one we have linking to patchpoint. While I'm here, cleanup some wording about what the gc "name" attribute actually means. It's not the name of a *collector* it's the name of the *strategy* which may be compatible with multiple collectors. llvm-svn: 230576
* [GC docs] Fill in description of the statepoint-example GC strategyPhilip Reames2015-02-252-3/+16
| | | | llvm-svn: 230572
* [GC Docs] Minor wording clarificationPhilip Reames2015-02-251-3/+3
| | | | llvm-svn: 230570
* fix a typoChris Lattner2015-02-251-1/+1
| | | | llvm-svn: 230510
* [GC] Document the recently added PlaceSafepoints and RewriteGCForStatepoints ↵Philip Reames2015-02-251-3/+90
| | | | | | passes llvm-svn: 230420
* Fix consistently wrong sphinx markupPhilip Reames2015-02-252-25/+25
| | | | | | I'd been using '' where I should have been using ``. llvm-svn: 230407
* Update the GC docs to explicitly mention both gcroot and gc.statepointPhilip Reames2015-02-252-12/+31
| | | | | | Also, fix confusing bit of the gcroot documentation that bit me personally. llvm-svn: 230405
* [GC] Sync documentation with code namingPhilip Reames2015-02-241-11/+14
| | | | | | Fixing an issue pointed out by Sean Silva. Thanks! llvm-svn: 230403
* More GC documentation cleanupPhilip Reames2015-02-241-21/+24
| | | | llvm-svn: 230402
* More GC doc cleanupPhilip Reames2015-02-241-41/+51
| | | | | | Mostly minor wording changes for readability. Nothing major to see here. llvm-svn: 230397
* LowerBitSets: Introduce global layout builder.Peter Collingbourne2015-02-241-2/+6
| | | | | | | | | | The builder is based on a layout algorithm that tries to keep members of small bit sets together. The new layout compresses Chromium's bit sets to around 15% of their original size. Differential Revision: http://reviews.llvm.org/D7796 llvm-svn: 230394
* Improve the getting started instructions in the GC docsPhilip Reames2015-02-241-123/+142
| | | | | | This is still gcroot vs gc.statepoint agnostic. I'm just trying to clarify the general documentation at this point. llvm-svn: 230393
* ReleaseNotes: add notes about VS2014 Update 4 requirementHans Wennborg2015-02-241-0/+3
| | | | llvm-svn: 230363
* Fix typo: qual -> equalArch D. Robison2015-02-241-1/+1
| | | | llvm-svn: 230361
* Starting to cleanup the garbage collection documentationPhilip Reames2015-02-241-125/+172
| | | | | | | | | | | | In this change: - Put the getting started section first - Create a dedicated section to document the built in collector strategies - Move discuss of ShadowStack into new section - Add placeholders for erlang, ocaml, and statepoint-example collectors There will be many more changes following. I plan on full integrating the documentation for gc.statepoint and gc.root. I want to make it much clearer on how to get started and what users should expect in terms of effort. llvm-svn: 230359
* Try to fix reST markup for an external link.Nico Weber2015-02-231-1/+1
| | | | llvm-svn: 230200
* docs: Mention that assertions must be enabled to use the -stats flagJustin Bogner2015-02-211-0/+3
| | | | | | Patch by Rob Stewart. Thanks! llvm-svn: 230144
* Introduce bitset metadata format and bitset lowering pass.Peter Collingbourne2015-02-203-0/+98
| | | | | | | | | | | | | | | | | | | | This patch introduces a new mechanism that allows IR modules to co-operatively build pointer sets corresponding to addresses within a given set of globals. One particular use case for this is to allow a C++ program to efficiently verify (at each call site) that a vtable pointer is in the set of valid vtable pointers for the class or its derived classes. One way of doing this is for a toolchain component to build, for each class, a bit set that maps to the memory region allocated for the vtables, such that each 1 bit in the bit set maps to a valid vtable for that class, and lay out the vtables next to each other, to minimize the total size of the bit sets. The patch introduces a metadata format for representing pointer sets, an '@llvm.bitset.test' intrinsic and an LTO lowering pass that lays out the globals and builds the bitsets, and documents the new feature. Differential Revision: http://reviews.llvm.org/D7288 llvm-svn: 230054
* Fix grammar in documentation.Eric Christopher2015-02-192-9/+9
| | | | | | Patch by Ralph Campbell! llvm-svn: 229884
* Document that defaulted & deleted methods and explicit conversions are ↵Benjamin Kramer2015-02-161-0/+7
| | | | | | allowed now. llvm-svn: 229369
* Remove LLVM_HAS_VARIADIC_TEMPLATES and all the faux variadic workarounds ↵Benjamin Kramer2015-02-151-0/+2
| | | | | | | | guarded by it. We no longer support compilers without variadic template support. llvm-svn: 229324
* Update the docs to require at least MSVC 2013.Benjamin Kramer2015-02-153-5/+5
| | | | llvm-svn: 229323
* Help: Document how to build and install with CMake.Tom Stellard2015-02-131-0/+30
| | | | | | | | Resolves PR21569. Patch by: Stephen Kelly llvm-svn: 229122
* Help: Document the minimum CMake version required.Tom Stellard2015-02-131-1/+1
| | | | | | Patch by: Stephen Kelly llvm-svn: 229121
* Don't promote asynch EH invokes of nounwind functions to callsReid Kleckner2015-02-111-3/+6
| | | | | | | | | | | If the landingpad of the invoke is using a personality function that catches asynch exceptions, then it can catch a trap. Also add some landingpads to invalid LLVM IR test cases that lack them. Over-the-shoulder reviewed by David Majnemer. llvm-svn: 228782
* fix docs typoNico Weber2015-02-101-1/+1
| | | | llvm-svn: 228741
OpenPOWER on IntegriCloud