summaryrefslogtreecommitdiff
path: root/docs/CodeGenerator.rst
Commit message (Collapse)AuthorAge
* [ms-cxxabi] Add a new calling convention that swaps 'this' and 'sret'Reid Kleckner2014-01-31
| | | | | | | | | | | | | | | | | | | | MSVC always places the 'this' parameter for a method first. The implicit 'sret' pointer for methods always comes second. We already implement this for __thiscall by putting sret parameters on the stack, but __cdecl methods require putting both parameters on the stack in opposite order. Using a special calling convention allows frontends to keep the sret parameter first, which avoids breaking lots of assumptions in LLVM and Clang. Fixes PR15768 with the corresponding change in Clang. Reviewers: ributzka, majnemer Differential Revision: http://llvm-reviews.chandlerc.com/D2663 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200561 91177308-0d34-0410-b5e6-96231b3b80d8
* Docs: fix sign of division and increase equivocation on code generated.Tim Northover2014-01-13
| | | | | | I should have been a politician. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199092 91177308-0d34-0410-b5e6-96231b3b80d8
* Add more documentation about the TargetStreamer interface.Rafael Espindola2013-10-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192796 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a paragraph about MCTargetStreamer.Rafael Espindola2013-10-09
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192265 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a typo in the documentation. Thanks to Diana Vasile for the patchSylvestre Ledru2013-10-01
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191752 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the mblaze backend from llvm.Rafael Espindola2013-07-25
| | | | | | Approval in here http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-July/064169.html git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187145 91177308-0d34-0410-b5e6-96231b3b80d8
* [SystemZ] Add disassembler supportRichard Sandiford2013-05-14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181777 91177308-0d34-0410-b5e6-96231b3b80d8
* Add SystemZ feats to CodeGenerator.rstRichard Sandiford2013-05-08
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181431 91177308-0d34-0410-b5e6-96231b3b80d8
* [docs] Update Target Feature Matrix for the XCore backend.Richard Osborne2013-05-05
| | | | | | | Disassembler support has recently been added. Fill in some other unknowns at the same time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181156 91177308-0d34-0410-b5e6-96231b3b80d8
* Extend TableGen instruction selection matcher to improve handlingUlrich Weigand2013-03-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of complex instruction operands (e.g. address modes). Currently, if a Pat pattern creates an instruction that has a complex operand (i.e. one that consists of multiple sub-operands at the MI level), this operand must match a ComplexPattern DAG pattern with the correct number of output operands. This commit extends TableGen to alternatively allow match a complex operands against multiple separate operands at the DAG level. This allows using Pat patterns to match pre-increment nodes like pre_store (which must have separate operands at the DAG level) onto an instruction pattern that uses a multi-operand memory operand, like the following example on PowerPC (will be committed as a follow-on patch): def STWU : DForm_1<37, (outs ptr_rc:$ea_res), (ins GPRC:$rS, memri:$dst), "stwu $rS, $dst", LdStStoreUpd, []>, RegConstraint<"$dst.reg = $ea_res">, NoEncode<"$ea_res">; def : Pat<(pre_store GPRC:$rS, ptr_rc:$ptrreg, iaddroff:$ptroff), (STWU GPRC:$rS, iaddroff:$ptroff, ptr_rc:$ptrreg)>; Here, the pair of "ptroff" and "ptrreg" operands is matched onto the complex operand "dst" of class "memri" in the "STWU" instruction. Approved by Jakob Stoklund Olesen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177428 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove a mention of TargetInstrDescriptor, which no longer exists in the codeEli Bendersky2013-01-30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173971 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove PTX->NVPTX in CodeGenerator document and update its text.Justin Holewinski2013-01-11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172235 91177308-0d34-0410-b5e6-96231b3b80d8
* Update CodeGenerator document to add a "Not Applicable" category to theJustin Holewinski2013-01-11
| | | | | | | | Target Feature Matrix, and update the PTX column with this new category. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172234 91177308-0d34-0410-b5e6-96231b3b80d8
* docs: Fix long standing linking antipattern.Sean Silva2013-01-11
| | | | | | | | | Before we learned about :doc:, we used :ref: and put a dummy link at the top of each page. Don't do that anymore. This fixes PR14891 as a special case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172162 91177308-0d34-0410-b5e6-96231b3b80d8
* Documentation: convert ReleaseNotes.html to reST.Dmitri Gribenko2012-12-09
| | | | | | | Patch by Anthony Mykhailenko with small fixes by me. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169714 91177308-0d34-0410-b5e6-96231b3b80d8
* Documentation: convert WritingAnLLVMBackend.html to reSTDmitri Gribenko2012-12-01
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169087 91177308-0d34-0410-b5e6-96231b3b80d8
* Documentation: formatting improvementsDmitri Gribenko2012-11-29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168897 91177308-0d34-0410-b5e6-96231b3b80d8
* docs: Fix reference to "bold" part of code example.Sean Silva2012-11-19
| | | | | | | | | | | | | | | Fixes PR14380. The prose was referring to a "bold" part of the code example, where the boldness was lost in the transition from HTML. Unlike HTML, where one can easily have a <b> inside a <pre>, reStructuredText is generally unable to represent such nested markup. Hack around it with the :emphasise-lines: option to the code-block directive to single out the regions instead. Thankfully the regions are close-enough to being full lines for this to work. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168329 91177308-0d34-0410-b5e6-96231b3b80d8
* Add the Erlang/HiPE calling convention, patch by Yiannis Tsiouris.Duncan Sands2012-11-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168166 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the CellSPU port.Eric Christopher2012-11-14
| | | | | | | Approved by Chris Lattner. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167984 91177308-0d34-0410-b5e6-96231b3b80d8
* PR14256: SelectionDAGLowering was renamed to SelectionDAGBuilder a long time ↵Eli Bendersky2012-11-05
| | | | | | ago. Fix references to it in documentation and comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167378 91177308-0d34-0410-b5e6-96231b3b80d8
* Documentation: fix typos.Dmitri Gribenko2012-11-02
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167302 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix typo in CodeGenerator docEli Bendersky2012-10-31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167137 91177308-0d34-0410-b5e6-96231b3b80d8
* Move TargetData to DataLayout.Micah Villmow2012-10-08
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165403 91177308-0d34-0410-b5e6-96231b3b80d8
* RST docs: convert HTML escapes to plain text in code examples.Dmitri Gribenko2012-09-30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164922 91177308-0d34-0410-b5e6-96231b3b80d8
* Move header so that it can be picked up by other .rst files.Bill Wendling2012-08-08
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161478 91177308-0d34-0410-b5e6-96231b3b80d8
* Sphinxify the Code Generator document.Bill Wendling2012-08-02
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161164 91177308-0d34-0410-b5e6-96231b3b80d8