Commit Graph

2810 Commits

Author SHA1 Message Date
Devang Patel
dd9db66882 Each input file is encoded as a separate compile unit in LLVM debugging
information output. However, many target specific tool chains prefer to encode
only one compile unit in an object file. In this situation, the LLVM code
generator will include  debugging information entities in the compile unit 
that is marked as main compile unit. The code generator accepts maximum one main
compile unit per module. If a module does not contain any main compile unit 
then the code generator will emit multiple compile units in the output object 
file.

[Part 1]

Update DebugInfo APIs to accept optional boolean value while creating DICompileUnit  to mark the unit as "main" unit. By defaults all units are considered  non-main.  Update SourceLevelDebugging.html to document "main" compile unit.

Update DebugInfo APIs to not accept and encode separate source file/directory entries while creating various llvm.dbg.* entities. There was a recent, yet to be documented, change to include this additional information so no documentation changes are required here.

Update DwarfDebug to handle "main" compile unit. If "main" compile unit is seen then all DIEs are inserted into "main" compile unit. All other compile units are used to find source location for llvm.dbg.* values. If there is not any "main" compile unit then create unique compile unit DIEs for each llvm.dbg.compile_unit.

[Part 2]

Create separate llvm.dbg.compile_unit for each input file. Mark compile unit create for main_input_filename as "main" compile unit. Use appropriate compile unit, based on source location information collected from the tree node, while creating llvm.dbg.* values using DebugInfo APIs.

---

This is Part 1.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63400 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 18:20:31 +00:00
Dan Gohman
50ef90d48e SDOperand has been renamed to SDValue. SDNode::Val is now
accessed via SDNode::getNode.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63240 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-28 21:36:46 +00:00
Duncan Sands
1465d61bdd Rename getAnalysisToUpdate to getAnalysisIfAvailable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63198 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-28 13:14:17 +00:00
Mikhail Glushenkov
5303c75a49 Update the generated docs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63173 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-28 03:47:38 +00:00
Nate Begeman
34509841e7 Add some documentation for address-space-based access to the segment registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62986 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-26 02:54:45 +00:00
Dan Gohman
d5b455f6b0 Reality-check the FAQ entry for "Can I use LLVM to convert C++ to C?"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62961 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-25 16:04:50 +00:00
Dan Gohman
d8791e5ed7 Add more documentation mentioning the limitations due to PR2660.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62919 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-24 15:58:40 +00:00
Dan Gohman
c766f7234a Add a few more notes about LLVM IR features that codegen doesn't
yet support.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62739 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-22 01:39:38 +00:00
Mikhail Glushenkov
1421b7bc23 Mimic gcc behaviour with regard to response files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62688 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-21 13:14:02 +00:00
Mikhail Glushenkov
7059d47a6e Support for multi-valued options in CommandLine
Makes possible to specify options that take multiple arguments (a-la
-sectalign on Darwin). See documentation for details.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62372 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-16 22:54:19 +00:00
Duncan Sands
81d05c2ae2 Grammar fix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62319 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-16 09:29:46 +00:00
Rafael Espindola
bb46f52027 Add the private linkage.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62279 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-15 20:18:42 +00:00
Mikhail Glushenkov
f9b1d79a54 Some small documentation fixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62251 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-15 02:42:40 +00:00
Mikhail Glushenkov
564b75a4c6 Clarify the documentation a bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62249 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-15 02:04:54 +00:00
Dan Gohman
f3e60bd8ee Document several current CodeGen limitations in LangRef.html.
Patches for any of these are welcome!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62120 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-12 23:12:39 +00:00
Dan Gohman
7956412470 The LLVM Assembly Language Reference incorrectly stated that the
prefix used for dll{import,export} is _imp__; it is actually __imp_.
Patch by Mahadevan R!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62103 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-12 21:35:55 +00:00
Dan Gohman
30e5e55e7a Fix the instructions to work even when PATH does not contain ".".
Thanks to Martin Geisse for pointing this out!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62102 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-12 21:29:24 +00:00
Duncan Sands
ceb4d1aecb Rename getABITypeSize to getTypePaddedSize, as
suggested by Chris.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62099 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-12 20:38:59 +00:00
Chris Lattner
734660a9cd remove some dead options.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62095 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-12 19:02:50 +00:00
Chris Lattner
e7886e461b Implement PR3313, and while I'm at it address a very FAQ.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62048 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-11 20:53:49 +00:00
Dan Gohman
398873c032 Fix the example syntax for named sections.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62033 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-11 00:40:00 +00:00
Mikhail Glushenkov
f8c430b3da Add a --check-graph option to llvmc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61989 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-09 16:16:27 +00:00
Gabor Greif
fd095b6389 Get rid of the tagging functions and use PointerIntPair.
This means that we have to include an additional header.

This patch should be functionally equivalent. I cannot outrule any performance
degradation, though I do not expect any.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61694 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-05 16:05:32 +00:00
Dan Gohman
81e21674a6 A few more whitespace tidyments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61655 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-04 23:49:44 +00:00
Dan Gohman
2a08c53238 Tidy whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61653 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-04 23:44:43 +00:00
Misha Brukman
b0fa430e1f * Wrap command line flag in <tt>
* Wrapped long lines in code section


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61601 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-03 02:35:05 +00:00
Misha Brukman
98117cdbd6 So *this* is where all the trailing whitespace in file header comments come
from: copy-pasted straight from the coding standards doc!

