1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
Commit Graph

4162 Commits

Author SHA1 Message Date
Bill Wendling
d2c3547b52 Add mention of AddressSanitizer to external OS projects.
llvm-svn: 142991
2011-10-26 00:17:54 +00:00
Bill Wendling
46d9d200ce Add mention of Mono to external OS projects.
llvm-svn: 142990
2011-10-26 00:16:17 +00:00
Bill Wendling
66929f5287 Add mention of ClamAV to external OS projects.
llvm-svn: 142989
2011-10-26 00:14:36 +00:00
Bill Wendling
e523b635e1 Add mention of Renderscript to external OS projects.
llvm-svn: 142988
2011-10-26 00:12:04 +00:00
Bill Wendling
e77ce5750c Add mention of GHC to external OS projects.
llvm-svn: 142987
2011-10-26 00:09:55 +00:00
Bill Wendling
fa4aca564b Add mention of SAFECode to external OS projects.
llvm-svn: 142966
2011-10-25 20:40:26 +00:00
Bill Wendling
738c022053 Add mention of Pure to external OS projects.
llvm-svn: 142965
2011-10-25 20:39:06 +00:00
Bill Wendling
3f49174a02 Add mention of Portable OpenCL to external OS projects.
llvm-svn: 142963
2011-10-25 20:37:45 +00:00
Bill Wendling
ff1f573f03 Add mention of gwScript to external OS projects.
llvm-svn: 142960
2011-10-25 20:35:31 +00:00
Bill Wendling
cc63f08cc3 Add mention of Tart to external OS projects.
llvm-svn: 142955
2011-10-25 20:27:37 +00:00
Bill Wendling
20fc5e9b55 Add TTA-based Co-design Environment to external OS projects.
llvm-svn: 142954
2011-10-25 20:24:32 +00:00
Bruno Cardoso Lopes
066032210c According to Mips folks, the backend is now generally reliable (they can
compile and use a bunch of stuff using o32 abi). Also the rt-rk.com team
claims that the JIT support they contributed, is complete for the mips
"static" relocation model.

llvm-svn: 142950
2011-10-25 20:09:31 +00:00
Bill Wendling
e0e6103098 Comment out external projects so that they can be refreshed for 3.0.
llvm-svn: 142893
2011-10-25 01:01:42 +00:00
Dan Gohman
77125e4240 Remove the Blackfin backend.
llvm-svn: 142880
2011-10-25 00:05:42 +00:00
Dan Gohman
b54d296fd4 Remove the SystemZ backend.
llvm-svn: 142878
2011-10-24 23:48:32 +00:00
Tanya Lattner
84bb012d55 Revert r141657 for now. This has broken css and changed links on llvm.org. I'd like to understand exactly why the links have changed and if a newer doxygen is required. This may be reapplied once we upgrade on llvm.org and it is fully tested.
llvm-svn: 142686
2011-10-21 20:51:54 +00:00
David Greene
4aa2c51f37 Document Paste
Document paste as a shorthand for !strconcat.

llvm-svn: 142528
2011-10-19 13:04:59 +00:00
David Greene
7183d2e28b Document NAME
Document NAME as a special member of def records that should
not be defined anywhere else.

llvm-svn: 142527
2011-10-19 13:04:56 +00:00
Bill Wendling
ce26e6190f Remove mention of llvm-gcc and add mention of dragonegg.
llvm-svn: 142243
2011-10-17 20:28:54 +00:00
Bill Wendling
f249f434e0 Install the PNG file as well. PR4780.
llvm-svn: 142125
2011-10-16 08:24:30 +00:00
Bill Wendling
2e33fb0c40 Update tutorial to reflect the current APIs. Also correct a small omission in
LangImpl6.html (it needed to defined the 'binary :' operator).
PR9052

llvm-svn: 142123
2011-10-16 08:06:54 +00:00
Bill Wendling
6cd90b23d3 Enable CREATE_SUBDIRS for a performance win, because there are a lot of files being generated.
llvm-svn: 142112
2011-10-16 06:43:10 +00:00
NAKAMURA Takumi
9ef901972f CMake: Introduce LLVM_CLANG_SOURCE_DIR, "tools/clang" by default. Clang will not be built if LLVM_CLANG_SOURCE_DIR="" or ${LLVM_CLANG_SOURCE_DIR}/CMakeLists.txt is not found.
llvm-svn: 142103
2011-10-16 02:54:33 +00:00
Douglas Gregor
ff1ba360c7 Mention some of the improvements in Clang 3.0 over 2.9.
llvm-svn: 142029
2011-10-15 00:48:01 +00:00
Lang Hames
b0db984fab Fixed typo.
llvm-svn: 141906
2011-10-13 23:04:49 +00:00
Eli Friedman
e702d68556 Enhance the memdep interface so that users can tell the difference between a dependency which cannot be calculated and a path reaching the entry point of the function. This patch introduces isNonFuncLocal, which replaces isUnknown in some cases.
Patch by Xiaoyi Guo.

