Commit Graph

4245 Commits

Author SHA1 Message Date
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
Jay Foad
0a2a60ace9 Convert IRBuilder::CreateGEP and IRBuilder::CreateInBoundsGEP to use
ArrayRef.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135761 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-22 08:16:57 +00:00
Eli Friedman
118973a2c5 Some LangRef tweaks, per Dan's comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135744 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-22 03:04:45 +00:00
Jay Foad
b60e851c03 Sort case-insensitively.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135674 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-21 14:42:51 +00:00
Jay Foad
dab3d29605 Convert ConstantExpr::getGetElementPtr and
ConstantExpr::getInBoundsGetElementPtr to use ArrayRef.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135673 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-21 14:31:17 +00:00
NAKAMURA Takumi
e65b7ecab8 docs/GettingStarted.html: Tweak style.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135637 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-20 23:37:51 +00:00
NAKAMURA Takumi
947431eb88 docs/GettingStarted.html: Fix a typo and tweak a command line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135632 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-20 22:58:28 +00:00
Eli Friedman
5b60e1b6fc 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".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135624 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-20 21:35:53 +00:00
Bob Wilson
66fc541abe Revert "Update docs to reflect r135457."
This reverts commit ba034c0a2e.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135485 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-19 16:31:58 +00:00
Jay Foad
b9b54ebfed Convert SimplifyGEPInst to use ArrayRef.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135482 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-19 15:07:52 +00:00
Jay Foad
ca12a2139e Convert gep_type_begin and gep_type_end to use ArrayRef.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135481 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-19 14:42:50 +00:00
Jay Foad
8fbbb39807 Convert TargetData::getIndexedOffset to use ArrayRef.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135478 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-19 14:01:37 +00:00
Jay Foad
1d2f569c34 Use ArrayRef in ConstantFoldInstOperands and ConstantFoldCall.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135477 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-19 13:32:40 +00:00
Devang Patel
ba034c0a2e Update docs to reflect r135457.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135458 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-19 01:04:39 +00:00
Jeffrey Yasskin
343c3a5005 Document how to maintain a git-svn clone of the LLVM git repositories.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135453 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-19 00:20:54 +00:00
Chris Lattner
d132430967 document this api change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135376 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-18 04:56:02 +00:00
Chris Lattner
9d69d4aadd introduce a new TinyPtrVector class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135365 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-18 01:40:02 +00:00
Eli Friedman
bc7d598cc1 A couple of minor fixes to the OCaml tutorial. PR10025 and PR10316. Patches by Damien Schoof!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135293 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-15 20:03:30 +00:00
Jay Foad
a3efbb15dd Convert CallInst and InvokeInst APIs to use ArrayRef.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135265 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-15 08:37:34 +00:00
Jay Foad
558d3762bc Mention all API changes I've made since 2.9 was branched.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135142 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-14 09:19:05 +00:00
Tobias Grosser
d475c10508 VectorType is also a SequentialType
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134979 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-12 11:37:02 +00:00
Chris Lattner
1afcace3a3 Land the long talked about "type system rewrite" patch. This
patch brings numerous advantages to LLVM.  One way to look at it
is through diffstat:
 109 files changed, 3005 insertions(+), 5906 deletions(-)

Removing almost 3K lines of code is a good thing.  Other advantages
include:

1. Value::getType() is a simple load that can be CSE'd, not a mutating
   union-find operation.
2. Types a uniqued and never move once created, defining away PATypeHolder.
3. Structs can be "named" now, and their name is part of the identity that
   uniques them.  This means that the compiler doesn't merge them structurally
   which makes the IR much less confusing.
4. Now that there is no way to get a cycle in a type graph without a named
   struct type, "upreferences" go away.
5. Type refinement is completely gone, which should make LTO much MUCH faster
   in some common cases with C++ code.
6. Types are now generally immutable, so we can use "Type *" instead 
   "const Type *" everywhere.

Downsides of this patch are that it removes some functions from the C API,
so people using those will have to upgrade to (not yet added) new API.  
"LLVM 3.0" is the right time to do this.

There are still some cleanups pending after this, this patch is large enough
as-is.




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134829 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-09 17:41:24 +00:00
Cameron Zwarich
abc43e69ea Use add instead of accumulate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134752 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-08 22:13:55 +00:00
Cameron Zwarich
33390848a7 Add an intrinsic and codegen support for fused multiply-accumulate. The intent
is to use this for architectures that have a native FMA instruction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134742 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-08 21:39:21 +00:00
Jakub Staszak
29057766f7 Add documenation about "branch_weight" metadata and __builtin_expect instruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134517 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-06 18:31:02 +00:00
Owen Anderson
f1ac465b67 Generalize @llvm.ctlz, @llvm.cttz, and @llvm.ctpop to work on vectors of integers, and fix the one optimization pass that I'm aware of that needs updating for this. At least one current target, ARM NEON, can implement these operations on vectors directly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134265 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-01 21:52:38 +00:00
Duncan Sands
eb7fe5df1b The enum was moved to ISDOpcodes.h.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134134 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-30 06:37:07 +00:00
Evan Cheng
0b0669a056 Add missing operand. rdar://9694169
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134078 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-29 17:14:00 +00:00
Dan Gohman
129bd56eeb Document nonlazybind.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133160 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-16 16:03:13 +00:00
Jakob Stoklund Olesen
f28987b76e Use set operations instead of plain lists to enumerate register classes.
This simplifies many of the target description files since it is common
for register classes to be related or contain sequences of numbered
registers.

