1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 19:52:54 +01:00
Commit Graph

3994 Commits

Author SHA1 Message Date
Duncan Sands
6939ae53ac Split the init.trampoline intrinsic, which currently combines GCC's
init.trampoline and adjust.trampoline intrinsics, into two intrinsics
like in GCC.  While having one combined intrinsic is tempting, it is
not natural because typically the trampoline initialization needs to
be done in one function, and the result of adjust trampoline is needed
in a different (nested) function.  To get around this llvm-gcc hacks the
nested function lowering code to insert an additional parent variable
holding the adjust.trampoline result that can be accessed from the child
function.  Dragonegg doesn't have the luxury of tweaking GCC code, so it
stored the result of adjust.trampoline in the memory GCC set aside for
the trampoline itself (this is always available in the child function),
and set up some new memory (using an alloca) to hold the trampoline.
Unfortunately this breaks Go which allocates trampoline memory on the
heap and wants to use it even after the parent has exited (!).  Rather
than doing even more hacks to get Go working, it seemed best to just use
two intrinsics like in GCC.  Patch mostly by Sanjoy Das.

llvm-svn: 139140
2011-09-06 13:37:06 +00:00
Chandler Carruth
41b078f160 Update the CMake documentation to the correct variables.
Patch by arrowdodger!

llvm-svn: 139106
2011-09-04 23:24:13 +00:00
Rafael Espindola
3bb0f9391c Remove the old tail duplication pass. It is not used and is unable to update
ssa, so it has to be run really early in the pipeline. Any replacement
should probably use the SSAUpdater.

llvm-svn: 138841
2011-08-30 23:03:45 +00:00
Rafael Espindola
b1ed13e0e1 Preliminary documentation in docs/SegmentedStacks.html.
llvm-svn: 138823
2011-08-30 20:25:49 +00:00
Tobias Grosser
660f6d2616 Update docs: Bugpoint understands -O[123]
Eli added this in revision 132695.

llvm-svn: 138805
2011-08-30 18:26:11 +00:00
Eli Friedman
67b35cbeee Some minor updates to atomic acquire/release docs in LangRef.
llvm-svn: 138472
2011-08-24 20:28:39 +00:00
Rafael Espindola
5ad9eaf265 Fix an example in the documentation.
Patch by Sanjoy Das!

llvm-svn: 138346
2011-08-23 18:26:56 +00:00
NAKAMURA Takumi
ab26f3c65b docs/ReleaseNotes.html: Mention that Windows 2000 will not be supported any more.
llvm-svn: 138297
2011-08-22 23:22:05 +00:00
Eli Friedman
e8cbd06288 Some minor wording updates and cross-linking for atomic docs. Explicitly note that we don't try to portably define what volatile in LLVM IR means.
llvm-svn: 138274
2011-08-22 21:35:27 +00:00
Devang Patel
e4127d626e Do not use named md nodes to track variables that are completely optimized. This does not scale while doing LTO with debug info. New approach is to include list of variables in the subprogram info directly.
llvm-svn: 138145
2011-08-19 23:28:12 +00:00
John Criswell
1e3b4b2f5b Fixed some punctuation. Sentences can be combined with semi-colons but not
commas.

llvm-svn: 138043
2011-08-19 16:57:55 +00:00
Devang Patel
630d8ce36b Until now all debug info MDNodes referred to a root MDNode, a compile unit. This simplified handling of these needs in dwarf writer. However, one side effect of this is that during link time optimization all these MDNodes are _not_ uniqued. In other words there will be N number of MDNodes describing "int", "char" and all other types, which would suddenly grow when each object file starts using libraries like STL.
MDNodes graph structure such that compiler unit keeps track of important MDNodes and update dwarf writer to process mdnodes top-down instead of bottom up.

llvm-svn: 137778
2011-08-16 22:09:43 +00:00
Devang Patel
f1b61abc8c Add a finalize() hook, that'll let DIBuilder construct compile unit lazily.
llvm-svn: 137673
2011-08-15 23:00:00 +00:00
Eli Friedman
ca9b9f06ee Fix the getelementptr description so it is extremely clear that array indices passed to getelementptr are signed.
llvm-svn: 137538
2011-08-12 23:37:55 +00:00
Eli Friedman
baf0f69f9a Move "atomic" and "volatile" designations on instructions after the opcode
of the instruction.

Note that this change affects the existing non-atomic load and store
instructions; the parser now accepts both forms, and the change is noted
in the release notes.

llvm-svn: 137527
2011-08-12 22:50:01 +00:00
Eli Friedman
a274534196 Some reorganization of atomic docs. Added explicit section for NonAtomic. Added example for illegal non-atomic operation.
llvm-svn: 137520
2011-08-12 21:50:54 +00:00
Bill Wendling
4cbbcd4f82 Initial commit of the 'landingpad' instruction.
This implements the 'landingpad' instruction. It's used to indicate that a basic
block is a landing pad. There are several restrictions on its use (see
LangRef.html for more detail). These restrictions allow the exception handling
code to gather the information it needs in a much more sane way.

This patch has the definition, implementation, C interface, parsing, and bitcode
support in it.

llvm-svn: 137501
2011-08-12 20:24:12 +00:00
Chris Lattner
f3629f2b27 apparently variable naming conventions never got added, document the
prevailing convention.  Thanks to Dave Zarzycki for the patch.

