Commit Graph

4073 Commits

Author SHA1 Message Date
Evan Cheng
b76761351f Jakob is the code owner of register allocation and TableGen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141372 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-07 17:26:38 +00:00
David Greene
4413b509e8 Fix a typo.
Fix the argument passed in the multidef example.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141243 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-05 23:16:44 +00:00
David Greene
112d959e32 Document Multidefs
Provide documentation for multidefs, explaining in detail how they
work.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141236 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-05 22:42:49 +00:00
David Chisnall
c7d93bec47 Tell people using the tutorial how to make it actually work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141103 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-04 19:36:30 +00:00
Rafael Espindola
b3c4e26dc5 Remove last references to hotpatch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141057 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-04 03:08:43 +00:00
Rafael Espindola
25456ef74c Add the returns_twice attribute to LLVM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141001 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-03 14:45:37 +00:00
Torok Edwin
f16e2d4b2a some 3.0 API notes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140851 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-30 13:07:52 +00:00
Eric Christopher
90d6ec5f14 Add a note on removing LLVMC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140715 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-28 19:47:28 +00:00
Bill Wendling
100a371725 Remove incorrect passage.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140631 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-27 20:16:57 +00:00
Bill Wendling
ab15bf7658 Add FCA to the lexicon.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140619 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-27 18:44:01 +00:00
Bill Wendling
24771028a0 Remove some not-really-correct wording.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140600 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-27 10:37:28 +00:00
Bill Wendling
a69d998664 Fix grammar.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140564 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-26 21:10:31 +00:00
Bill Wendling
99aa6b08db Remove dead table entry.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140563 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-26 21:08:28 +00:00
Bill Wendling
2a6b0732ee Some minor (and more involved) cleanups. No real context changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140561 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-26 21:06:33 +00:00
Chris Lattner
b0387f9e06 Duncan owns dragonegg too, it's all his fault :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140430 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-23 22:46:43 +00:00
Chris Lattner
5d8f43fdda Resynch intro to section with copyright section.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140326 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-22 18:54:31 +00:00
Bill Wendling
e5a789627a Remove mention of llvm-gcc and llvm-g++. -Ministry of Truth
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140163 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-20 18:24:04 +00:00
Bill Wendling
3c05196e2a Remove some missed references to dead intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140129 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-20 01:14:54 +00:00
Bill Wendling
4a065ddc59 Update the EH doc to reflect the new EH model.
This basically involved removing references to llvm.eh.exception,
llvm.eh.selector, and llvm.eh.resume and replacing them with references to the
landingpad and resume instructions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140128 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-20 01:08:53 +00:00
Eric Christopher
78d0835969 More llvmc bits. Spotted by Benjamin on IRC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140124 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-20 00:42:28 +00:00
Eric Christopher
eae5a13078 Remove more of llvmc and dependencies.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140121 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-20 00:34:27 +00:00
Jakob Stoklund Olesen
f22e6722a1 X86 has asterisk-free inline asm support now.
Floating point stack inline asm works.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140033 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-19 18:15:46 +00:00
Bill Wendling
bed95e01ff Remove obsolete .pod files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140000 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-18 12:52:55 +00:00
Bill Wendling
88816ec963 Fix up the formating and change llvm-gcc to clang.
Note that this example doesn't work anymore!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139999 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-18 12:51:05 +00:00
Bill Wendling
ea55c83e7f Remove mention of llvm-gcc/llvm-g++ from doc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139998 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-18 12:37:20 +00:00
Chad Rosier
4e0a55d0d1 Add -rfunc and -rglob options to llvm-extract to support regular
expression matching.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139945 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-16 21:09:17 +00:00
Nick Lewycky
e4481d8ce5 s/SequeuentiallyConsistent/SequentiallyConsistent/g
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139481 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-11 15:50:05 +00:00
Nick Lewycky
5366ca4e06 Fix verb tense agreement.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139480 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-11 15:30:08 +00:00
Devang Patel
9b4a2ac196 Update docs to reflect recent addition of new CompileUnit elements.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139374 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-09 17:07:15 +00:00
Duncan Sands
4a544a79bd 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139140 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-06 13:37:06 +00:00
Chandler Carruth
cb8d8fa8c0 Update the CMake documentation to the correct variables.
Patch by arrowdodger!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139106 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-04 23:24:13 +00:00
Rafael Espindola
f940a1a869 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138841 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-30 23:03:45 +00:00
Rafael Espindola
2ac6b01854 Preliminary documentation in docs/SegmentedStacks.html.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138823 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-30 20:25:49 +00:00
Tobias Grosser
d36d2db62a Update docs: Bugpoint understands -O[123]
Eli added this in revision 132695.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138805 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-30 18:26:11 +00:00
Eli Friedman
c264b2f693 Some minor updates to atomic acquire/release docs in LangRef.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138472 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-24 20:28:39 +00:00
Rafael Espindola
3395fe1e4b Fix an example in the documentation.
Patch by Sanjoy Das!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138346 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-23 18:26:56 +00:00
NAKAMURA Takumi
2026de255e docs/ReleaseNotes.html: Mention that Windows 2000 will not be supported any more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138297 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-22 23:22:05 +00:00
Eli Friedman
234bccd194 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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138274 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-22 21:35:27 +00:00
Devang Patel
93d39be530 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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138145 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-19 23:28:12 +00:00
John Criswell
e865c035fd Fixed some punctuation. Sentences can be combined with semi-colons but not
commas.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138043 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-19 16:57:55 +00:00
Devang Patel
94c7ddb6f5 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.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137778 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-16 22:09:43 +00:00
Devang Patel
6326a4238d Add a finalize() hook, that'll let DIBuilder construct compile unit lazily.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137673 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-15 23:00:00 +00:00
Eli Friedman
266246c0ed Fix the getelementptr description so it is extremely clear that array indices passed to getelementptr are signed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137538 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-12 23:37:55 +00:00
Eli Friedman
f03bb260c9 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.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137527 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-12 22:50:01 +00:00
Eli Friedman
91a44dd9cc Some reorganization of atomic docs. Added explicit section for NonAtomic. Added example for illegal non-atomic operation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137520 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-12 21:50:54 +00:00
Bill Wendling
e6e8826870 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137501 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-12 20:24:12 +00:00
Chris Lattner
c513309224 apparently variable naming conventions never got added, document the
prevailing convention.  Thanks to Dave Zarzycki for the patch.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137497 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-12 19:49:16 +00:00
Chris Lattner
9a5ffbfa6e minor typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137496 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-12 19:48:19 +00:00
Chris Lattner
aa175c37d1 fix one reference that slipped through, thanks Eli
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137488 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-12 18:12:40 +00:00
Chris Lattner
2c38d65fd9 add new accessors to reflect new terminology in struct types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137468 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-12 17:31:02 +00:00
NAKAMURA Takumi
3c757ef2ef docs/GettingStarted.html: [Git] Add instructions how to generate patchset with Git.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137444 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-12 07:48:06 +00:00
NAKAMURA Takumi
7a362f4111 docs/GettingStarted.html: [Git] Mention branch.master.rebase for the tracking branch.
Thanks to Jeff Yasskin to reword.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137443 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-12 07:48:01 +00:00
NAKAMURA Takumi
24ad111a05 docs/GettingStarted.html: [Git] Split the subsubsection for committer's section.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137442 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-12 07:47:55 +00:00
NAKAMURA Takumi
b5bb29c71f docs: Update HTML markup(s).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137433 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-12 06:17:17 +00:00
NAKAMURA Takumi
3cc8482b06 docs/llvm.css: Introduce <blockquote><pre>. It may be used as blockquoted "doc_code".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137432 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-12 06:17:11 +00:00
Eli Friedman
79d7de7650 Misc atomic doc tweaks; reordering operations across Acquire/Release can be beneficial.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137425 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-12 03:38:32 +00:00
Eli Friedman
d577a0669b Fix up this paragraph (including a nasty typo).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137408 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-12 01:26:06 +00:00
Andrew Trick
a1b953b61a Clarify the definition of SequentiallyConsistent operations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137403 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-12 00:36:38 +00:00
Eli Friedman
5093fe69b4 Fix mismatched tag.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137388 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-11 23:48:52 +00:00
Eli Friedman
1bf4ad4870 Revision to Atomics guide, per Chris's comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137386 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-11 23:44:25 +00:00
Justin Holewinski
dceb002f82 PTX: Add basic documentation to CodeGenerator.html
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137315 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-11 17:34:16 +00:00
Eli Friedman
e2d8cf77c8 Changes per Jeffrey's comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137243 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-10 20:17:43 +00:00
Eli Friedman
8fa281a471 Fix minor typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137177 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-09 23:26:12 +00:00
Eli Friedman
21006d40ac Representation of 'atomic load' and 'atomic store' in IR.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137170 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-09 23:02:53 +00:00
Eli Friedman
138515df66 First draft of the practical guide to atomics.
This is mostly descriptive of the intended state once atomic load and store have landed.  



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137145 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-09 21:07:10 +00:00
Bill Wendling
bf13ee1941 Clean up the grammar for the landingpad instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137042 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-08 08:06:05 +00:00
Bill Wendling
2905c32335 Fix typo found by John.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137040 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-08 07:58:58 +00:00
Jay Foad
f42e9b2491 Reword.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136866 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-04 10:43:43 +00:00
Bill Wendling
2626dba9c5 Remove the LowerSetJmp pass. It wasn't used effectively by any of the targets.
This is some of my original LLVM code. *wipes tear*


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136821 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-03 22:18:20 +00:00
Bill Wendling
e4ad50bb43 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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136799 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-03 18:37:32 +00:00
Bill Wendling
b7a01353ea Explain how clauses are applied.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136790 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-03 17:17:06 +00:00
Bill Wendling
f78faf84a8 Add the documentation for the 'landingpad' instruction. Improve the 'invoke'
instruction's documentation to reference the landingpad and resume instructions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136729 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-02 21:52:38 +00:00
Chris Lattner
6445ecbdb9 no need to count the terminators.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136718 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-02 20:29:13 +00:00
Bill Wendling
086da7e680 Duncan's english is better than mine. :-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136684 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-02 06:39:13 +00:00
Bill Wendling
1600525385 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136683 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-02 06:20:17 +00:00
John McCall
74699fda15 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.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136673 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-02 01:38:19 +00:00
Eli Friedman
101c81da45 Minor wording tweak for memory model.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136668 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-02 01:15:34 +00:00
Roman Divacky
4d7ce32147 Fix a typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136646 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-01 20:38:27 +00:00
Bill Wendling
af75f0ca86 Fix some validation errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136591 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-31 06:47:33 +00:00
Bill Wendling
0246bb77db Fix some validation errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136590 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-31 06:45:03 +00:00
Bill Wendling
dccc03b242 Add the 'resume' instruction for the new EH rewrite.
This adds the 'resume' instruction class, IR parsing, and bitcode reading and
writing. The 'resume' instruction resumes propagation of an existing (in-flight)
exception whose unwinding was interrupted with a 'landingpad' instruction (to be
added later).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136589 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-31 06:30:59 +00:00
Bill Wendling
10c6d12a9f Revert r136253, r136263, r136269, r136313, r136325, r136326, r136329, r136338,
r136339, r136341, r136369, r136387, r136392, r136396, r136429, r136430, r136444,
r136445, r136446, r136253 pending review.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136556 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-30 05:42:50 +00:00
Eli Friedman
ff03048c13 LangRef and basic memory-representation/reading/writing for 'cmpxchg' and
'atomicrmw' instructions, which allow representing all the current atomic
rmw intrinsics.