I have verified that this doesn't change the files generated by TableGen
for ARM and X86. It alters the allocation order of MBlaze GPR and Mips
FGR32 registers, but I believe the change is benign.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133105 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-15 23:28:14 +00:00
Argyrios Kyrtzidis
81df089f86 Document ADT/PackedVector.h in "Programmer's Manual" doc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133077 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-15 19:56:01 +00:00
Bruno Cardoso Lopes
9a767330f5 Add one more argument to the prefetch intrinsic to indicate whether it's a data
or instruction cache access. Update the targets to match it and also teach
autoupgrade.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132976 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-14 04:58:37 +00:00
Chris Lattner
83f9467436 mention graph vis isn't available in Release builds.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132916 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-13 15:59:35 +00:00
Chad Rosier
7b5c20bbb8 Typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132730 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-07 20:03:13 +00:00
Andrew Trick
21ac25144d Corrections and additional information for "Creating and LLVM Project"
documentation. This should now reflect the current state of LLVM Makefiles.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132527 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-03 02:20:48 +00:00
Andrew Trick
0fb684dae2 whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132526 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-03 02:16:53 +00:00
Devang Patel
f729e91353 Fix html formatting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132345 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-31 18:06:14 +00:00
Devang Patel
e0bdc59321 Clarify documentation and remove guarantees that are not fulfilled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132344 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-31 17:45:27 +00:00
Chris Lattner
78e78b52c7 replace the intro tutorial from 2004 with a more recent work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132310 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-30 03:36:58 +00:00
John McCall
d7c1086201 Implement and document the llvm.eh.resume intrinsic, which is
transformed by the inliner into a branch to the enclosing landing pad
(when inlined through an invoke).  If not so optimized, it is lowered
DWARF EH preparation into a call to _Unwind_Resume (or _Unwind_SjLj_Resume
as appropriate).  Its chief advantage is that it takes both the
exception value and the selector value as arguments, meaning that there
is zero effort in recovering these;  however, the frontend is required
to pass these down, which is not actually particularly difficult.

Also document the behavior of landing pads a bit better, and make it
clearer that it's okay that personality functions don't always land at
landing pads.  This is just a fact of life.  Don't write optimizations that
rely on pushing things over an unwind edge.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132253 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-28 07:45:59 +00:00
Chad Rosier
e6291d02d1 Clean out the 2.9 Release Notes. Mostly limited to What's New in LLVM
and enhancements in sub-project status updates.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132227 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-27 22:50:46 +00:00
Chad Rosier
f94c9c136b Add change of crc32 intrinsic to release notes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132212 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-27 20:13:10 +00:00
Dan Gohman
08b280b0fe Fix copy+pastos.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132168 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-27 00:36:31 +00:00
Dan Gohman
b0b0da72e9 Update documentation: -basicaa does chaining these days.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132010 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-24 22:01:32 +00:00
Dan Gohman
4e9011cbac Document llvm.exp and llvm.pow.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131921 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-23 21:13:03 +00:00
Chris Lattner
01ebd566fa document thiscall, PR9101
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131873 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-22 22:28:47 +00:00
Chris Lattner
8645d1acc0 insertvalue takes a variable number of arguments, document this, fixing PR9935.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131850 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-22 07:18:08 +00:00
Chad Rosier
55756e0d6d Correct typos in TestingGuide.html
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131546 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-18 18:07:16 +00:00
Nick Lewycky
64f9fb1975 Fix errors in this llvm ir example.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131416 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-16 19:29:30 +00:00
Akira Hatanaka
325e66d81a 1. Keep lines in 80 columns.
2. Remove unused function.
3. Correct indentation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131028 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-06 22:11:29 +00:00
Bill Wendling
3f58a513e1 Document the automatic alias printing of InstAliases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130889 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-04 23:40:14 +00:00
Devang Patel
464f4ef2bd Use llvm.dbg.cu named metadata to collect compile units.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130756 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-03 16:18:28 +00:00
Oscar Fuentes
d4b0c6c3fa Update instructions: LLVM.cmake is now LLVMConfig.cmake
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130631 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-01 02:12:20 +00:00
NAKAMURA Takumi
780cc5f663 docs/doxygen.css: Tweak padding on memdoc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130493 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-29 09:59:12 +00:00
NAKAMURA Takumi
ca8d63b6fb docs/doxygen.css: Tweak style for readability.
A few styles are brought from http://llvm.org/test-doxygen/api/api.css

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130333 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-27 21:53:35 +00:00
Mikhail Glushenkov
fb88665d97 Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130091 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-24 14:17:37 +00:00
Andrew Trick
1611bcd6ac Comment edit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130047 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-23 03:27:19 +00:00
NAKAMURA Takumi
f5af6ada3b docs: Introduce cascading style <div> and <p> continued on <h[2-5]>.
<h2>Section Example</h2>
<div> <!-- h2+div is applied -->
<p>Section preamble.</p>