llvm-svn: 137497
2011-08-12 19:49:16 +00:00
Chris Lattner
79a221790c minor typo
llvm-svn: 137496
2011-08-12 19:48:19 +00:00
Chris Lattner
72f9fbf34e fix one reference that slipped through, thanks Eli
llvm-svn: 137488
2011-08-12 18:12:40 +00:00
Chris Lattner
d666fbc755 add new accessors to reflect new terminology in struct types.
llvm-svn: 137468
2011-08-12 17:31:02 +00:00
NAKAMURA Takumi
02868897cc docs/GettingStarted.html: [Git] Add instructions how to generate patchset with Git.
llvm-svn: 137444
2011-08-12 07:48:06 +00:00
NAKAMURA Takumi
da50fb07b0 docs/GettingStarted.html: [Git] Mention branch.master.rebase for the tracking branch.
Thanks to Jeff Yasskin to reword.

llvm-svn: 137443
2011-08-12 07:48:01 +00:00
NAKAMURA Takumi
9e24849245 docs/GettingStarted.html: [Git] Split the subsubsection for committer's section.
llvm-svn: 137442
2011-08-12 07:47:55 +00:00
NAKAMURA Takumi
ecab34205a docs: Update HTML markup(s).
llvm-svn: 137433
2011-08-12 06:17:17 +00:00
NAKAMURA Takumi
1b975dd6ca docs/llvm.css: Introduce <blockquote><pre>. It may be used as blockquoted "doc_code".
llvm-svn: 137432
2011-08-12 06:17:11 +00:00
Eli Friedman
00e4369ab7 Misc atomic doc tweaks; reordering operations across Acquire/Release can be beneficial.
llvm-svn: 137425
2011-08-12 03:38:32 +00:00
Eli Friedman
60b18ddf69 Fix up this paragraph (including a nasty typo).
llvm-svn: 137408
2011-08-12 01:26:06 +00:00
Andrew Trick
3efc88b31f Clarify the definition of SequentiallyConsistent operations.
llvm-svn: 137403
2011-08-12 00:36:38 +00:00
Eli Friedman
15fda085c1 Fix mismatched tag.
llvm-svn: 137388
2011-08-11 23:48:52 +00:00
Eli Friedman
7f6e958efc Revision to Atomics guide, per Chris's comments.
llvm-svn: 137386
2011-08-11 23:44:25 +00:00
Justin Holewinski
08425ade9c PTX: Add basic documentation to CodeGenerator.html
llvm-svn: 137315
2011-08-11 17:34:16 +00:00
Eli Friedman
5c21e417bb Changes per Jeffrey's comments.
llvm-svn: 137243
2011-08-10 20:17:43 +00:00
Eli Friedman
306aa10c47 Fix minor typo.
llvm-svn: 137177
2011-08-09 23:26:12 +00:00
Eli Friedman
5a2d27800e Representation of 'atomic load' and 'atomic store' in IR.
llvm-svn: 137170
2011-08-09 23:02:53 +00:00
Eli Friedman
5927cb56e3 First draft of the practical guide to atomics.
This is mostly descriptive of the intended state once atomic load and store have landed.  

llvm-svn: 137145
2011-08-09 21:07:10 +00:00
Bill Wendling
0f2208f619 Clean up the grammar for the landingpad instruction.
llvm-svn: 137042
2011-08-08 08:06:05 +00:00
Bill Wendling
83c0ada603 Fix typo found by John.
llvm-svn: 137040
2011-08-08 07:58:58 +00:00
Jay Foad
7713b0b4c9 Reword.
llvm-svn: 136866
2011-08-04 10:43:43 +00:00
Bill Wendling
fdea9930ac Remove the LowerSetJmp pass. It wasn't used effectively by any of the targets.
This is some of my original LLVM code. *wipes tear*

llvm-svn: 136821
2011-08-03 22:18:20 +00:00
Bill Wendling
6eae915356 Go back to the old definition. It's not clear that a 'resume' can be 'outlined' from the function with the landing pad for all platforms.
llvm-svn: 136799
2011-08-03 18:37:32 +00:00
Bill Wendling
da7eb90ea1 Explain how clauses are applied.
llvm-svn: 136790
2011-08-03 17:17:06 +00:00
Bill Wendling
9f3e3462b8 Add the documentation for the 'landingpad' instruction. Improve the 'invoke'
instruction's documentation to reference the landingpad and resume instructions.

llvm-svn: 136729
2011-08-02 21:52:38 +00:00
Chris Lattner
a780c5c9f1 no need to count the terminators.
llvm-svn: 136718
2011-08-02 20:29:13 +00:00
Bill Wendling
ea8143f430 Duncan's english is better than mine. :-)
llvm-svn: 136684
2011-08-02 06:39:13 +00:00
Bill Wendling
b37af02067 Remove the LLVMBuildUnwind C API function.
The 'unwind' function is going away with the new EH rewrite. This is step 0 in
keeping front-ends from using it.

llvm-svn: 136683
2011-08-02 06:20:17 +00:00
John McCall
fcf5d9ff74 I am the code owner for Clang's IR generation; this has been true
for awhile, but it's good to make this official.  

Just to be clear, Doug and Ted "elected" me to this position.

Might as well add myself to the credits list while I'm at it.

llvm-svn: 136673
2011-08-02 01:38:19 +00:00
Eli Friedman
22875e2d35 Minor wording tweak for memory model.
llvm-svn: 136668
2011-08-02 01:15:34 +00:00
Roman Divacky
cda7c35eaf Fix a typo.
llvm-svn: 136646
2011-08-01 20:38:27 +00:00
Bill Wendling
108ce4478d Fix some validation errors.
llvm-svn: 136591
2011-07-31 06:47:33 +00:00