llvm-svn: 141896
2011-10-13 22:14:57 +00:00
NAKAMURA Takumi
ca62ac7536 docs/CMake.html: Clarify LLVM_LIT_TOOLS_DIR as :PATH.
llvm-svn: 141872
2011-10-13 17:36:02 +00:00
Chris Lattner
0d2ef52b69 target data is a contract with the code generator, not the "processor"
llvm-svn: 141734
2011-10-11 23:02:17 +00:00
Chris Lattner
9795434c0b improve some of the documentation around target data layout strings.
llvm-svn: 141733
2011-10-11 23:01:39 +00:00
Eric Christopher
57c57a3260 Add a new wrapper node for a DILexicalBlock that encapsulates it and a
file. Since it should only be used when necessary propagate it through
the backend code generation and tweak testcases accordingly.

This helps with code like in clang's test/CodeGen/debug-info-line.c where
we have multiple #line directives within a single lexical block and want
to generate only a single block that contains each file change.

Part of rdar://10246360

llvm-svn: 141729
2011-10-11 22:59:11 +00:00
Daniel Dunbar
48c24625fe Clean up a few references to System/. We still have docs/SystemLibrary.html
lying around...

llvm-svn: 141703
2011-10-11 20:02:52 +00:00
Lang Hames
77c4f6fc53 Fixed docs to reflect the proper default value and behaviour of the natural stack alignment.
llvm-svn: 141687
2011-10-11 17:50:14 +00:00
Duncan Sands
9f61f160f8 Mention the cmake build guide on the main docs page.
llvm-svn: 141674
2011-10-11 16:35:07 +00:00
Bill Wendling
bdbb880377 Update to a newer doxygen version. PR8214. Patch by Jeremy Huddleston.
llvm-svn: 141657
2011-10-11 07:25:38 +00:00
Bill Wendling
aeb63260c7 Minor modifications to make the Hello World example resemble the Hello World
pass in the tree. Also some minor formatting changes.
PR9413

llvm-svn: 141655
2011-10-11 07:03:52 +00:00
Bill Wendling
093fd0ca05 Use the proper name for "externally visible" linkage -- 'external'. This is the
keyword in LLVM for externally visible linkage.
PR10636

llvm-svn: 141649
2011-10-11 06:41:28 +00:00
Bill Wendling
2d42685bf0 Reword the SetVector description to reflect reality.
Patch by Michael Ilseman!

llvm-svn: 141648
2011-10-11 06:33:56 +00:00
Lang Hames
be4997db2f Add a natural stack alignment field to TargetData, and prevent InstCombine from
promoting allocas to preferred alignments that exceed the natural
alignment. This avoids some potentially expensive dynamic stack realignments.

The natural stack alignment is set in target data strings via the "S<size>"
option. Size is in bits and must be a multiple of 8. The natural stack alignment
defaults to "unspecified" (represented by a zero value), and the "unspecified"
value does not prevent any alignment promotions. Target maintainers that care
about avoiding promotions should explicitly add the "S<size>" option to their
target data strings.

llvm-svn: 141599
2011-10-10 23:42:08 +00:00
David Greene
ae3329d597 Remove Multidefs
Multidefs are a bit unwieldy and incomplete.  Remove them in favor of
another mechanism, probably for loops.

Revert "Make Test More Thorough"
Revert "Fix a typo."
Revert "Vim Support for Multidefs"
Revert "Emacs Support for Multidefs"
Revert "Document Multidefs"
Revert "Add a Multidef Test"
Revert "Update Test for Multidefs"
Revert "Process Multidefs"
Revert "Parser Multidef Support"
Revert "Lexer Support for Multidefs"
Revert "Add Multidef Data Structures"

llvm-svn: 141378
2011-10-07 18:25:05 +00:00
Evan Cheng
c956dcb888 Jakob is the code owner of register allocation and TableGen.
llvm-svn: 141372
2011-10-07 17:26:38 +00:00
David Greene
fa0c5e33b7 Fix a typo.
Fix the argument passed in the multidef example.

llvm-svn: 141243
2011-10-05 23:16:44 +00:00
David Greene
14c2928601 Document Multidefs
Provide documentation for multidefs, explaining in detail how they
work.