<h3>Subsection Example</h3>
<p> <!-- h3+p is applied -->
Subsection body
</p>

<!-- End of section body -->
</div>

FIXME: Care H5 better.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130040 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-23 00:30:22 +00:00
Devang Patel
5e06bb83f4 Let front-end tie subprogram declaration with subprogram definition directly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130028 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-22 23:10:17 +00:00
NAKAMURA Takumi
074eeaae30 docs/llvm.css: Introduce cascading style <div> and <p> continued on <h[2-5]>. For now, it is applied in AliasAnalysis.html and ReleaseNotes.html.
<h2>Section Example</h2>
<div> <!-- h2+div is applied -->
<p>Section preamble.</p>

<h3>Subsection Example</h3>
<p> <!-- h3+p is applied -->
Subsection body
</p>

<!-- End of section body -->
</div>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129901 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-21 01:52:00 +00:00
NAKAMURA Takumi
b5f74914cd docs/Passes.html: Fix a garbage.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129900 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-21 01:32:19 +00:00
NAKAMURA Takumi
05d0265fef docs: Use <Hn> as Heading elements instead of <DIV class="doc_foo">.
H1 ... doc_title
H2 ... doc_section
H3 ... doc_subsection
H4 ... doc_subsubsection

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129736 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-18 23:59:50 +00:00
NAKAMURA Takumi
06c6d9aeb0 docs: Redefine Heading elements as below;
H1 ... Title (and might be Chapter in future)
H2 ... Section
H3 ... Subsection
H4 ... Sub-subsection

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129683 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-18 01:17:51 +00:00
Devang Patel
e9db5e29e3 Introduce support to encode Objective-C property information in debugging information generated for an interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129624 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-16 00:11:51 +00:00
Douglas Gregor
3e03e5d2a9 Fix some broken links, from Matthieu Monrocq
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129609 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-15 21:21:31 +00:00
Chris Lattner
7a2bdde0a0 Fix a ton of comment typos found by codespell. Patch by
Luis Felipe Strano Moraes!



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129558 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-15 05:18:47 +00:00
Andrew Trick
b57b06647e Documented bugpoint --compile-custom --compile-command.
I've used it a few times to reduce unit tests and gotten one request for information on it. It's not easy to use correctly because bugpoint doesn't tell you when you're doing it wrong.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129507 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-14 05:05:36 +00:00
Jay Foad
d61895a4be Fix typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129437 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-13 13:03:56 +00:00
Dan Gohman
ca4cac4c74 Fix a hole in the definition of "dependence" used by trap values. Trap
values are also transmitted through branches which cause side effects to
be skipped altogether.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129404 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-12 23:05:59 +00:00
Oscar Fuentes
23ba1e4faa Document how to build a LLVM pass with CMake out of source.
Patch by arrowdodger!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129381 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-12 19:40:35 +00:00
NAKAMURA Takumi
ee69926b10 docs/CommandGuide/index.html: Fix CSS url to relative.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129268 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-11 03:27:38 +00:00
NAKAMURA Takumi
dd499c3dd2 docs/CommandLine.html: &quot;ize.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129267 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-11 03:27:31 +00:00
Oscar Fuentes
3447b4f01b CMake: support for using LLVM from client projects with find_package.
Patch by arrowdodger!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129247 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-10 16:17:49 +00:00
Oscar Fuentes
bbe9d344a1 Reword instructions for running tests on Visual Studio.
Suggested by Maël Hörz.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129237 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-10 01:41:55 +00:00
NAKAMURA Takumi
4d6deb099e docs/*.html: Make W3C HTML 4.01 Strict more compliant.
FIXME: The logo handling in ReleaseNotes.html

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129208 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-09 09:51:57 +00:00
NAKAMURA Takumi
073d025816 docs/tutorial/OCamlLangImpl7.html: Fix a href to missing Chapter 8.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129183 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-09 02:14:41 +00:00
NAKAMURA Takumi
31c180611d docs: Fix some in-package URLs.
(eg. trim http://llvm.org/docs/foo -> foo)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129182 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-09 02:13:48 +00:00
NAKAMURA Takumi
b9a33634cc docs: Canonicalize URLs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129181 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-09 02:13:37 +00:00
Devang Patel
3f932a74be Simplify array bound checks and clarify comments. One element array can have same non-zero number as lower bound as well as upper bound.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129170 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-08 23:39:38 +00:00
Devang Patel
fb6e8d6554 Do not emit DW_AT_upper_bound and DW_AT_lower_bound for unbouded array.
If lower bound is more then upper bound then consider it is an unbounded array.
An array is unbounded if non-zero lower bound is same as upper bound.
If lower bound and upper bound are zero than array has one element.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129156 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-08 21:55:10 +00:00
Bill Wendling
90464131a3 Missing closed tag.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129155 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-08 21:43:08 +00:00
Bruno Cardoso Lopes
3dcac711c0 Also add the late notes for Mips in the current release note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129122 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-08 03:06:22 +00:00
Jay Foad
71001c97c6 Fix a bit of nonsense.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129073 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-07 12:41:09 +00:00
Chris Lattner
a844a3e7b2 add faust too
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129053 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-07 03:09:21 +00:00
Chris Lattner
3d6a80a26a add a few late stragglers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129052 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-07 03:08:22 +00:00
Roman Divacky
77b42e9654 Fix a typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129019 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-06 19:12:21 +00:00
Chris Lattner
0fa5da9753 add rubinius
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129006 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-06 16:14:25 +00:00
Duncan Sands
f3ba7afde0 Fix some typos. Minor tweaks to how some things were expressed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128997 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-06 08:07:40 +00:00
Jay Foad
cb88ec34f0 Trivial typo fixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128996 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-06 07:55:30 +00:00
Chris Lattner
49123fd58c Finish up the first draft of the release notes.
improvements are welcome, please commit any changes directly to SVN.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128992 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-06 06:29:50 +00:00
Chris Lattner
c5ac61d64f continue writing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128990 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-06 05:50:04 +00:00
Chris Lattner
3bfe57e123 add the external users that emailed me.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128974 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-06 01:13:49 +00:00
Chris Lattner
2009c49a0b some libc++ notes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128970 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-06 00:59:18 +00:00
Chris Lattner
df448a38e7 some edits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128969 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-06 00:56:12 +00:00
Chris Lattner
1efe27eb79 distribute content out to the appropriate sections
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128968 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-06 00:45:11 +00:00
Chris Lattner
e4dc1966ba finished my pass through all the 2.9 commits, now to make this intelligible
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128955 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-05 23:22:33 +00:00
Chris Lattner
8ae4261d3c mention llvm::ArrayRef, which should be use much more pervasively than
it already is.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128954 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-05 23:18:20 +00:00
Devang Patel
da19475328 Add support to encode function's template parameters.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128947 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-05 22:52:06 +00:00
NAKAMURA Takumi
c631931f87 docs/ReleaseNotes.html: Please use proper *Heading* elements instead of classified div.
It would be better to browse without stylesheet. (eg. on ViewVC)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128942 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-05 21:55:14 +00:00
Chris Lattner
51fbec9021 remove graphprinter support for domfrontier.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128938 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-05 21:43:56 +00:00
Chris Lattner
0f310ee3c2 only 7 more weeks to go.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128933 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-05 21:37:08 +00:00
Jakob Stoklund Olesen
4359e5eccf Document llvm/ADT/IntEqClasses.h in ProgrammersManual.html
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128927 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-05 20:56:08 +00:00
Chris Lattner
7a8e6c5fb2 more notes to self.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128902 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-05 18:38:45 +00:00
NAKAMURA Takumi
45c435a24a docs/ReleaseNotes.html: Add a few notes to MCCOFF and x64. FIXME: fixme!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128882 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-05 08:24:22 +00:00
NAKAMURA Takumi
a8b3e18a44 docs/GettingStarted.html: FIXME: dg, lit, and source tree layout.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128881 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-05 08:24:15 +00:00
Chris Lattner
0a6f6d51ba add a bunch of notes to myself, this is not intended to be gramatic or
make sense to anyone else.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128879 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-05 07:19:28 +00:00
Bill Wendling
c3b94fbb7a Add info on where to get 2.9 final svn sources.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128860 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-04 23:42:51 +00:00
Duncan Sands
528a510ba1 Dragonegg release notes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128812 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-04 11:09:08 +00:00
Nick Lewycky
5bb3eced65 Pick better examples. "fpext float 3.1415 to double" won't parse because 3.1415
isn't an exact float. Also "fpext float 1.0 to float" is invalid IR because
it's not performing an extension.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128647 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-31 18:20:19 +00:00
Jay Foad
3ecfc861b4 Remove PHINode::reserveOperandSpace(). Instead, add a parameter to
PHINode::Create() giving the (known or expected) number of operands.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128537 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-30 11:28:46 +00:00
Devang Patel
da6eed3cfe Document llvm.dbg.sp, llvm.dbg.gv and llvm.dbg.enum
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128466 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-29 17:27:08 +00:00
NAKAMURA Takumi
282fdd381a docs/GettingStarted.html: [PR8850] Add a note for x86_64-w64-mingw32.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128404 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-28 06:27:12 +00:00
NAKAMURA Takumi
3c49655fcc docs/GettingStarted.html: Add blurb "--enable-shared" on cygming.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128403 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-28 06:27:06 +00:00
Bill Wendling
1a59243c25 Remove redundant compression option.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128267 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-25 06:43:59 +00:00
Chris Lattner
49e0ccfa78 fix description, PR9542
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128214 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-24 16:13:31 +00:00
Eli Friedman
415247dac4 Update Passes.html, part 3: alphabetize descriptions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127948 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-19 05:02:14 +00:00
Eli Friedman
de8ec5b3af Update Passes.html, part 2: cleanup a bit more dead docs, a few more
description updates.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127947 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-19 04:55:29 +00:00
Eli Friedman
e6ed15bccb Update Passes.html, part 1: remove passes which were removed from the tree,
update short descriptions to match those from the options, alphabetize table
of contents.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127946 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-19 04:47:52 +00:00
Rafael Espindola
a26f36c597 Some release notes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127867 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-18 04:07:44 +00:00
Cameron Zwarich
9e69ff914d Change the signext language in LangRef to closer match zeroext.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127808 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-17 14:21:58 +00:00
Cameron Zwarich
ebe8173941 The x86-64 ABI says that a bool is only guaranteed to be sign-extended to a byte
rather than an int. Thankfully, this only causes LLVM to miss optimizations, not
generate incorrect code.

This just fixes the zext at the return. We still insert an i32 ZextAssert when
reading a function's arguments, but it is followed by a truncate and another i8
ZextAssert so it is not optimized.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127766 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-16 22:20:18 +00:00
Chris Lattner
be2e1b50c4 rip out llvm 2.8 release notes to make room for llvm 2.9 notes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127399 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-10 07:43:44 +00:00
Devang Patel
a83688fcb5 Since last couple of days, argument number is encoded using 8 bits from line number field in argument's debug info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127250 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-08 16:29:40 +00:00
Devang Patel
90d81f1dd5 Update DILexicalBlock doc to mention new fields.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127249 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-08 16:25:29 +00:00
Duncan Sands
dea3a5e202 Clarify that the result of an srem is only guaranteed to have the same sign as the
left-hand-side if the result is non-zero.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127156 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-07 09:12:24 +00:00
Bill Wendling
f16fe9ef55 Fix tagging name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127154 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-07 07:37:12 +00:00
Chris Lattner
6ca55370d2 remove another jeff link
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127135 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-06 23:00:33 +00:00
Chris Lattner
a4a1c3f0d9 remove jeff's name (by his request)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127066 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-05 07:23:02 +00:00
Oscar Fuentes
0dddbc3d1b Support for parallel compilation (/MP) when using the VS IDE.
Patch by Erik Olofsson!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126847 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-02 17:47:37 +00:00
Bill Wendling
9ff5de99df Small cleanup.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126821 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-02 02:17:11 +00:00
Bill Wendling
36d6c4d5f6 Update the documentation on "How to Release LLVM". It lays out a new way of
tagging and branching for the release. I will update this more throughout the
2.9 release process.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126604 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-28 01:10:44 +00:00
Duncan Sands
60c8bf5350 Fix typo pointed out in pr9339.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126573 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-27 13:54:01 +00:00
Nadav Rotem
8c20ec54d9 Enable support for vector sext and trunc:
Limit the folding of any_ext and sext  into the load operation to scalars.
Limit the active-bits trunc optimization to scalars.
Document vector trunc and vector sext in LangRef.

Similar to commit 126080 (for enabling zext).



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126424 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-24 21:01:34 +00:00
Oscar Fuentes
89d31ec7d2 Remove the link to Projects.html. It is useless for people working on
Visual Studio.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126083 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-20 15:34:12 +00:00
Nadav Rotem
ed9b934f65 Fix 9267; Add vector zext support.
The DAGCombiner folds the zext into complex load instructions. This patch
prevents this optimization on vectors since none of the supported targets
knows how to perform load+vector_zext in one instruction.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126080 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-20 12:37:50 +00:00
Nick Lewycky
7ac0199287 Fix typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126065 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-20 02:03:04 +00:00
Nick Lewycky
ccd279d057 Fix thinko, basic blocks are SESE. The exits may have many edges though.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125709 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-17 02:19:22 +00:00
Duncan Sands
ab4c366274 Spelling fix: consequtive -> consecutive.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125563 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-15 09:23:02 +00:00
Chris Lattner
155ced8092 Minor fixes to tutorial, patch by Benjamin Meyer!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125544 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-15 00:24:32 +00:00
Tobias Grosser
eafbe659f8 Adapt docs to '-loopsimplify -> -loop-simplify' change
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125469 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-13 20:57:25 +00:00
Chris Lattner
776b7df0e7 attempt to capture recent discussion about overflow and inbounds geps.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125412 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-11 21:50:52 +00:00
Erick Tryzelaar
ff3dbde905 Don't run ocamldoc if it's not installed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125203 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-09 18:32:04 +00:00
Chris Lattner
66298c104e fix typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125192 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-09 16:44:44 +00:00
NAKAMURA Takumi
f287f01cd1 Add testing stuff to CMake documents.
- Note "GnuWin32".
  - Note LLVM_LIT_TOOLS_DIR
  - Now we can run tests on VS w/e all tests might pass or not!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125177 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-09 04:19:28 +00:00
Chris Lattner
f067d584a8 implement .ll and .bc support for nsw/nuw on shl and exact on lshr/ashr.
Factor some code better.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125006 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-07 16:40:21 +00:00
Chris Lattner
35bda8914c enhance vmcore to know that udiv's can be exact, and add a trivial
instcombine xform to exercise this.

Nothing forms exact udivs yet though.  This is progress on PR8862



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124992 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-06 21:44:57 +00:00
Devang Patel
3728078509 Update docs to match reality.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124761 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-03 00:22:17 +00:00
Anton Korobeynikov
46a98cf1f1 Document the LLVM GIT mirror
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124677 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-01 20:08:28 +00:00
Devang Patel
e136e506ec Remove stale references of obsolete @llvm.dbg.variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124664 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-01 17:22:12 +00:00
Nick Lewycky
db9cd76635 Most browsers eliminate whitespace between anchor tags. Force whitespace with
&nbsp; so that the code reads properly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124514 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-29 01:09:53 +00:00
Oscar Fuentes
5969379145 Handles libffi on the CMake build.
Patch by arrowdodger!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123976 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-21 15:42:54 +00:00
Chris Lattner
899407533a finish a sentence.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123750 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-18 06:12:10 +00:00
Rafael Espindola
a5eaa861e4 Add a clarification about merging constants with and without unnamed_addr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123530 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-15 08:20:57 +00:00
Jakob Stoklund Olesen
3ca2102c72 Don't document exactly how virtual registers are represented as integers. Code
shouldn't depend directly on that.

Give an example of how to iterate over all virtual registers in a function
without depending on the representation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123099 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-08 23:10:59 +00:00
Rafael Espindola
bea4626f93 First step in fixing PR8927:
Add a unnamed_addr bit to global variables and functions. This will be used
to indicate that the address is not significant and therefore the constant
or function can be merged with others.

If an optimization pass can show that an address is not used, it can set this.

Examples of things that can have this set by the FE are globals created to
hold string literals and C++ constructors.

Adding unnamed_addr to a non-const global should have no effect unless
an optimization can transform that global into a constant.

Aliases are not allowed to have unnamed_addr since I couldn't figure
out any use for it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123063 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-08 16:42:36 +00:00
David Greene
1434f66b2e Rename lisp-like functions as suggested by Gabor Greif as loooong time
ago.  This is both easier to learn and easier to read.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123001 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-07 17:05:37 +00:00
Owen Anderson
ab6acc6ecd Stub out a new updating interface to AliasAnalysis, allowing stateful analyses to be informed when
a pointer value has potentially become escaping.  Implementations can choose to either fall back to
conservative responses for that value, or may recompute their analysis to accomodate the change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122777 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-03 21:38:41 +00:00
Owen Anderson
375e5a380c We can count properly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122773 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-03 21:08:22 +00:00
David Greene
18d4987753 Reapply 122341 to fix PR8199 now that clang changes are in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122754 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-03 17:30:25 +00:00
Nick Lewycky
9959706735 Further expand what a call graph pass may do.
The rationale is that after analyzing a function in the SCC, we may want to
modify it in a way that requires us to update its uses (f.e. to replace the
call with a constant) or its users (f.e. to call it with fewer arguments).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122739 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-03 06:16:07 +00:00
Nick Lewycky
041ee7e6fa Permit CallGraphSCCPasses readonly access to the direct callers of the functions
in their SCC as they already have with the direct callees.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122734 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-03 04:01:44 +00:00
Duncan Sands
5e09eefe95 Correct a bunch of mistakes which meant that the example pass didn't
even compile, let alone work.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122657 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-01 17:37:07 +00:00
Duncan Sands
dc97c0b2c7 I was unable to get the instructions to work if LLVM was built
using a separate objects directory.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122656 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-01 17:28:49 +00:00
Duncan Sands
779ff7fd82 Clarify that the loadable module turns up in the top-level directory,
not locally.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122655 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-01 17:21:58 +00:00
Erick Tryzelaar
7a31865b1a Add a reference to the OCamlLangImpl8.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122651 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-01 03:29:25 +00:00
Erick Tryzelaar
160dae7d7f Add an OCaml tutorial page 8
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122650 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-01 03:27:43 +00:00
Tobias Grosser
0538729a3a Integers are primitive types. Update the documentation to state this
This was done for label, void, floating point, x86mmx, metadata,
just not integer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122606 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-28 20:29:31 +00:00
David Greene
234da6832f Revert 122341. It breaks some darwin tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122346 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-21 17:25:43 +00:00
David Greene
4d75d80d62 Fix PR 8199. This patch prepends the build tool dir to LLVM programs
being tested.  This ensures that we test the tools just built and not
some random tools that might happen to be in the user's PATH.  This
makes LLVM testing much more stable and predictable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122341 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-21 16:55:53 +00:00
Bill Wendling
b8602039f1 Grammar corrections and some formatting changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122312 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-21 03:31:05 +00:00
Wesley Peck
d5fe3efde3 Update the target feature matrix to reflect some new features in the MBlaze backend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122276 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-20 21:54:50 +00:00
Oscar Fuentes
784a176bc3 New cmake option LLVM_APPEND_VC_REV for controlling when the VC
revision id is appended to the LLVM version string. Defaults to
OFF.

Until now the VC revision id was always appended to the revision
string whenever cmake was invoked (either explicitly or implicitly
because a cmake source file changed). This was causing massive
recompilations because config.h are reconfigured with the new contents
of PACKAGE_VERSION.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122240 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-20 09:47:13 +00:00
Bruno Cardoso Lopes
48461f6da3 Update the Target Feature Matrix for Mips
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122203 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-19 22:41:43 +00:00
Dan Gohman
01e59888cd Fix a typo that Bill spotted.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121909 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-15 23:09:41 +00:00
Dan Gohman
49e41c5179 Document some more AliasAnalysis infrastructure limitations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121874 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-15 18:45:20 +00:00
Bill Wendling
f722699f8a Add mention that we support FreeBSD/amd64.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121832 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-15 01:35:55 +00:00
Jakob Stoklund Olesen
aca0da6876 Add IntervalMap to the Programmer's Manual.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121740 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-14 00:55:51 +00:00
Chris Lattner
4c247f6f3b further fixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121657 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-13 00:17:12 +00:00
Chris Lattner
7138863603 fix typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121620 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-12 02:42:57 +00:00
Dan Gohman
4a34cbd2b9 Introduce a new PartialAlias response for AliasAnalysis. For most
AliasAnalysis consumers, PartialAlias will be treated as MayAlias.

For AliasAnalysis chaining, MayAlias says "procede to the next analysis".
PartialAlias will be used to indicate that the query should terminate,
even though it didn't reach MustAlias or NoAlias.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121507 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-10 19:38:58 +00:00
Eric Christopher
031d30781a Use GZIPBIN instead of GZIP. Apparently gzip uses GZIP as an environment
variable for args you want to default pass to gzip.

Patch based on one by asau@inbox.ru.

Fixes PR8758.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121449 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-10 01:31:51 +00:00
Chris Lattner
78ceb3a415 fix some validation problems
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121444 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-10 00:54:03 +00:00
Chris Lattner
69ad797214 restructure this for readability, correct the example to follow the public ivar name convention
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121443 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-10 00:52:35 +00:00
Chris Lattner
98bec51b35 add a rule for enums, patch by Zhanyong Wan!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121430 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-09 23:32:39 +00:00
Bill Wendling
6bfd4f49b9 Fix the prototype for the llvm.eh.selector intrinsic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121425 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-09 23:05:48 +00:00
Bill Wendling
6171ab69f4 Fix newlines.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121233 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-08 02:46:25 +00:00
Frits van Bommel
1324289d24 Clarify some of the differences between indexing with getelementptr and indexing with insertvalue/extractvalue.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120957 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-05 20:54:38 +00:00
Zhanyong Wan
7fcd4dcb98 Add naming rules to the coding standards.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120689 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-02 05:10:07 +00:00
Chris Lattner
558f5d2a39 forbid rtti and exceptions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120450 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-30 19:20:40 +00:00
Nick Lewycky
29b6cb40c1 Make @llvm.invariant.start not be readonly, so that it has side-effects. This
unbreaks test/Transforms/InstCombine/invariant.ll which was broken by r120382.
This is a fix-forward to do what I think Chris intended.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120388 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-30 04:13:41 +00:00
Oscar Fuentes
d1627e331f Bump required cmake version on CMake.html.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120162 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-25 21:41:48 +00:00
Zhanyong Wan
cafe0b4e1f Fix formatting nits in the coding standards. Reviewed by clattner.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119998 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-23 05:03:07 +00:00
Wesley Peck
bf17cfa3f9 Renaming ISD::BIT_CONVERT to ISD::BITCAST to better reflect the LLVM IR concept.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119990 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-23 03:31:01 +00:00
Chris Lattner
a6fd81dd7f a byval argument without an align can have an arbitrary alignment
requirement on the input pointer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119914 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-20 23:49:06 +00:00
Chris Lattner
eddd96901e add some justification for "using namespace llvm;"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119544 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17 19:47:20 +00:00
Chris Lattner
684cf814c7 various cleanups and other improvements, patch by Zhanyong Wan!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119515 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17 17:14:55 +00:00
Chris Lattner
ce1b9ad539 With the newly simplified SourceMgr interfaces and the generalized
SrcMgrDiagHandler, we can improve clang diagnostics for inline asm:
instead of reporting them on a source line of the original line,
we can report it on the correct line wherever the string literal came
from. For something like this:

void foo() {
  asm("push %rax\n"
      ".code32\n");
}

we used to get this: (note that the line in t.c isn't helpful)

t.c:4:7: error: warning: ignoring directive for now
  asm("push %rax\n"
      ^
<inline asm>:2:1: note: instantiated into assembly here
.code32
^

now we get:

t.c:5:8: error: warning: ignoring directive for now
      ".code32\n"
       ^
<inline asm>:2:1: note: instantiated into assembly here
.code32
^

Note that we're pointing to line 5 properly now.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119488 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17 08:20:42 +00:00
Chris Lattner
221b239342 update coding standards. Partial specialization is now ok,
though possibly not a good idea.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119398 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-16 22:19:06 +00:00
Chris Lattner
ac139f19d9 libc++ and compiler_rt are now dual licensed under UIUC and MIT license.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119387 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-16 21:32:53 +00:00
Peter Collingbourne
5a0a7ced12 Document -enable-no-infs-fp-math and -enable-no-nans-fp-math command line options
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119370 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-16 19:40:13 +00:00
Dan Gohman
ab7fa0885e Fix missing includes of "llvm/Analysis/Passes.h" in the tutorials. Thanks
for Arnaud Allard de Grandmaison for preparing a patch.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119351 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-16 17:28:22 +00:00
Dan Gohman
dfa1a79b0c Update examples and documentation to explicitly add basicaa, now that it's
no longer included by default.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119169 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-15 18:41:10 +00:00
Dan Gohman
c66712f632 -basicaa is no longer the default.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119163 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-15 18:07:16 +00:00
Chris Lattner
ac3031aa09 no alpha jit support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119052 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-14 18:25:50 +00:00
Chris Lattner
97928d136a describe the preferred approach to silencing 'unused variable warnings' due to asserts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118863 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-12 00:19:41 +00:00
NAKAMURA Takumi
e7ae70b137 CMake: Add the new option "LLVM_LIT_ARGS".
Defaults:
if (MSVC OR XCODE): "-sv --no-progress-bar"
else: "-sv"

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118776 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-11 04:09:35 +00:00
Devang Patel
40d438e20a Document debuginfo-tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118746 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-11 00:13:39 +00:00
Chris Lattner
90fd797dc7 add (and document) the ability for alias results to have
fixed physical registers.  Start moving fp comparison
aliases to the .td file (which default to using %st1 if
nothing is specified).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118352 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-06 19:57:21 +00:00
Chris Lattner
98c870f87b generalize alias support to allow the result of an alias to
add fixed immediate values.  Move the aad and aam aliases to
use this, and document it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118350 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-06 19:25:43 +00:00
Chris Lattner
c7a03fbe66 document instalias.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118335 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-06 08:30:26 +00:00
Duncan Sands
e3f75a3979 Fix typo, pointed out by Trevor Harmon.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118163 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-03 08:16:50 +00:00
Chris Lattner
9372fd3c92 fix typo, patch by Trevor Harmon (PR8537)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118131 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-03 00:30:29 +00:00
Oscar Fuentes
36958599a8 Removed obsolete section about VC++ project files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118072 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-02 21:34:19 +00:00
Chris Lattner
150d20e8fc fix the !eq operator in tblgen to return a bit instead of an int.
Use this to make the X86 and ARM targets set isCodeGenOnly=1 
automatically for their instructions that have Format=Pseudo,
resolving a hack in tblgen.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117862 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-31 19:22:57 +00:00
Benjamin Kramer
943beeb747 Validate HTML.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117847 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-30 21:07:28 +00:00
Chris Lattner
50e5972dc6 add missing tag
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117846 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-30 20:21:00 +00:00
Chris Lattner
8cf8bcc40c fix typos and some serious bugs in feature handling (but not for
cases that are currently exercised).  Thanks to Frits van Bommel for
the great review!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117840 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-30 19:47:49 +00:00
Chris Lattner
693173feef Implement (and document!) support for MnemonicAlias's to have Requires
directives, allowing things like this:

def : MnemonicAlias<"pop", "popl">, Requires<[In32BitMode]>;
def : MnemonicAlias<"pop", "popq">, Requires<[In64BitMode]>;

Move the rest of the X86 MnemonicAliases over to the .td file.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117830 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-30 19:23:13 +00:00
Chris Lattner
674c1dcca2 implement (and document!) the first kind of MC assembler alias, which
just remaps one mnemonic to another.  Convert a few of the X86 aliases
from .cpp to .td code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117815 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-30 17:36:36 +00:00
Oscar Fuentes
da9756365b Document LLVM_BUILD_TESTS, LLVM_INCLUDE_TESTS. New convenience target
UnitTests for building all the unit tests.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117545 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-28 14:38:35 +00:00
Chris Lattner
219ddf5626 clarify that not having the ".o file writing" feature
doesn't mean that you can't get a .o file.  Apparently
this is confusing :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117523 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-28 02:22:02 +00:00
Bill Wendling
1b383ba6ae Random cleanups and format changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117428 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-27 01:07:41 +00:00
Duncan Sands
ff91d1a4d8 Yet another thing that was forgotten to be added to the release notes...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117362 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-26 12:43:36 +00:00
Charles Davis
0076d2057c Make the description of the hotpatch attribute even more generic. Spotted by
Michael Spencer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117286 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-25 19:07:39 +00:00
Charles Davis
6f12e29f7d Make hotpatch attribute description a little less Wintel-specific.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117267 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-25 16:29:03 +00:00
Charles Davis
970bfcc7d8 Add a new 'hotpatch' attribute. This attribute will insert a two-byte no-op
instruction at the beginning of each function that has the attribute, allowing
the function to be easily hooked and/or patched.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117264 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-25 15:37:09 +00:00
Kalle Raiskila
94cc4feeaf Update target feature matrix for CellSPU
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117255 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-25 08:57:30 +00:00
Jakob Stoklund Olesen
4e13612ea7 Update target feature matrix for Blackfin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117245 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-24 20:04:05 +00:00
Wesley Peck
c6a4524717 Updating target feature matrix to indicate current MBlaze status.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117244 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-24 18:50:12 +00:00