Oh, the irony.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61586 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-02 16:58:42 +00:00
Chris Lattner
01bb8b0c36 lex and bison aren't needed to build llvm anymore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61560 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-02 07:10:51 +00:00
Chris Lattner
0c7b39fb56 new non-ambiguous syntax.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61559 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-02 07:02:56 +00:00
Oscar Fuentes
0c913735c7 CMake: Added some VC++ specific info to CMake.html.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61521 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-31 14:36:41 +00:00
Misha Brukman
8722a2cf44 * Updated TOC and fixed named anchors
* Simplified section header marking 


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61482 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-29 21:33:30 +00:00
Misha Brukman
9e6b68dc1f Minimize the width of the notes region: it will end where the text ends, if the
line of text is short enough, instead of stretching all the way to the right
margin.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61481 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-29 21:25:09 +00:00
Misha Brukman
0427f7a4af Simplified marking code regions with a single <pre> rather than
a (<div>, <pre>) combo.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61480 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-29 21:20:51 +00:00
Misha Brukman
740e3db203 Center the legal note to give it even padding on left and right, and make it
stand out better.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61475 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-29 19:55:01 +00:00
Misha Brukman
ccd029507e Cleanup: clarify llvm-gcc version and package name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61474 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-29 19:38:58 +00:00
Duncan Sands
6531d477a2 Clarify a bit. Based on feedback by Talin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61470 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-29 15:27:32 +00:00
Nick Lewycky
f23d0d392a Resubmit support for the 'nocapture' attribute.
The problematic part of this patch is that we were out of attribute bits,
requiring some fancy bit hacking to make it fit (by shrinking alignment)
without breaking existing users or the file format.

This change will require users to rebuild llvm-gcc to match llvm.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61239 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-19 06:39:12 +00:00
Nick Lewycky
78eb804068 Recommit this grammar fix that was backed out along with nocapture.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61189 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-18 02:15:05 +00:00
Misha Brukman
a54d4b27b6 Simplified marking code regions -- no need to use <div> to surround <pre> tags.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61143 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-17 18:11:40 +00:00
Misha Brukman
b61065598e Instead of referring to the license file in the 2.3 release, refer to the
always-current SVN version.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61142 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-17 18:06:53 +00:00
Misha Brukman
9474d019ee Added mention of the RELEASE_24 tag for the 2.4 release.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61138 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-17 16:27:23 +00:00
Mikhail Glushenkov
2d0484c02c Update also the generated docs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61118 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-17 02:47:30 +00:00
Bill Wendling
6fa311c233 Temporarily revert r61019, r61030, and r61040. These were breaking LLVM Release
builds.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61094 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-16 19:06:48 +00:00
Misha Brukman
64722e5163 * Comply with HTML 4.01 Strict
* Added code-region markings to code sections to make them stand out
* Added pre.doc_code class to llvm.css to simplify marking code regions


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61072 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-16 03:07:49 +00:00
Misha Brukman
96e0081251 * Comply with HTML 4.01 Strict standard
* Converted absolute links to llvm.org/docs to relative links
* Fixed spelling and s/;/:/, as needed


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61071 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-16 02:54:22 +00:00
Nick Lewycky
e642658480 Introducing nocapture, a parameter attribute for pointers to indicate that the
callee will not introduce any new aliases of that pointer.

The attributes had all bits allocated already, so I decided to collapse
alignment. Alignment was previously stored as a 16-bit integer from bits 16 to
32 of the attribute, but it was required to be a power of 2. Now it's stored in
log2 encoded form in five bits from 16 to 21. That gives us 11 more bits of
space.

You may have already noticed that you only need four bits to encode a 16-bit
power of two, so why five bits? Because the AsmParser accepted 32-bit
alignments, even though we couldn't store them (they were silently discarded).
Now we can store them in memory, but not in the bitcode.

The bitcode format was already storing these as 64-bit VBR integers. So, the
bitcode format stays the same, keeping the alignment values stored as 16 bit
raw values. There's some hideous code in the reader and writer that deals with
this, waiting to be ripped out the moment we run out of bits again and have to
replace the parameter attributes table encoding.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61019 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-15 01:34:58 +00:00
Nick Lewycky
01557ce1b1 Clarify the meaning of the NoAlias response. The plan is to refer to this from
a future version of LangRef.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61010 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-14 21:08:48 +00:00
Misha Brukman
3c8da59482 Fixed HTML validator warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61005 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-14 08:01:51 +00:00
Misha Brukman
98a4ec700e CSS cleanup:
* Lowercased all HTML element names
* Standardized spacing around { and }
* removed class "doc_table_nw": grep finds no uses


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61004 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-14 07:20:36 +00:00
Mikhail Glushenkov
23f522a545 Add a comment to the auto-generated docs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60985 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-13 17:51:47 +00:00