llvm-svn: 141236
2011-10-05 22:42:49 +00:00
David Chisnall
b71d0322f9 Tell people using the tutorial how to make it actually work.
llvm-svn: 141103
2011-10-04 19:36:30 +00:00
Rafael Espindola
0158ec7cce Remove last references to hotpatch.
llvm-svn: 141057
2011-10-04 03:08:43 +00:00
Rafael Espindola
4700f53cee Add the returns_twice attribute to LLVM.
llvm-svn: 141001
2011-10-03 14:45:37 +00:00
Torok Edwin
774d60816b some 3.0 API notes
llvm-svn: 140851
2011-09-30 13:07:52 +00:00
Eric Christopher
c22f168cd8 Add a note on removing LLVMC.
llvm-svn: 140715
2011-09-28 19:47:28 +00:00
Bill Wendling
8fff17764c Remove incorrect passage.
llvm-svn: 140631
2011-09-27 20:16:57 +00:00
Bill Wendling
430c373009 Add FCA to the lexicon.
llvm-svn: 140619
2011-09-27 18:44:01 +00:00
Bill Wendling
d5449fa478 Remove some not-really-correct wording.
llvm-svn: 140600
2011-09-27 10:37:28 +00:00
Bill Wendling
25243542da Fix grammar.
llvm-svn: 140564
2011-09-26 21:10:31 +00:00
Bill Wendling
8e22ba15b1 Remove dead table entry.
llvm-svn: 140563
2011-09-26 21:08:28 +00:00
Bill Wendling
df9218305c Some minor (and more involved) cleanups. No real context changes.
llvm-svn: 140561
2011-09-26 21:06:33 +00:00
Chris Lattner
162cff8104 Duncan owns dragonegg too, it's all his fault :)
llvm-svn: 140430
2011-09-23 22:46:43 +00:00
Chris Lattner
966f637ca8 Resynch intro to section with copyright section.
llvm-svn: 140326
2011-09-22 18:54:31 +00:00
Bill Wendling
0e0049385b Remove mention of llvm-gcc and llvm-g++. -Ministry of Truth
llvm-svn: 140163
2011-09-20 18:24:04 +00:00
Bill Wendling
ec67102f5c Remove some missed references to dead intrinsics.
llvm-svn: 140129
2011-09-20 01:14:54 +00:00
Bill Wendling
9950cfb492 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.

llvm-svn: 140128
2011-09-20 01:08:53 +00:00
Eric Christopher
a8a9910f4c More llvmc bits. Spotted by Benjamin on IRC.
llvm-svn: 140124
2011-09-20 00:42:28 +00:00
Eric Christopher
6cf9c3efe8 Remove more of llvmc and dependencies.
llvm-svn: 140121
2011-09-20 00:34:27 +00:00
Jakob Stoklund Olesen
884abe4bba X86 has asterisk-free inline asm support now.
Floating point stack inline asm works.

llvm-svn: 140033
2011-09-19 18:15:46 +00:00
Bill Wendling
f29791020b Remove obsolete .pod files.
llvm-svn: 140000
2011-09-18 12:52:55 +00:00
Bill Wendling
911a44ba8a Fix up the formating and change llvm-gcc to clang.
Note that this example doesn't work anymore!

llvm-svn: 139999
2011-09-18 12:51:05 +00:00
Bill Wendling
2b453ef022 Remove mention of llvm-gcc/llvm-g++ from doc.
llvm-svn: 139998
2011-09-18 12:37:20 +00:00
Chad Rosier
01ea3b0adf Add -rfunc and -rglob options to llvm-extract to support regular
expression matching.

llvm-svn: 139945
2011-09-16 21:09:17 +00:00
Nick Lewycky
1226a13418 s/SequeuentiallyConsistent/SequentiallyConsistent/g
llvm-svn: 139481
2011-09-11 15:50:05 +00:00
Nick Lewycky
9f071eb204 Fix verb tense agreement.
llvm-svn: 139480
2011-09-11 15:30:08 +00:00
Devang Patel
8a2e622f38 Update docs to reflect recent addition of new CompileUnit elements.
llvm-svn: 139374
2011-09-09 17:07:15 +00:00
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
Bill Wendling
3f24afed54 Fix some validation errors.
llvm-svn: 136590
2011-07-31 06:45:03 +00:00
Bill Wendling
8a625cebd2 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).

llvm-svn: 136589
2011-07-31 06:30:59 +00:00
Bill Wendling
57ddbb84ac Revert r136253, r136263, r136269, r136313, r136325, r136326, r136329, r136338,
r136339, r136341, r136369, r136387, r136392, r136396, r136429, r136430, r136444,
r136445, r136446, r136253 pending review.

llvm-svn: 136556
2011-07-30 05:42:50 +00:00
Eli Friedman
f6797ffc9a 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.

llvm-svn: 136404
2011-07-28 21:48:00 +00:00
Bill Wendling
b20cfdfe95 Merge the contents from exception-handling-rewrite to the mainline.
This adds the new instructions 'landingpad' and 'resume'.