The allowed operands for these instructions are heavily restricted at the
moment; we can probably loosen it a bit, but supporting general
first-class types (where it makes sense) might get a bit complicated,
given how SelectionDAG works.

As an initial cut, these operations do not support specifying an alignment,
but it would be possible to add if we think it's useful. Specifying an
alignment lower than the natural alignment would be essentially
impossible to support on anything other than x86, but specifying a greater
alignment would be possible.  I can't think of any useful optimizations which
would use that information, but maybe someone else has ideas.

Optimizer/codegen support coming soon.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136404 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28 21:48:00 +00:00
Bill Wendling
772fe17a6d Merge the contents from exception-handling-rewrite to the mainline.
This adds the new instructions 'landingpad' and 'resume'.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136253 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-27 20:18:04 +00:00
Devang Patel
0a2a306be2 Update document listing DIVariable elements to reflect recent changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136228 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-27 18:14:50 +00:00
Bill Wendling
194229e591 Fix a typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136133 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-26 20:42:28 +00:00
Andrew Trick
5acaeb5121 Updating stale documentation on regalloc modes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136112 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-26 18:31:49 +00:00
Bill Wendling
b3aa4715c1 Clean up the HTML here a bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136074 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-26 10:41:15 +00:00
Bill Wendling
75471d698f Describe the reasoning for compact unwind in better terms. Thanks to Nick Kledzik for the description.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136064 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-26 07:58:09 +00:00
Eli Friedman
47f3513dd5 Initial implementation of 'fence' instruction, the new C++0x-style replacement for llvm.memory.barrier.
This is just a LangRef entry and reading/writing/memory representation; optimizer+codegen support coming soon.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136009 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-25 23:16:38 +00:00
Nick Lewycky
f3379da7c6 80 columns.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135972 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-25 21:13:23 +00:00
Bill Wendling
3ef750d4b6 Fix some typos.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135956 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-25 20:25:03 +00:00
Bill Wendling
66bc5c602a An initial description of the compact unwind encoding.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135955 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-25 20:19:48 +00:00
Rafael Espindola
fbff0ec2c7 Add uwtable to the langref.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135913 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-25 15:27:59 +00:00
Jay Foad
a9203109f4 Convert GetElementPtrInst to use ArrayRef.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135904 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-25 09:48:08 +00:00
Chris Lattner
628ed39dcf clarify that opaque is actually a struct type, PR10430
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135861 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-23 19:59:08 +00:00
Chris Lattner
ec8f1ea22b how about that, StringRef doesn't allow any mutation, thanks to
Frits for straightening me out.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135856 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-23 17:18:57 +00:00
Chris Lattner
6682746454 add section to ToC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135811 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-22 21:36:29 +00:00
Chris Lattner
3b4f4179cd write the long-overdue strings section of the data structure guide.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135809 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-22 21:34:12 +00:00
Chris Lattner
7314a20a59 move the section for string-like containers to follow the section for sequential containers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135799 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-22 20:46:49 +00:00