summaryrefslogtreecommitdiffstats
path: root/llvm/docs
Commit message (Collapse)AuthorAgeFilesLines
...
* [lit] Report line number for failed RUN commandJoel E. Denny2018-04-241-0/+2
| | | | | | | | | | | | | | | | | | | | | When debugging test failures with -vv (or -v in the case of the internal shell), this makes it easier to locate the RUN line that failed. For example, clang's test/Driver/linux-ld.c has 892 total RUN lines, and clang's test/Driver/arm-cortex-cpus.c has 424 RUN lines after concatenation for line continuations. When reading the generated shell script, this also makes it easier to locate the RUN line that produced each command. To support reporting RUN line numbers in the case of the internal shell, this patch extends the internal shell to support the null command, ":", except pipelines are not supported. Reviewed By: asmith, delcypher Differential Revision: https://reviews.llvm.org/D44598 llvm-svn: 330755
* Remove LLVM_INSTALL_CCTOOLS_SYMLINKSNico Weber2018-04-241-4/+0
| | | | | | | | | | | | | It used to symlink dsymutil to llvm-dsymutil, but after r327790 llvm's dsymutil binary is now called dsymutil without prefix. r327792 then reversed the direction of the symlink if LLVM_INSTALL_CCTOOLS_SYMLINKS was set, but that looks like a buildfix and not like something anyone should need. https://reviews.llvm.org/D45966 llvm-svn: 330727
* [llvm-mca][CommandGuide] Fix typo in example.Andrea Di Biagio2018-04-241-1/+1
| | | | llvm-svn: 330703
* [doc] Removed obsolete -count-aa from AliasAnalysis documentationMarianne Mailhot-Sarrasin2018-04-231-30/+3
| | | | | | | | | | | Summary: This patch removes references to AliasAnalysisCounter pass from the AliasAnalysis documentation. That pass have been eliminated in 2015, at revision trunk@247167. Reviewed By: hfinkel Differential Revision: https://reviews.llvm.org/D45876 llvm-svn: 330590
* Fix BNF nits in TableGen language reference.Simon Tatham2018-04-231-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: In the course of writing an experimental ANTLR grammar based on this document, I found three errors in the documented BNF: SimpleValues of dag type are allowed to have no operands at all after the initial DagArg specifying the operator. For example, the value (outs) is extremely common in backends; an example in the test suite is test/TableGen/AsmVariant.td line 30. But the BNF doesn't allow DagArgList to expand to the empty string (it must contain at least one DagArg), and therefore the DagArgList specifying the operands in the dag-shaped production for SimpleValue should be optional. In the production for BodyItem with a 'let' and an optional RangeList, the RangeList should have braces around it if it's present, matching code such as "let E{7-0} = ..." on test/TableGen/BitsInit.td line 42. Those braces aren't included in the RangeList nonterminal itself, so instead they need to be part of the optional segment of the BodyItem production. Finally, the identifier after 'defm' should be optional. Again, this is very common in the real back end .td files; an example in the test suite is in test/TableGen/defmclass.td line 49. Reviewers: rengolin, nhaehnle, stoklund Reviewed By: nhaehnle Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D45818 llvm-svn: 330570
* Test commit access.Simon Tatham2018-04-231-1/+1
| | | | | | | | | | | Should be a harmless trimming of trailing whitespace from a documentation file. (There are other instances of trailing whitespace in this file alone. I've only fixed one of them, on the basis that that way the rest are still available for other people's commit-access tests :-) llvm-svn: 330567
* [DAGCombine] (float)((int) f) --> ftrunc (PR36617)Sanjay Patel2018-04-201-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was originally committed at rL328921 and reverted at rL329920 to investigate failures in Chrome. This time I've added to the ReleaseNotes to warn users of the potential of exposing UB and let me repeat that here for more exposure: Optimization of floating-point casts is improved. This may cause surprising results for code that is relying on undefined behavior. Code sanitizers can be used to detect affected patterns such as this: int main() { float x = 4294967296.0f; x = (float)((int)x); printf("junk in the ftrunc: %f\n", x); return 0; } $ clang -O1 ftrunc.c -fsanitize=undefined ; ./a.out ftrunc.c:5:15: runtime error: 4.29497e+09 is outside the range of representable values of type 'int' junk in the ftrunc: 0.000000 Original commit message: fptosi / fptoui round towards zero, and that's the same behavior as ISD::FTRUNC, so replace a pair of casts with the equivalent node. We don't have to account for special cases (NaN, INF) because out-of-range casts are undefined. Differential Revision: https://reviews.llvm.org/D44909 llvm-svn: 330437
* [AMDGPU] Add gfx902 product namesTony Tye2018-04-141-5/+2
| | | | | | Differential Revision: https://reviews.llvm.org/D45609 llvm-svn: 330081
* [AMDGPU] Update relocation record descriptionTony Tye2018-04-131-4/+14
| | | | | | | | Document which relocation records are static and dynamic. Differential Revision: https://reviews.llvm.org/D45587 llvm-svn: 329981
* [NFC] fix trivial typos in documents and commentsHiroshi Inoue2018-04-123-3/+3
| | | | | | "is is" -> "is", "if if" -> "if", "or or" -> "or" llvm-svn: 329878
* [llvm-mca] Renamed BackendStatistics to RetireControlUnitStatistics.Andrea Di Biagio2018-04-111-6/+5
| | | | | | Also, removed flag -verbose in favor of flag -retire-stats. llvm-svn: 329794
* [llvm-mca] Move the logic that prints scheduler statistics from ↵Andrea Di Biagio2018-04-111-2/+6
| | | | | | | | BackendStatistics to its own view. Added flag -scheduler-stats to print scheduler related statistics. llvm-svn: 329792
* [llvm-exegesis] Add a flag to disable libpfm even if present.Clement Courbet2018-04-111-0/+5
| | | | | | | | | | | | Summary: Fixes PR37053. Reviewers: uabelho, gchatelet Subscribers: mgorny, tschuett, llvm-commits Differential Revision: https://reviews.llvm.org/D45436 llvm-svn: 329781
* [llvm-mca] reorder textSanjay Patel2018-04-101-9/+9
| | | | | | | On 2nd reading, putting the C example after the bit about multiple regions makes this flow better. llvm-svn: 329732
* [llvm-mca] fix formattingSanjay Patel2018-04-101-8/+8
| | | | llvm-svn: 329729
* [llvm-mca] add example workflow for source codeSanjay Patel2018-04-101-0/+20
| | | | | | | | | | | | This is copied from Andrea's text in PR36875: https://bugs.llvm.org/show_bug.cgi?id=36875 As noted there, this is a hack...but it's a good one! It's important to show potential workflows up-front with examples, so customers can copy and experiment with them. llvm-svn: 329726
* [llvm-mca] Move the logic that prints dispatch unit statistics from ↵Andrea Di Biagio2018-04-101-0/+6
| | | | | | | | | | | BackendStatistics to its own view. This patch moves the logic that collects and analyzes dispatch events to the DispatchStatistics view. Added flag -dispatch-stats to print statistics related to the dispatch logic. llvm-svn: 329708
* [llvm-mca] Increase the default number of iterations to 100.Andrea Di Biagio2018-04-101-1/+1
| | | | llvm-svn: 329694
* [llvm-mca] Add the ability to mark regions of code for analysis (PR36875)Andrea Di Biagio2018-04-091-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch teaches llvm-mca how to parse code comments in search for special "markers" used to select regions of code. Example: # LLVM-MCA-BEGIN My Code Region .... # LLVM-MCA-END The MCAsmLexer now delegates to an object of class MCACommentParser (i.e. an AsmCommentConsumer) the parsing of code comments to search for begin/end code region markers. A comment starting with substring "LLVM-MCA-BEGIN" marks the beginning of a new region of code. A comment starting with substring "LLVM-MCA-END" marks the end of the last region. This implementation doesn't allow regions to overlap. Each region can have a optional description; internally, each region is identified by a range of source code locations (SMLoc). MCInst objects are added to a region R only if the source location for the MCInst is in the range of locations specified by R. By default, the tool allocates an implicit "Default" code region which contains every source location. See new tests llvm-mca-marker-*.s for a few examples. A new Backend object is created for every region. So, the analysis is conducted on every parsed code region. The final report is the union of the reports generated for every code region. Note that empty regions are skipped. Special "[#] Code Region - ..." strings are used in the report to mark the portion which is specific to a code region only. For example, see llvm-mca-markers-5.s. Differential Revision: https://reviews.llvm.org/D45433 llvm-svn: 329590
* [llvm-cov] Implement -ignore-filename-regex= option for excluding source files.Max Moroz2018-04-091-0/+12
| | | | | | | | | | | | | | | | | | | Summary: The option is helpful for large projects where it's not feasible to specify sources which user would like to see in the report. Instead, it allows to black-list specific sources via regular expressions (e.g. now it's possible to skip all files that have "test" in its name). This also partially fixes https://bugs.llvm.org/show_bug.cgi?id=34277 Reviewers: vsk, morehouse, liaoyuke Reviewed By: vsk Subscribers: kcc, mgorny, llvm-commits Differential Revision: https://reviews.llvm.org/D43907 llvm-svn: 329581
* [XRay][llvm+clang] Consolidate attribute list filesDean Michael Berris2018-04-092-7/+28
| | | | | | | | | | | | | | | | | | | | | | | | Summary: This change consolidates the always/never lists that may be provided to clang to externally control which functions should be XRay instrumented by imbuing attributes. The files follow the same format as defined in https://clang.llvm.org/docs/SanitizerSpecialCaseList.html for the sanitizer blacklist. We also deprecate the existing `-fxray-instrument-always=` and `-fxray-instrument-never=` flags, in favour of `-fxray-attr-list=`. This fixes http://llvm.org/PR34721. Reviewers: echristo, vlad.tsyrklevich, eugenis Reviewed By: vlad.tsyrklevich Subscribers: llvm-commits, cfe-commits Differential Revision: https://reviews.llvm.org/D45357 llvm-svn: 329543
* Mark invariant.group as experimentalPiotr Padlewski2018-04-081-2/+6
| | | | | | Differential Revision: https://reviews.llvm.org/D33235 llvm-svn: 329531
* [Release Notes] Add release note for "-fmerge-all-constants"Manoj Gupta2018-04-061-0/+3
| | | | | | | | | | | | | | Summary: Add note that "-fmerge-all-constants" is not applied as default anymore. Reviewers: rjmccall, rsmith, chandlerc Subscribers: llvm-commits, thakis Differential Revision: https://reviews.llvm.org/D45388 llvm-svn: 329457
* Update method names in documentation.Rafael Espindola2018-04-061-5/+5
| | | | | | They were renamed in r328848. llvm-svn: 329368
* [documentation][llvm-mca] Update the documentation.Andrea Di Biagio2018-04-051-6/+5
| | | | | | | Scheduling models can now describe processor register files and retire control units. This updates the existing documentation and the README file. llvm-svn: 329311
* [Lexicon] Add "ICE", internal compiler errorBrian Gesiak2018-04-051-0/+6
| | | | | | | | Test Plan: 1. `ninja docs-llvm-html` 2. Confirm that the rendered docs HTML contains the new "ICE" entry llvm-svn: 329285
* Minor fix in docs.Alexander Kornienko2018-04-051-2/+2
| | | | llvm-svn: 329277
* [llvm-mca] Remove flag -max-retire-per-cycle, and update the docs.Andrea Di Biagio2018-04-051-5/+0
| | | | | | | | This is done in preparation for D45259. With D45259, models can specify the size of the reorder buffer, and the retire throughput directly via tablegen. llvm-svn: 329274
* Add AMDPAL Code Conventions section to AMD docsTim Corringham2018-04-041-0/+119
| | | | | | | | | | | | | Summary: This is a first version of the AMDPAL code conventions. Further updates will undoubtably be required to fully document AMDPAL. Subscribers: nhaehnle, llvm-commits Differential Revision: https://reviews.llvm.org/D45246 llvm-svn: 329188
* Re-land r329156 "Add llvm-exegesis tool."Clement Courbet2018-04-043-0/+64
| | | | | | Fixed to depend on and initialize the native target instead of X86. llvm-svn: 329169
* Revert r329156 "Add llvm-exegesis tool."Clement Courbet2018-04-043-64/+0
| | | | | | Breaks a bunch of bots. llvm-svn: 329157
* Add llvm-exegesis tool.Clement Courbet2018-04-043-0/+64
| | | | | | | | | | | | | | | | | Summary: [llvm-exegesis][RFC] Automatic Measurement of Instruction Latency/Uops This is the code corresponding to the RFC "llvm-exegesis Automatic Measurement of Instruction Latency/Uops". The RFC is available on the LLVM mailing lists as well as the following document for easier reading: https://docs.google.com/document/d/1QidaJMJUyQdRrFKD66vE1_N55whe0coQ3h1GpFzz27M/edit?usp=sharing Subscribers: mgorny, gchatelet, orwant, llvm-commits Differential Revision: https://reviews.llvm.org/D44519 llvm-svn: 329156
* Add the ShadowCallStack attributeVlad Tsyrklevich2018-04-032-0/+6
| | | | | | | | | | | | | | | | | | Summary: Introduce the ShadowCallStack function attribute. It's added to functions compiled with -fsanitize=shadow-call-stack in order to mark functions to be instrumented by a ShadowCallStack pass to be submitted in a separate change. Reviewers: pcc, kcc, kubamracek Reviewed By: pcc, kcc Subscribers: cryptoad, mehdi_amini, javed.absar, llvm-commits, kcc Differential Revision: https://reviews.llvm.org/D44800 llvm-svn: 329108
* [llvm-mca] Move the logic that prints register file statistics to its own ↵Andrea Di Biagio2018-04-031-0/+4
| | | | | | | | | | | | | view. NFCI Before this patch, the "BackendStatistics" view was responsible for printing the register file usage (as well as many other statistics). Now users can enable register file usage statistics using the command line flag `-register-file-stats`. By default, the tool doesn't print register file statistics. llvm-svn: 329083
* [LangRef] fix description and examples of fptruncSanjay Patel2018-04-031-6/+5
| | | | | | | | | | | | As noted in PR36966: https://bugs.llvm.org/show_bug.cgi?id=36966 The old description doesn't match what we do in code, so this just fixes the documentation to avoid confusion. Differential Revision: https://reviews.llvm.org/D45190 llvm-svn: 329065
* [coroutines] Add support for llvm.coro.noop intrinsicsGor Nishanov2018-04-021-0/+26
| | | | | | | | | | | | | | | | Summary: A recent addition to Coroutines TS (https://wg21.link/p0913) adds a pre-defined coroutine noop_coroutine that does nothing. To implement this feature, we implemented an llvm.coro.noop intrinsic that returns a coroutine handle to a coroutine that does nothing when resumed or destroyed. Reviewers: EricWF, modocache, rnk, lewissbaker Reviewed By: modocache Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D45114 llvm-svn: 328986
* [dsymutil] Upstream emitting of papertrail warnings.Jonas Devlieghere2018-04-021-0/+7
| | | | | | | | | | When running dsymutil as part of your build system, it can be desirable for warnings to be part of the end product, rather than just being emitted to the output stream. This patch upstreams that functionality. Differential revision: https://reviews.llvm.org/D44639 llvm-svn: 328965
* [Kaleidoscope] Tiny typo fixesSjoerd Meijer2018-03-295-14/+14
| | | | | | | | | | | Fixes for "lets" references which should be "let's" in the Kaleidoscope tutorial. Patch by: Robin Dupret Differential Revision: https://reviews.llvm.org/D44990 llvm-svn: 328772
* Rename llvm library from libLLVM-X.Y to libLLVM-XSylvestre Ledru2018-03-291-0/+3
| | | | | | | | | | | | | | | | | | Summary: As we are only doing X.0.Z releases (not using the minor version), there is no need to keep -X.Y in the version. Like patch https://reviews.llvm.org/D41808, I propose that we rename libLLVM-7.0svn.so to libLLVM-7svn.so This patch will also rename downstream libraries like liblldb-7.0 to liblldb-7 Reviewers: axw, beanz, dim, hans Reviewed By: dim, hans Subscribers: mgorny, llvm-commits Differential Revision: https://reviews.llvm.org/D41869 llvm-svn: 328768
* [AMDGPU] Define code object identification string used in AMDHSA runtimes.Tony Tye2018-03-271-0/+28
| | | | | | Differential Revision: https://reviews.llvm.org/D44718 llvm-svn: 328669
* Migrate dockerfiles to use multi-stage builds.Ilya Biryukov2018-03-261-36/+22
| | | | | | | | | | | | | | | | | | | | Summary: We previously emulated multi-staged builds using two dockerfiles, native support from Docker allows us to merge them into one, simplifying our scripts. For more details about multi-stage builds, see: https://docs.docker.com/develop/develop-images/multistage-build/ Reviewers: mehdi_amini, klimek, sammccall Reviewed By: sammccall Subscribers: llvm-commits, ioeric, cfe-commits Differential Revision: https://reviews.llvm.org/D44787 llvm-svn: 328503
* [llvm-mca] Add a flag -instruction-info to enable/disable the instruction ↵Andrea Di Biagio2018-03-261-0/+4
| | | | | | info view. llvm-svn: 328493
* [llvm-mca] Update the commandline docs after r328305.Andrea Di Biagio2018-03-261-0/+4
| | | | | | | Document that flag -resource-pressure can be used to enable/disable the resource pressure view. This change should have been part of r328305. llvm-svn: 328492
* [llvm-mca] Add flag -instruction-tables to print the theoretical resource ↵Andrea Di Biagio2018-03-261-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | pressure distribution for instructions (PR36874) The goal of this patch is to address most of PR36874. To fully fix PR36874 we need to split the "InstructionInfo" view from the "SummaryView". That would make easy to check the latency and rthroughput as well. The patch reuses all the logic from ResourcePressureView to print out the "instruction tables". We have an entry for every instruction in the input sequence. Each entry reports the theoretical resource pressure distribution. Resource pressure is uniformly distributed across all the processor resource units of a group. At the moment, the backend pipeline is not configurable, so the only way to fix this is by creating a different driver that simply sends instruction events to the resource pressure view. That means, we don't use the Backend interface. Instead, it is simpler to just have a different code-path for when flag -instruction-tables is specified. Once Clement addresses bug 36663, then we can port the "instruction tables" logic into a stage of our configurable pipeline. Updated the BtVer2 test cases (thanks Simon for the help). Now we pass flag -instruction-tables to each modified test. Differential Revision: https://reviews.llvm.org/D44839 llvm-svn: 328487
* [AMDGPU] Update OpenCL to use 48 bytes of implicit arguments for AMDGPUTony Tye2018-03-231-4/+8
| | | | | | | | Add two additional implicit arguments for OpenCL for the AMDGPU target using the AMDHSA runtime to support device enqueue. Differential Revision: https://reviews.llvm.org/D44697 llvm-svn: 328351
* [AMDGPU] Remove use of OpenCL triple environment and replace with function ↵Tony Tye2018-03-231-18/+18
| | | | | | | | | | | attribute for AMDGPU - Remove use of the opencl and amdopencl environment member of the target triple for the AMDGPU target. - Use function attribute to communicate to the AMDGPU backend to add implicit arguments for OpenCL kernels for the AMDHSA OS. Differential Revision: https://reviews.llvm.org/D43736 llvm-svn: 328349
* Document optforfuzzing attribute created in r328214.Matt Morehouse2018-03-222-0/+4
| | | | llvm-svn: 328236
* [Docs] Remove some WIP X86 documentation I accidentally leaked into r328031.Craig Topper2018-03-214-97/+0
| | | | | | I didn't mean to commit it, but I guess I failed to switch branches or stash it in my local tree. llvm-svn: 328124
* [Documentation] Fix markup problems in X86Usage.rstEugene Zelenko2018-03-211-3/+3
| | | | llvm-svn: 328121
* [Documentation] Fix markup problem in AMDGPUUsage.rst.Eugene Zelenko2018-03-211-1/+1
| | | | llvm-svn: 328116
OpenPOWER on IntegriCloud