llvm-svn: 136253
2011-07-27 20:18:04 +00:00
Devang Patel
cd7dd596b2 Update document listing DIVariable elements to reflect recent changes.
llvm-svn: 136228
2011-07-27 18:14:50 +00:00
Bill Wendling
470df5ce10 Fix a typo.
llvm-svn: 136133
2011-07-26 20:42:28 +00:00
Andrew Trick
0219419a01 Updating stale documentation on regalloc modes.
llvm-svn: 136112
2011-07-26 18:31:49 +00:00
Bill Wendling
82fa07e47a Clean up the HTML here a bit.
llvm-svn: 136074
2011-07-26 10:41:15 +00:00
Bill Wendling
5b637eedcd Describe the reasoning for compact unwind in better terms. Thanks to Nick Kledzik for the description.
llvm-svn: 136064
2011-07-26 07:58:09 +00:00
Eli Friedman
50291d09da 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.

llvm-svn: 136009
2011-07-25 23:16:38 +00:00
Nick Lewycky
d18e87a4dd 80 columns.
llvm-svn: 135972
2011-07-25 21:13:23 +00:00
Bill Wendling
90adf00b91 Fix some typos.
llvm-svn: 135956
2011-07-25 20:25:03 +00:00
Bill Wendling
27bbd5aa2f An initial description of the compact unwind encoding.
llvm-svn: 135955
2011-07-25 20:19:48 +00:00
Rafael Espindola
c04ccde860 Add uwtable to the langref.
llvm-svn: 135913
2011-07-25 15:27:59 +00:00
Jay Foad
6513dac6e2 Convert GetElementPtrInst to use ArrayRef.
llvm-svn: 135904
2011-07-25 09:48:08 +00:00
Chris Lattner
ec448a31de clarify that opaque is actually a struct type, PR10430
llvm-svn: 135861
2011-07-23 19:59:08 +00:00
Chris Lattner
418c6d4374 how about that, StringRef doesn't allow any mutation, thanks to
Frits for straightening me out.

llvm-svn: 135856
2011-07-23 17:18:57 +00:00
Chris Lattner
410e97a81b add section to ToC
llvm-svn: 135811
2011-07-22 21:36:29 +00:00
Chris Lattner
b687e3c0e6 write the long-overdue strings section of the data structure guide.
llvm-svn: 135809
2011-07-22 21:34:12 +00:00
Chris Lattner
2e2fa87d6b move the section for string-like containers to follow the section for sequential containers.
llvm-svn: 135799
2011-07-22 20:46:49 +00:00
Jay Foad
42463ed852 Convert IRBuilder::CreateGEP and IRBuilder::CreateInBoundsGEP to use
ArrayRef.

llvm-svn: 135761
2011-07-22 08:16:57 +00:00
Eli Friedman
cbbabe6d39 Some LangRef tweaks, per Dan's comments.
llvm-svn: 135744
2011-07-22 03:04:45 +00:00
Jay Foad
0d9ce71ae1 Sort case-insensitively.
llvm-svn: 135674
2011-07-21 14:42:51 +00:00
Jay Foad
d4458dd707 Convert ConstantExpr::getGetElementPtr and
ConstantExpr::getInBoundsGetElementPtr to use ArrayRef.

llvm-svn: 135673
2011-07-21 14:31:17 +00:00
NAKAMURA Takumi
83acc80027 docs/GettingStarted.html: Tweak style.
llvm-svn: 135637
2011-07-20 23:37:51 +00:00
NAKAMURA Takumi
4634322bf4 docs/GettingStarted.html: Fix a typo and tweak a command line.
llvm-svn: 135632
2011-07-20 22:58:28 +00:00
Eli Friedman
d9ac7681be Commit LangRef changes for LLVM concurrency model. Start of supporting C++0x memory model and atomics. See thread on llvmdev titled "Reviving the new LLVM concurrency model".
llvm-svn: 135624
2011-07-20 21:35:53 +00:00
Bob Wilson
c7cb9841ca Revert "Update docs to reflect r135457."
This reverts commit ba034c0a2e71303c7cf3f43ca8e69dc8436b32e2.

llvm-svn: 135485
2011-07-19 16:31:58 +00:00
Jay Foad
bbbf29aab7 Convert SimplifyGEPInst to use ArrayRef.
llvm-svn: 135482
2011-07-19 15:07:52 +00:00
Jay Foad
83a0e1fa99 Convert gep_type_begin and gep_type_end to use ArrayRef.
llvm-svn: 135481
2011-07-19 14:42:50 +00:00
Jay Foad
0974b71f17 Convert TargetData::getIndexedOffset to use ArrayRef.
llvm-svn: 135478
2011-07-19 14:01:37 +00:00