Commit Graph

4467 Commits

Author SHA1 Message Date
Torok Edwin 52cac090c4 some 3.0 API notes
llvm-svn: 140851
2011-09-30 13:07:52 +00:00
Eric Christopher 508503b473 Add a note on removing LLVMC.
llvm-svn: 140715
2011-09-28 19:47:28 +00:00
Bill Wendling b762df5840 Remove incorrect passage.
llvm-svn: 140631
2011-09-27 20:16:57 +00:00
Bill Wendling d9f23c4f6b Add FCA to the lexicon.
llvm-svn: 140619
2011-09-27 18:44:01 +00:00
Bill Wendling 614c8e5146 Remove some not-really-correct wording.
llvm-svn: 140600
2011-09-27 10:37:28 +00:00
Bill Wendling 878a67397d Fix grammar.
llvm-svn: 140564
2011-09-26 21:10:31 +00:00
Bill Wendling dec0ee3237 Remove dead table entry.
llvm-svn: 140563
2011-09-26 21:08:28 +00:00
Bill Wendling 58c80f886c Some minor (and more involved) cleanups. No real context changes.
llvm-svn: 140561
2011-09-26 21:06:33 +00:00
Chris Lattner ad4ab93e48 Duncan owns dragonegg too, it's all his fault :)
llvm-svn: 140430
2011-09-23 22:46:43 +00:00
Chris Lattner e643b854a5 Resynch intro to section with copyright section.
llvm-svn: 140326
2011-09-22 18:54:31 +00:00
Bill Wendling 91fecb36b6 Remove mention of llvm-gcc and llvm-g++. -Ministry of Truth
llvm-svn: 140163
2011-09-20 18:24:04 +00:00
Bill Wendling 12e58f9c22 Remove some missed references to dead intrinsics.
llvm-svn: 140129
2011-09-20 01:14:54 +00:00
Bill Wendling 011618454d 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 cafab2ef2e More llvmc bits. Spotted by Benjamin on IRC.
llvm-svn: 140124
2011-09-20 00:42:28 +00:00
Eric Christopher 69c02e9476 Remove more of llvmc and dependencies.
llvm-svn: 140121
2011-09-20 00:34:27 +00:00
Jakob Stoklund Olesen 1c4831764c 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 fd24834588 Remove obsolete .pod files.
llvm-svn: 140000
2011-09-18 12:52:55 +00:00
Bill Wendling 1e7126d68c 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 2488f168cc Remove mention of llvm-gcc/llvm-g++ from doc.
llvm-svn: 139998
2011-09-18 12:37:20 +00:00
Chad Rosier f0d3786945 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 ac17552138 s/SequeuentiallyConsistent/SequentiallyConsistent/g
llvm-svn: 139481
2011-09-11 15:50:05 +00:00
Nick Lewycky bdf62403d9 Fix verb tense agreement.
llvm-svn: 139480
2011-09-11 15:30:08 +00:00
Devang Patel 24a674bfc7 Update docs to reflect recent addition of new CompileUnit elements.
llvm-svn: 139374
2011-09-09 17:07:15 +00:00
Duncan Sands a098436b32 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 ceb4e6408a Update the CMake documentation to the correct variables.
Patch by arrowdodger!

llvm-svn: 139106
2011-09-04 23:24:13 +00:00
Rafael Espindola a45c20b049 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 f3458e5594 Preliminary documentation in docs/SegmentedStacks.html.
llvm-svn: 138823
2011-08-30 20:25:49 +00:00
Tobias Grosser e8f2009f27 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 0cb3b56de5 Some minor updates to atomic acquire/release docs in LangRef.
llvm-svn: 138472
2011-08-24 20:28:39 +00:00
Rafael Espindola f9a688176f Fix an example in the documentation.
Patch by Sanjoy Das!

llvm-svn: 138346
2011-08-23 18:26:56 +00:00
NAKAMURA Takumi 2b462b54b9 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 95f69a42d2 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 59e27c5f12 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 f0d536a445 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 eb1bb4e419 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 2b8acaf4f3 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 d8874dc1d6 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 02e737b08e 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 c13f05c978 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 fae1475823 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 30e697ebaf 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 2c945b3d88 minor typo
llvm-svn: 137496
2011-08-12 19:48:19 +00:00
Chris Lattner 3253173c34 fix one reference that slipped through, thanks Eli
llvm-svn: 137488
2011-08-12 18:12:40 +00:00
Chris Lattner 190552d3e0 add new accessors to reflect new terminology in struct types.
llvm-svn: 137468
2011-08-12 17:31:02 +00:00
NAKAMURA Takumi 5dd4132ab8 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 d92a5fe2fb 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 d9b1c6ecd0 docs/GettingStarted.html: [Git] Split the subsubsection for committer's section.
llvm-svn: 137442
2011-08-12 07:47:55 +00:00
NAKAMURA Takumi 0300d88af5 docs: Update HTML markup(s).
llvm-svn: 137433
2011-08-12 06:17:17 +00:00
NAKAMURA Takumi 8e01926b24 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 4826b7f13a 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 c67b9d3879 Fix up this paragraph (including a nasty typo).
llvm-svn: 137408
2011-08-12 01:26:06 +00:00
Andrew Trick 7bab70a7a5 Clarify the definition of SequentiallyConsistent operations.
llvm-svn: 137403
2011-08-12 00:36:38 +00:00
Eli Friedman 1696033373 Fix mismatched tag.
llvm-svn: 137388
2011-08-11 23:48:52 +00:00
Eli Friedman 7b8cc7e938 Revision to Atomics guide, per Chris's comments.
llvm-svn: 137386
2011-08-11 23:44:25 +00:00
Justin Holewinski 6c6a7fd692 PTX: Add basic documentation to CodeGenerator.html
llvm-svn: 137315
2011-08-11 17:34:16 +00:00
Eli Friedman 224fe0d4cb Changes per Jeffrey's comments.
llvm-svn: 137243
2011-08-10 20:17:43 +00:00
Eli Friedman 753625397b Fix minor typo.
llvm-svn: 137177
2011-08-09 23:26:12 +00:00
Eli Friedman 59b66883ea Representation of 'atomic load' and 'atomic store' in IR.
llvm-svn: 137170
2011-08-09 23:02:53 +00:00
Eli Friedman 84cd7927b9 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 49bfb12c46 Clean up the grammar for the landingpad instruction.
llvm-svn: 137042
2011-08-08 08:06:05 +00:00
Bill Wendling a503fc0494 Fix typo found by John.
llvm-svn: 137040
2011-08-08 07:58:58 +00:00
Jay Foad 2755e07e1e Reword.
llvm-svn: 136866
2011-08-04 10:43:43 +00:00
Bill Wendling 2d3138c112 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 c5a136103b 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 0524b8d1f4 Explain how clauses are applied.
llvm-svn: 136790
2011-08-03 17:17:06 +00:00
Bill Wendling bbcb7cde34 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 d3d65ab791 no need to count the terminators.
llvm-svn: 136718
2011-08-02 20:29:13 +00:00
Bill Wendling 6bc7caa334 Duncan's english is better than mine. :-)
llvm-svn: 136684
2011-08-02 06:39:13 +00:00
Bill Wendling 46ffaa95bd 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 c26ea5a51a 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 4bc9f3c174 Minor wording tweak for memory model.
llvm-svn: 136668
2011-08-02 01:15:34 +00:00
Roman Divacky 2fbb48ae20 Fix a typo.
llvm-svn: 136646
2011-08-01 20:38:27 +00:00
Bill Wendling ae8b5ea838 Fix some validation errors.
llvm-svn: 136591
2011-07-31 06:47:33 +00:00
Bill Wendling 537603b35d Fix some validation errors.
llvm-svn: 136590
2011-07-31 06:45:03 +00:00
Bill Wendling f891bf8b30 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 ad088e6724 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 c9a551ebed 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 6c923bb8d9 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 ac0a1f6146 Update document listing DIVariable elements to reflect recent changes.
llvm-svn: 136228
2011-07-27 18:14:50 +00:00
Bill Wendling f6a91cf41b Fix a typo.
llvm-svn: 136133
2011-07-26 20:42:28 +00:00
Andrew Trick e69a19569b Updating stale documentation on regalloc modes.
llvm-svn: 136112
2011-07-26 18:31:49 +00:00
Bill Wendling 16b867416f Clean up the HTML here a bit.
llvm-svn: 136074
2011-07-26 10:41:15 +00:00
Bill Wendling dd7805a24d 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 fee02c6c13 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 f6e3711674 80 columns.
llvm-svn: 135972
2011-07-25 21:13:23 +00:00
Bill Wendling e2225058ac Fix some typos.
llvm-svn: 135956
2011-07-25 20:25:03 +00:00
Bill Wendling c708441e3f An initial description of the compact unwind encoding.
llvm-svn: 135955
2011-07-25 20:19:48 +00:00
Rafael Espindola 163d675e72 Add uwtable to the langref.
llvm-svn: 135913
2011-07-25 15:27:59 +00:00
Jay Foad d1b7849d49 Convert GetElementPtrInst to use ArrayRef.
llvm-svn: 135904
2011-07-25 09:48:08 +00:00
Chris Lattner 2a843827a2 clarify that opaque is actually a struct type, PR10430
llvm-svn: 135861
2011-07-23 19:59:08 +00:00
Chris Lattner 57132e88b7 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 2e3b0769da add section to ToC
llvm-svn: 135811
2011-07-22 21:36:29 +00:00
Chris Lattner 3dbcd8eca7 write the long-overdue strings section of the data structure guide.
llvm-svn: 135809
2011-07-22 21:34:12 +00:00
Chris Lattner 355f4bb960 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 040dd82f44 Convert IRBuilder::CreateGEP and IRBuilder::CreateInBoundsGEP to use
ArrayRef.

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

llvm-svn: 135673
2011-07-21 14:31:17 +00:00
NAKAMURA Takumi 72c4af5d66 docs/GettingStarted.html: Tweak style.
llvm-svn: 135637
2011-07-20 23:37:51 +00:00
NAKAMURA Takumi 5d2a7328ed docs/GettingStarted.html: Fix a typo and tweak a command line.
llvm-svn: 135632
2011-07-20 22:58:28 +00:00
Eli Friedman 35b54aa148 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 088df09f27 Revert "Update docs to reflect r135457."
This reverts commit ba034c0a2e71303c7cf3f43ca8e69dc8436b32e2.

llvm-svn: 135485
2011-07-19 16:31:58 +00:00
Jay Foad b992a635fb Convert SimplifyGEPInst to use ArrayRef.
llvm-svn: 135482
2011-07-19 15:07:52 +00:00
Jay Foad 528bedaf5d Convert gep_type_begin and gep_type_end to use ArrayRef.
llvm-svn: 135481
2011-07-19 14:42:50 +00:00
Jay Foad bf904773bb Convert TargetData::getIndexedOffset to use ArrayRef.
llvm-svn: 135478
2011-07-19 14:01:37 +00:00
Jay Foad f4b14a2b0d Use ArrayRef in ConstantFoldInstOperands and ConstantFoldCall.
llvm-svn: 135477
2011-07-19 13:32:40 +00:00
Devang Patel 7ca23dde4e Update docs to reflect r135457.
llvm-svn: 135458
2011-07-19 01:04:39 +00:00
Jeffrey Yasskin 532114e8a4 Document how to maintain a git-svn clone of the LLVM git repositories.
llvm-svn: 135453
2011-07-19 00:20:54 +00:00
Chris Lattner 14b3b4df6f document this api change.
llvm-svn: 135376
2011-07-18 04:56:02 +00:00
Chris Lattner a8680dced2 introduce a new TinyPtrVector class.
llvm-svn: 135365
2011-07-18 01:40:02 +00:00
Eli Friedman 063fd270ed A couple of minor fixes to the OCaml tutorial. PR10025 and PR10316. Patches by Damien Schoof!
llvm-svn: 135293
2011-07-15 20:03:30 +00:00
Jay Foad 5bd375a6cc Convert CallInst and InvokeInst APIs to use ArrayRef.
llvm-svn: 135265
2011-07-15 08:37:34 +00:00
Jay Foad e03f15ad2b Mention all API changes I've made since 2.9 was branched.
llvm-svn: 135142
2011-07-14 09:19:05 +00:00
Tobias Grosser 585b36a1cb VectorType is also a SequentialType
llvm-svn: 134979
2011-07-12 11:37:02 +00:00
Chris Lattner b1ed91f397 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.

llvm-svn: 134829
2011-07-09 17:41:24 +00:00
Cameron Zwarich a32fd210c1 Use add instead of accumulate.
llvm-svn: 134752
2011-07-08 22:13:55 +00:00
Cameron Zwarich f03fa189ca Add an intrinsic and codegen support for fused multiply-accumulate. The intent
is to use this for architectures that have a native FMA instruction.

llvm-svn: 134742
2011-07-08 21:39:21 +00:00
Jakub Staszak dce4dffc84 Add documenation about "branch_weight" metadata and __builtin_expect instruction
llvm-svn: 134517
2011-07-06 18:31:02 +00:00
Owen Anderson 2f37bdc392 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.
llvm-svn: 134265
2011-07-01 21:52:38 +00:00
Duncan Sands 23fb54ed15 The enum was moved to ISDOpcodes.h.
llvm-svn: 134134
2011-06-30 06:37:07 +00:00
Evan Cheng 0ac49c6eab Add missing operand. rdar://9694169
llvm-svn: 134078
2011-06-29 17:14:00 +00:00
Dan Gohman 8bd11f1834 Document nonlazybind.
llvm-svn: 133160
2011-06-16 16:03:13 +00:00
Jakob Stoklund Olesen 99f35eab45 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.

llvm-svn: 133105
2011-06-15 23:28:14 +00:00
Argyrios Kyrtzidis 0c5c1cb1b0 Document ADT/PackedVector.h in "Programmer's Manual" doc.
llvm-svn: 133077
2011-06-15 19:56:01 +00:00
Bruno Cardoso Lopes dc9ff3a4b1 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.

llvm-svn: 132976
2011-06-14 04:58:37 +00:00
Chris Lattner ed58a95c33 mention graph vis isn't available in Release builds.
llvm-svn: 132916
2011-06-13 15:59:35 +00:00
Chad Rosier ab5ac96364 Typo.
llvm-svn: 132730
2011-06-07 20:03:13 +00:00
Andrew Trick c71224e29f Corrections and additional information for "Creating and LLVM Project"
documentation. This should now reflect the current state of LLVM Makefiles.

llvm-svn: 132527
2011-06-03 02:20:48 +00:00
Andrew Trick 621129f07a whitespace
llvm-svn: 132526
2011-06-03 02:16:53 +00:00
Devang Patel 1d81ea81cd Fix html formatting.
llvm-svn: 132345
2011-05-31 18:06:14 +00:00
Devang Patel 5c26a85d1d Clarify documentation and remove guarantees that are not fulfilled.
llvm-svn: 132344
2011-05-31 17:45:27 +00:00
Chris Lattner 0ec0649bc2 replace the intro tutorial from 2004 with a more recent work.
llvm-svn: 132310
2011-05-30 03:36:58 +00:00
John McCall 046c47e970 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.

llvm-svn: 132253
2011-05-28 07:45:59 +00:00
Chad Rosier 06da55e7d0 Clean out the 2.9 Release Notes. Mostly limited to What's New in LLVM
and enhancements in sub-project status updates.

llvm-svn: 132227
2011-05-27 22:50:46 +00:00
Chad Rosier d1db4f8b9b Add change of crc32 intrinsic to release notes
llvm-svn: 132212
2011-05-27 20:13:10 +00:00
Dan Gohman e635c529a0 Fix copy+pastos.
llvm-svn: 132168
2011-05-27 00:36:31 +00:00
Dan Gohman 4a70bfe3c0 Update documentation: -basicaa does chaining these days.
llvm-svn: 132010
2011-05-24 22:01:32 +00:00
Dan Gohman 911fa9084c Document llvm.exp and llvm.pow.
llvm-svn: 131921
2011-05-23 21:13:03 +00:00
Chris Lattner f98eadee17 document thiscall, PR9101
llvm-svn: 131873
2011-05-22 22:28:47 +00:00
Chris Lattner c2e8540216 insertvalue takes a variable number of arguments, document this, fixing PR9935.
llvm-svn: 131850
2011-05-22 07:18:08 +00:00
Chad Rosier 38fb5bbacc Correct typos in TestingGuide.html
llvm-svn: 131546
2011-05-18 18:07:16 +00:00
Nick Lewycky 9c876bf937 Fix errors in this llvm ir example.
llvm-svn: 131416
2011-05-16 19:29:30 +00:00
Akira Hatanaka cbb7fa68ed 1. Keep lines in 80 columns.
2. Remove unused function.
3. Correct indentation.

llvm-svn: 131028
2011-05-06 22:11:29 +00:00
Bill Wendling 260c4a9466 Document the automatic alias printing of InstAliases.
llvm-svn: 130889
2011-05-04 23:40:14 +00:00
Devang Patel 09fa69e151 Use llvm.dbg.cu named metadata to collect compile units.
llvm-svn: 130756
2011-05-03 16:18:28 +00:00
Oscar Fuentes 3cbc9bece8 Update instructions: LLVM.cmake is now LLVMConfig.cmake
llvm-svn: 130631
2011-05-01 02:12:20 +00:00
NAKAMURA Takumi 2277ab2ae6 docs/doxygen.css: Tweak padding on memdoc.
llvm-svn: 130493
2011-04-29 09:59:12 +00:00
NAKAMURA Takumi 8513d4236c docs/doxygen.css: Tweak style for readability.
A few styles are brought from http://llvm.org/test-doxygen/api/api.css

llvm-svn: 130333
2011-04-27 21:53:35 +00:00
Mikhail Glushenkov 06655d4a61 Regenerate.
llvm-svn: 130091
2011-04-24 14:17:37 +00:00
Andrew Trick 3260c9df4e Comment edit.
llvm-svn: 130047
2011-04-23 03:27:19 +00:00
NAKAMURA Takumi aa3d6242cf 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.
llvm-svn: 130040
2011-04-23 00:30:22 +00:00
Devang Patel 1d6bbd41aa Let front-end tie subprogram declaration with subprogram definition directly.
llvm-svn: 130028
2011-04-22 23:10:17 +00:00
NAKAMURA Takumi 3ad2828811 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>

llvm-svn: 129901
2011-04-21 01:52:00 +00:00
NAKAMURA Takumi 590ba6195b docs/Passes.html: Fix a garbage.
llvm-svn: 129900
2011-04-21 01:32:19 +00:00
NAKAMURA Takumi fc8d930f6e docs: Use <Hn> as Heading elements instead of <DIV class="doc_foo">.
H1 ... doc_title
H2 ... doc_section
H3 ... doc_subsection
H4 ... doc_subsubsection

llvm-svn: 129736
2011-04-18 23:59:50 +00:00
NAKAMURA Takumi 6483513a6d docs: Redefine Heading elements as below;
H1 ... Title (and might be Chapter in future)
H2 ... Section
H3 ... Subsection
H4 ... Sub-subsection

llvm-svn: 129683
2011-04-18 01:17:51 +00:00
Devang Patel 514b4006c2 Introduce support to encode Objective-C property information in debugging information generated for an interface.
llvm-svn: 129624
2011-04-16 00:11:51 +00:00
Douglas Gregor b92fbb7036 Fix some broken links, from Matthieu Monrocq
llvm-svn: 129609
2011-04-15 21:21:31 +00:00
Chris Lattner 0ab5e2cded Fix a ton of comment typos found by codespell. Patch by
Luis Felipe Strano Moraes!

llvm-svn: 129558
2011-04-15 05:18:47 +00:00
Andrew Trick d175c98d41 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.

llvm-svn: 129507
2011-04-14 05:05:36 +00:00
Jay Foad fdb9f6a3ca Fix typo.
llvm-svn: 129437
2011-04-13 13:03:56 +00:00
Dan Gohman c8454ee995 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.

llvm-svn: 129404
2011-04-12 23:05:59 +00:00
Oscar Fuentes 23fe31cc8d Document how to build a LLVM pass with CMake out of source.
Patch by arrowdodger!

llvm-svn: 129381
2011-04-12 19:40:35 +00:00
NAKAMURA Takumi 62920834fa docs/CommandGuide/index.html: Fix CSS url to relative.
llvm-svn: 129268
2011-04-11 03:27:38 +00:00
NAKAMURA Takumi 2a7024fa6c docs/CommandLine.html: &quot;ize.
llvm-svn: 129267
2011-04-11 03:27:31 +00:00
Oscar Fuentes dbe99ba37d CMake: support for using LLVM from client projects with find_package.
Patch by arrowdodger!

llvm-svn: 129247
2011-04-10 16:17:49 +00:00
Oscar Fuentes fe40844fb6 Reword instructions for running tests on Visual Studio.
Suggested by Maël Hörz.

llvm-svn: 129237
2011-04-10 01:41:55 +00:00
NAKAMURA Takumi 6bd36d56e4 docs/*.html: Make W3C HTML 4.01 Strict more compliant.
FIXME: The logo handling in ReleaseNotes.html
llvm-svn: 129208
2011-04-09 09:51:57 +00:00
NAKAMURA Takumi e8a8fd658f docs/tutorial/OCamlLangImpl7.html: Fix a href to missing Chapter 8.
llvm-svn: 129183
2011-04-09 02:14:41 +00:00
NAKAMURA Takumi b10df26061 docs: Fix some in-package URLs.
(eg. trim http://llvm.org/docs/foo -> foo)

llvm-svn: 129182
2011-04-09 02:13:48 +00:00
NAKAMURA Takumi ca46f5a3b5 docs: Canonicalize URLs.
llvm-svn: 129181
2011-04-09 02:13:37 +00:00
Devang Patel 778947c203 Simplify array bound checks and clarify comments. One element array can have same non-zero number as lower bound as well as upper bound.
llvm-svn: 129170
2011-04-08 23:39:38 +00:00
Devang Patel e39647951b 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.

llvm-svn: 129156
2011-04-08 21:55:10 +00:00
Bill Wendling c5d44ae3f4 Missing closed tag.
llvm-svn: 129155
2011-04-08 21:43:08 +00:00
Bruno Cardoso Lopes a21d470870 Also add the late notes for Mips in the current release note
llvm-svn: 129122
2011-04-08 03:06:22 +00:00
Jay Foad 65bef04ea7 Fix a bit of nonsense.
llvm-svn: 129073
2011-04-07 12:41:09 +00:00
Chris Lattner 5ddaab1789 add faust too
llvm-svn: 129053
2011-04-07 03:09:21 +00:00
Chris Lattner caefe9346d add a few late stragglers.
llvm-svn: 129052
2011-04-07 03:08:22 +00:00
Roman Divacky 620f6967e0 Fix a typo.
llvm-svn: 129019
2011-04-06 19:12:21 +00:00
Chris Lattner 958d299fca add rubinius
llvm-svn: 129006
2011-04-06 16:14:25 +00:00
Duncan Sands ce5d9aedb9 Fix some typos. Minor tweaks to how some things were expressed.
llvm-svn: 128997
2011-04-06 08:07:40 +00:00
Jay Foad 1a7cc44157 Trivial typo fixes.
llvm-svn: 128996
2011-04-06 07:55:30 +00:00
Chris Lattner 17c170a8e0 Finish up the first draft of the release notes.
improvements are welcome, please commit any changes directly to SVN.

llvm-svn: 128992
2011-04-06 06:29:50 +00:00
Chris Lattner 23e16b59d2 continue writing.
llvm-svn: 128990
2011-04-06 05:50:04 +00:00
Chris Lattner ae6a89a890 add the external users that emailed me.
llvm-svn: 128974
2011-04-06 01:13:49 +00:00
Chris Lattner 14a3333cb3 some libc++ notes.
llvm-svn: 128970
2011-04-06 00:59:18 +00:00
Chris Lattner 9d5b3712de some edits.
llvm-svn: 128969
2011-04-06 00:56:12 +00:00
Chris Lattner c3a2c9817c distribute content out to the appropriate sections
llvm-svn: 128968
2011-04-06 00:45:11 +00:00
Chris Lattner ce6b047a10 finished my pass through all the 2.9 commits, now to make this intelligible
llvm-svn: 128955
2011-04-05 23:22:33 +00:00
Chris Lattner a76507fdc3 mention llvm::ArrayRef, which should be use much more pervasively than
it already is.

llvm-svn: 128954
2011-04-05 23:18:20 +00:00
Devang Patel 9f738849ab Add support to encode function's template parameters.
llvm-svn: 128947
2011-04-05 22:52:06 +00:00
NAKAMURA Takumi 530d739097 docs/ReleaseNotes.html: Please use proper *Heading* elements instead of classified div.
It would be better to browse without stylesheet. (eg. on ViewVC)

llvm-svn: 128942
2011-04-05 21:55:14 +00:00
Chris Lattner 706754c1f2 remove graphprinter support for domfrontier.
llvm-svn: 128938
2011-04-05 21:43:56 +00:00
Chris Lattner 269ef9f6f0 only 7 more weeks to go.
llvm-svn: 128933
2011-04-05 21:37:08 +00:00
Jakob Stoklund Olesen 04123d40cd Document llvm/ADT/IntEqClasses.h in ProgrammersManual.html
llvm-svn: 128927
2011-04-05 20:56:08 +00:00
Chris Lattner 9ee0b01617 more notes to self.
llvm-svn: 128902
2011-04-05 18:38:45 +00:00
NAKAMURA Takumi 8d89b8e684 docs/ReleaseNotes.html: Add a few notes to MCCOFF and x64. FIXME: fixme!
llvm-svn: 128882
2011-04-05 08:24:22 +00:00
NAKAMURA Takumi f8e44c35eb docs/GettingStarted.html: FIXME: dg, lit, and source tree layout.
llvm-svn: 128881
2011-04-05 08:24:15 +00:00
Chris Lattner fd97b88b2f add a bunch of notes to myself, this is not intended to be gramatic or
make sense to anyone else.

llvm-svn: 128879
2011-04-05 07:19:28 +00:00
Bill Wendling db62424c3d Add info on where to get 2.9 final svn sources.
llvm-svn: 128860
2011-04-04 23:42:51 +00:00
Duncan Sands 1cd7898dc1 Dragonegg release notes.
llvm-svn: 128812
2011-04-04 11:09:08 +00:00
Nick Lewycky 9feca67182 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.

llvm-svn: 128647
2011-03-31 18:20:19 +00:00
Jay Foad 52131344a2 Remove PHINode::reserveOperandSpace(). Instead, add a parameter to
PHINode::Create() giving the (known or expected) number of operands.

llvm-svn: 128537
2011-03-30 11:28:46 +00:00
Devang Patel 1c6b681413 Document llvm.dbg.sp, llvm.dbg.gv and llvm.dbg.enum
llvm-svn: 128466
2011-03-29 17:27:08 +00:00
NAKAMURA Takumi 10b96cb34b docs/GettingStarted.html: [PR8850] Add a note for x86_64-w64-mingw32.
llvm-svn: 128404
2011-03-28 06:27:12 +00:00
NAKAMURA Takumi 05c00021da docs/GettingStarted.html: Add blurb "--enable-shared" on cygming.
llvm-svn: 128403
2011-03-28 06:27:06 +00:00
Bill Wendling ce2fccffc2 Remove redundant compression option.
llvm-svn: 128267
2011-03-25 06:43:59 +00:00
Chris Lattner 669ce55a42 fix description, PR9542
llvm-svn: 128214
2011-03-24 16:13:31 +00:00
Eli Friedman ecdb00e60d Update Passes.html, part 3: alphabetize descriptions.
llvm-svn: 127948
2011-03-19 05:02:14 +00:00
Eli Friedman e04761cbcd Update Passes.html, part 2: cleanup a bit more dead docs, a few more
description updates.

llvm-svn: 127947
2011-03-19 04:55:29 +00:00
Eli Friedman e513e87201 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.

llvm-svn: 127946
2011-03-19 04:47:52 +00:00
Rafael Espindola 01fb4b018e Some release notes.
llvm-svn: 127867
2011-03-18 04:07:44 +00:00
Cameron Zwarich 341c36dc8b Change the signext language in LangRef to closer match zeroext.
llvm-svn: 127808
2011-03-17 14:21:58 +00:00
Cameron Zwarich ac106273d4 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.

llvm-svn: 127766
2011-03-16 22:20:18 +00:00
Chris Lattner 0d364306be rip out llvm 2.8 release notes to make room for llvm 2.9 notes.
llvm-svn: 127399
2011-03-10 07:43:44 +00:00
Devang Patel e1aa67cff5 Since last couple of days, argument number is encoded using 8 bits from line number field in argument's debug info.
llvm-svn: 127250
2011-03-08 16:29:40 +00:00
Devang Patel fb30b85e7c Update DILexicalBlock doc to mention new fields.
llvm-svn: 127249
2011-03-08 16:25:29 +00:00
Duncan Sands 2769c6e0dc 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.

llvm-svn: 127156
2011-03-07 09:12:24 +00:00
Bill Wendling 4785885feb Fix tagging name.
llvm-svn: 127154
2011-03-07 07:37:12 +00:00
Chris Lattner cf0eebc6c9 remove another jeff link
llvm-svn: 127135
2011-03-06 23:00:33 +00:00
Chris Lattner 35d1f9f983 remove jeff's name (by his request)
llvm-svn: 127066
2011-03-05 07:23:02 +00:00
Oscar Fuentes 318c3f1717 Support for parallel compilation (/MP) when using the VS IDE.
Patch by Erik Olofsson!

llvm-svn: 126847
2011-03-02 17:47:37 +00:00
Bill Wendling c0e1067e4d Small cleanup.
llvm-svn: 126821
2011-03-02 02:17:11 +00:00
Bill Wendling b3294fafc4 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.

llvm-svn: 126604
2011-02-28 01:10:44 +00:00
Duncan Sands 508fe2f2c4 Fix typo pointed out in pr9339.
llvm-svn: 126573
2011-02-27 13:54:01 +00:00
Nadav Rotem 502f1b943f 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).

llvm-svn: 126424
2011-02-24 21:01:34 +00:00
Oscar Fuentes 31717d18e9 Remove the link to Projects.html. It is useless for people working on
Visual Studio.

llvm-svn: 126083
2011-02-20 15:34:12 +00:00
Nadav Rotem 25f2ac948b 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.

llvm-svn: 126080
2011-02-20 12:37:50 +00:00
Nick Lewycky 9d0e8b6e80 Fix typo.
llvm-svn: 126065
2011-02-20 02:03:04 +00:00
Nick Lewycky b302f8dae6 Fix thinko, basic blocks are SESE. The exits may have many edges though.
llvm-svn: 125709
2011-02-17 02:19:22 +00:00
Duncan Sands 75b5d27b84 Spelling fix: consequtive -> consecutive.
llvm-svn: 125563
2011-02-15 09:23:02 +00:00
Chris Lattner df01939065 Minor fixes to tutorial, patch by Benjamin Meyer!
llvm-svn: 125544
2011-02-15 00:24:32 +00:00
Tobias Grosser db8a18c788 Adapt docs to '-loopsimplify -> -loop-simplify' change
llvm-svn: 125469
2011-02-13 20:57:25 +00:00
Chris Lattner 39b6d87e9f attempt to capture recent discussion about overflow and inbounds geps.
llvm-svn: 125412
2011-02-11 21:50:52 +00:00
Erick Tryzelaar d5c17bb863 Don't run ocamldoc if it's not installed
llvm-svn: 125203
2011-02-09 18:32:04 +00:00
Chris Lattner f10dfdc77a fix typo
llvm-svn: 125192
2011-02-09 16:44:44 +00:00
NAKAMURA Takumi f214f50739 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!

llvm-svn: 125177
2011-02-09 04:19:28 +00:00
Chris Lattner a676c0fc77 implement .ll and .bc support for nsw/nuw on shl and exact on lshr/ashr.
Factor some code better.

llvm-svn: 125006
2011-02-07 16:40:21 +00:00
Chris Lattner 35315d065b 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

llvm-svn: 124992
2011-02-06 21:44:57 +00:00
Devang Patel 7846c1e99b Update docs to match reality.
llvm-svn: 124761
2011-02-03 00:22:17 +00:00
Anton Korobeynikov 3e956af404 Document the LLVM GIT mirror
llvm-svn: 124677
2011-02-01 20:08:28 +00:00
Devang Patel 9a8539c4d9 Remove stale references of obsolete @llvm.dbg.variable.
llvm-svn: 124664
2011-02-01 17:22:12 +00:00
Nick Lewycky fea7ddc735 Most browsers eliminate whitespace between anchor tags. Force whitespace with
&nbsp; so that the code reads properly.

llvm-svn: 124514
2011-01-29 01:09:53 +00:00
Oscar Fuentes 6495595382 Handles libffi on the CMake build.
Patch by arrowdodger!

llvm-svn: 123976
2011-01-21 15:42:54 +00:00
Chris Lattner 92ec3d1bf4 finish a sentence.
llvm-svn: 123750
2011-01-18 06:12:10 +00:00
Rafael Espindola f1ed781aea Add a clarification about merging constants with and without unnamed_addr.
llvm-svn: 123530
2011-01-15 08:20:57 +00:00
Jakob Stoklund Olesen d3438eb27d 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.

llvm-svn: 123099
2011-01-08 23:10:59 +00:00
Rafael Espindola 45e6c195d7 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.

llvm-svn: 123063
2011-01-08 16:42:36 +00:00
David Greene 2f7cf7fcb4 Rename lisp-like functions as suggested by Gabor Greif as loooong time
ago.  This is both easier to learn and easier to read.

llvm-svn: 123001
2011-01-07 17:05:37 +00:00
Owen Anderson b6e4ff0d85 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.

llvm-svn: 122777
2011-01-03 21:38:41 +00:00
Owen Anderson 4423070356 We can count properly.
llvm-svn: 122773
2011-01-03 21:08:22 +00:00
David Greene dc276c315c Reapply 122341 to fix PR8199 now that clang changes are in.
llvm-svn: 122754
2011-01-03 17:30:25 +00:00
Nick Lewycky 80b2e8151e 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).

llvm-svn: 122739
2011-01-03 06:16:07 +00:00
Nick Lewycky 00f1b801b1 Permit CallGraphSCCPasses readonly access to the direct callers of the functions
in their SCC as they already have with the direct callees.

llvm-svn: 122734
2011-01-03 04:01:44 +00:00
Duncan Sands 7f3a656624 Correct a bunch of mistakes which meant that the example pass didn't
even compile, let alone work.

llvm-svn: 122657
2011-01-01 17:37:07 +00:00
Duncan Sands f5897f8aa0 I was unable to get the instructions to work if LLVM was built
using a separate objects directory.

llvm-svn: 122656
2011-01-01 17:28:49 +00:00
Duncan Sands 92ad41f99e Clarify that the loadable module turns up in the top-level directory,
not locally.

llvm-svn: 122655
2011-01-01 17:21:58 +00:00
Erick Tryzelaar 5d556ab160 Add a reference to the OCamlLangImpl8.
llvm-svn: 122651
2011-01-01 03:29:25 +00:00
Erick Tryzelaar 619714a65b Add an OCaml tutorial page 8
llvm-svn: 122650
2011-01-01 03:27:43 +00:00
Tobias Grosser 4c8c95b099 Integers are primitive types. Update the documentation to state this
This was done for label, void, floating point, x86mmx, metadata,
just not integer.

llvm-svn: 122606
2010-12-28 20:29:31 +00:00
David Greene be57ab185f Revert 122341. It breaks some darwin tests.
llvm-svn: 122346
2010-12-21 17:25:43 +00:00
David Greene a93adab324 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.

llvm-svn: 122341
2010-12-21 16:55:53 +00:00
Bill Wendling 510504a6e8 Grammar corrections and some formatting changes.
llvm-svn: 122312
2010-12-21 03:31:05 +00:00
Wesley Peck 671d54d5a2 Update the target feature matrix to reflect some new features in the MBlaze backend.
llvm-svn: 122276
2010-12-20 21:54:50 +00:00
Oscar Fuentes 7064035998 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.

llvm-svn: 122240
2010-12-20 09:47:13 +00:00
Bruno Cardoso Lopes 8e303e896e Update the Target Feature Matrix for Mips
llvm-svn: 122203
2010-12-19 22:41:43 +00:00
Dan Gohman e1d8d3a2e4 Fix a typo that Bill spotted.
llvm-svn: 121909
2010-12-15 23:09:41 +00:00
Dan Gohman b3f04f468e Document some more AliasAnalysis infrastructure limitations.
llvm-svn: 121874
2010-12-15 18:45:20 +00:00
Bill Wendling 5d32b70967 Add mention that we support FreeBSD/amd64.
llvm-svn: 121832
2010-12-15 01:35:55 +00:00
Jakob Stoklund Olesen 36eab1cee4 Add IntervalMap to the Programmer's Manual.
llvm-svn: 121740
2010-12-14 00:55:51 +00:00
Chris Lattner bd61444cb9 further fixes.
llvm-svn: 121657
2010-12-13 00:17:12 +00:00
Chris Lattner 053a025bfe fix typo
llvm-svn: 121620
2010-12-12 02:42:57 +00:00
Dan Gohman 4bd64fa805 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.

llvm-svn: 121507
2010-12-10 19:38:58 +00:00
Eric Christopher 775608995c 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.

llvm-svn: 121449
2010-12-10 01:31:51 +00:00
Chris Lattner 02093e1f0b fix some validation problems
llvm-svn: 121444
2010-12-10 00:54:03 +00:00
Chris Lattner 77c8cc8fc9 restructure this for readability, correct the example to follow the public ivar name convention
llvm-svn: 121443
2010-12-10 00:52:35 +00:00
Chris Lattner 7365a2838b add a rule for enums, patch by Zhanyong Wan!
llvm-svn: 121430
2010-12-09 23:32:39 +00:00
Bill Wendling 2eeba63215 Fix the prototype for the llvm.eh.selector intrinsic.
llvm-svn: 121425
2010-12-09 23:05:48 +00:00
Bill Wendling 7a05f00ade Fix newlines.
llvm-svn: 121233
2010-12-08 02:46:25 +00:00
Frits van Bommel 7cf63ace18 Clarify some of the differences between indexing with getelementptr and indexing with insertvalue/extractvalue.
llvm-svn: 120957
2010-12-05 20:54:38 +00:00
Zhanyong Wan 4f3b26de28 Add naming rules to the coding standards.
llvm-svn: 120689
2010-12-02 05:10:07 +00:00
Chris Lattner 9db8e15f4d forbid rtti and exceptions
llvm-svn: 120450
2010-11-30 19:20:40 +00:00
Nick Lewycky 2965d3e3cd 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.

llvm-svn: 120388
2010-11-30 04:13:41 +00:00
Oscar Fuentes e1c6a67df6 Bump required cmake version on CMake.html.
llvm-svn: 120162
2010-11-25 21:41:48 +00:00
Zhanyong Wan 19b96fd4ee Fix formatting nits in the coding standards. Reviewed by clattner.
llvm-svn: 119998
2010-11-23 05:03:07 +00:00
Wesley Peck 527da1b6e2 Renaming ISD::BIT_CONVERT to ISD::BITCAST to better reflect the LLVM IR concept.
llvm-svn: 119990
2010-11-23 03:31:01 +00:00
Chris Lattner d78dbee431 a byval argument without an align can have an arbitrary alignment
requirement on the input pointer.

llvm-svn: 119914
2010-11-20 23:49:06 +00:00
Chris Lattner eebbbeb917 add some justification for "using namespace llvm;"
llvm-svn: 119544
2010-11-17 19:47:20 +00:00
Chris Lattner 8defde09fd various cleanups and other improvements, patch by Zhanyong Wan!
llvm-svn: 119515
2010-11-17 17:14:55 +00:00
Chris Lattner 79ffdc7581 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.

llvm-svn: 119488
2010-11-17 08:20:42 +00:00
Chris Lattner 44c2241cd4 update coding standards. Partial specialization is now ok,
though possibly not a good idea.

llvm-svn: 119398
2010-11-16 22:19:06 +00:00
Chris Lattner fced6e2587 libc++ and compiler_rt are now dual licensed under UIUC and MIT license.
llvm-svn: 119387
2010-11-16 21:32:53 +00:00
Peter Collingbourne b813cacf06 Document -enable-no-infs-fp-math and -enable-no-nans-fp-math command line options
llvm-svn: 119370
2010-11-16 19:40:13 +00:00
Dan Gohman a230754385 Fix missing includes of "llvm/Analysis/Passes.h" in the tutorials. Thanks
for Arnaud Allard de Grandmaison for preparing a patch.

llvm-svn: 119351
2010-11-16 17:28:22 +00:00
Dan Gohman 56f3a4c761 Update examples and documentation to explicitly add basicaa, now that it's
no longer included by default.

llvm-svn: 119169
2010-11-15 18:41:10 +00:00
Dan Gohman b83aed95c9 -basicaa is no longer the default.
llvm-svn: 119163
2010-11-15 18:07:16 +00:00
Chris Lattner 7b783e7cb2 no alpha jit support.
llvm-svn: 119052
2010-11-14 18:25:50 +00:00
Chris Lattner 8a7f4dafe5 describe the preferred approach to silencing 'unused variable warnings' due to asserts.
llvm-svn: 118863
2010-11-12 00:19:41 +00:00
NAKAMURA Takumi f791007e81 CMake: Add the new option "LLVM_LIT_ARGS".
Defaults:
if (MSVC OR XCODE): "-sv --no-progress-bar"
else: "-sv"

llvm-svn: 118776
2010-11-11 04:09:35 +00:00
Devang Patel fd0ad36c28 Document debuginfo-tests.
llvm-svn: 118746
2010-11-11 00:13:39 +00:00
Chris Lattner 4869d346e3 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).

llvm-svn: 118352
2010-11-06 19:57:21 +00:00
Chris Lattner b6f8e8248d 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.

llvm-svn: 118350
2010-11-06 19:25:43 +00:00
Chris Lattner 8b0a71fc31 document instalias.
llvm-svn: 118335
2010-11-06 08:30:26 +00:00
Duncan Sands 8eb254aed6 Fix typo, pointed out by Trevor Harmon.
llvm-svn: 118163
2010-11-03 08:16:50 +00:00
Chris Lattner 3e6c919469 fix typo, patch by Trevor Harmon (PR8537)
llvm-svn: 118131
2010-11-03 00:30:29 +00:00
Oscar Fuentes 64cb0eed22 Removed obsolete section about VC++ project files.
llvm-svn: 118072
2010-11-02 21:34:19 +00:00
Chris Lattner 7ff334687d 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.

llvm-svn: 117862
2010-10-31 19:22:57 +00:00
Benjamin Kramer c940bcf564 Validate HTML.
llvm-svn: 117847
2010-10-30 21:07:28 +00:00
Chris Lattner 4dd6ca9a69 add missing tag
llvm-svn: 117846
2010-10-30 20:21:00 +00:00
Chris Lattner f9ec2fb34a 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!

llvm-svn: 117840
2010-10-30 19:47:49 +00:00
Chris Lattner 2cb092dc55 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.

llvm-svn: 117830
2010-10-30 19:23:13 +00:00
Chris Lattner ba7b4fea97 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.

llvm-svn: 117815
2010-10-30 17:36:36 +00:00
Oscar Fuentes b1f9380cac Document LLVM_BUILD_TESTS, LLVM_INCLUDE_TESTS. New convenience target
UnitTests for building all the unit tests.

llvm-svn: 117545
2010-10-28 14:38:35 +00:00
Chris Lattner 15597538ae clarify that not having the ".o file writing" feature
doesn't mean that you can't get a .o file.  Apparently
this is confusing :)

llvm-svn: 117523
2010-10-28 02:22:02 +00:00
Bill Wendling 6bbe0912c3 Random cleanups and format changes.
llvm-svn: 117428
2010-10-27 01:07:41 +00:00
Duncan Sands 406e6f59b8 Yet another thing that was forgotten to be added to the release notes...
llvm-svn: 117362
2010-10-26 12:43:36 +00:00
Charles Davis 742052526a Make the description of the hotpatch attribute even more generic. Spotted by
Michael Spencer.

llvm-svn: 117286
2010-10-25 19:07:39 +00:00
Charles Davis 1b2d372b9f Make hotpatch attribute description a little less Wintel-specific.
llvm-svn: 117267
2010-10-25 16:29:03 +00:00
Charles Davis 22fe18625d 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.

llvm-svn: 117264
2010-10-25 15:37:09 +00:00
Kalle Raiskila 829b21fb02 Update target feature matrix for CellSPU
llvm-svn: 117255
2010-10-25 08:57:30 +00:00
Jakob Stoklund Olesen c7932d3ac6 Update target feature matrix for Blackfin.
llvm-svn: 117245
2010-10-24 20:04:05 +00:00
Wesley Peck 188deadf88 Updating target feature matrix to indicate current MBlaze status.
llvm-svn: 117244
2010-10-24 18:50:12 +00:00
Chris Lattner 60616b1e54 broken link
llvm-svn: 117232
2010-10-24 16:24:22 +00:00
Chris Lattner 5427f745b5 add a big table with target features.
llvm-svn: 117230
2010-10-24 16:18:00 +00:00
Peter Collingbourne a92b66ec47 Standardise all build-mode affecting {EN,DIS}ABLE_* make options to
test equality to 1, and fix/update documentation to reflect this

llvm-svn: 117094
2010-10-22 12:54:34 +00:00
Tobias Grosser 5f038210cf Fix type in passes.
llvm-svn: 117065
2010-10-21 21:16:03 +00:00
Duncan Sands a11e9827b1 Argh, completely forgot to add this to the release notes!
Better late than never, right?

llvm-svn: 117009
2010-10-21 14:40:02 +00:00
Tobias Grosser 23c8341c3d Add RegionPass support.
A RegionPass is executed like a LoopPass but on the regions detected by the
RegionInfo pass instead of the loops detected by the LoopInfo pass.

llvm-svn: 116905
2010-10-20 01:54:44 +00:00
Jim Grosbach bbdc5d2ef9 Add a pre-dispatch SjLj EH hook on the unwind edge for targets to do any
setup they require. Use this for ARM/Darwin to rematerialize the base
pointer from the frame pointer when required. rdar://8564268

llvm-svn: 116879
2010-10-19 23:27:08 +00:00
Jakob Stoklund Olesen eba55822d7 Teach FileCheck to handle trailing CHECK-NOT patterns.
A CHECK-NOT pattern without a following CHECK pattern simply checks that the
pattern doesn't match before the end of the input file.

You can even have only CHECK-NOT patterns to check that strings appear nowhere
in the input file.

llvm-svn: 116592
2010-10-15 17:47:12 +00:00
Chris Lattner 1ef5e84c31 Per discussion with Sanjiv, remove the PIC16 target from mainline. When/if
it comes back, it will be largely a rewrite, so keeping the old codebase
in tree isn't helping anyone.

llvm-svn: 116190
2010-10-11 05:44:40 +00:00
Chris Lattner f11031a68c clarify that zero sized vectors are illegal, PR8340
llvm-svn: 116167
2010-10-10 18:20:35 +00:00
Nick Lewycky cf263b0cbd Fix dead link.
llvm-svn: 116157
2010-10-09 21:12:29 +00:00
Nick Lewycky abe8c130b1 Warn about broken GCCs on ARM due to the problem fixed:
http://gcc.gnu.org/ml/gcc-patches/2010-09/msg01070.html

llvm-svn: 115998
2010-10-07 22:30:47 +00:00
Bill Wendling c473587e28 Fixed RELEASE_28 tags.
llvm-svn: 115872
2010-10-06 23:50:30 +00:00
Tobias Grosser 436bc5fdb3 Fix libc++ link in release notes.
llvm-svn: 115837
2010-10-06 21:07:30 +00:00
Tobias Grosser 5af766bb1e Add missing "-" to the command line.
llvm-svn: 115777
2010-10-06 11:43:06 +00:00
Duncan Sands 6f2ae72c90 No need to check out everything: binutils is enough.
Patch by John Tytgat.

llvm-svn: 115757
2010-10-06 06:45:11 +00:00
Tanya Lattner 3d7ec7b55d Update release location.
llvm-svn: 115749
2010-10-06 05:36:01 +00:00
Chris Lattner 9402633637 remove the !nameconcat tblgen feature. It "shorthand" and only used in 4 places
where !cast is just as short.

llvm-svn: 115722
2010-10-06 00:19:21 +00:00
Jim Grosbach 1e8b44e470 s/The ARM has/The ARM backend has/
llvm-svn: 115584
2010-10-05 01:00:42 +00:00
Bruno Cardoso Lopes 3ae4d87d6f AVX intrinsics and builtins were also added to clang
llvm-svn: 115566
2010-10-04 22:07:22 +00:00
Douglas Gregor 7e79556d96 Spell AltiVec correctly
llvm-svn: 115560
2010-10-04 21:12:06 +00:00
Daniel Dunbar f70898affa ReleaseNotes: Note some changes to LLVM development infrastructure.
llvm-svn: 115550
2010-10-04 20:11:41 +00:00
Daniel Dunbar efefb206a5 ReleaseNotes: Note a header rename.
llvm-svn: 115549
2010-10-04 20:11:39 +00:00
Gabor Greif 0d4224ef04 validator fixes; others remain, somebody who knows some html, please have a look
llvm-svn: 115526
2010-10-04 17:54:30 +00:00
Daniel Dunbar 8fbd8aad45 Add KLEE 2.8 release notes.
llvm-svn: 115524
2010-10-04 17:39:47 +00:00
Daniel Dunbar 60ad0094e2 A few more random Clang release notes.
llvm-svn: 115520
2010-10-04 17:06:49 +00:00
Gabor Greif dcdbbea36d minor tweaks and typos
llvm-svn: 115518
2010-10-04 17:03:49 +00:00
Devang Patel 9fbc680c5e Fix lexical block's tag number.
llvm-svn: 115516
2010-10-04 16:51:59 +00:00
Chris Lattner dc38ad4aee scheduler update
llvm-svn: 115515
2010-10-04 16:46:07 +00:00
Chris Lattner c3e64b2c37 another tweak
llvm-svn: 115510
2010-10-04 16:06:37 +00:00
Duncan Sands d63e1c80ba Ada support has moved to dragonegg - I am no longer working on
Ada in llvm-gcc.

llvm-svn: 115501
2010-10-04 10:06:56 +00:00
Duncan Sands 6ad8bf6051 Fix a bunch of typos.
llvm-svn: 115500
2010-10-04 10:04:14 +00:00
Duncan Sands fb994d2f0e Altvec -> Altivec.
llvm-svn: 115499
2010-10-04 09:11:50 +00:00
Douglas Gregor 614ace674b Update LLVM 2.8 release notes for Clang
llvm-svn: 115498
2010-10-04 07:02:35 +00:00
Chris Lattner d3f45c8cf2 checkpoint, the release notes are now feature complete.
llvm-svn: 115495
2010-10-04 04:39:25 +00:00
Chris Lattner 9fd1e92de8 checkpoint
llvm-svn: 115494
2010-10-04 03:58:12 +00:00
Chris Lattner fcc65a74a7 checkpoint.
llvm-svn: 115489
2010-10-04 02:42:39 +00:00
Chris Lattner a7f45cf749 write Major Changes and Removed Features.
llvm-svn: 115486
2010-10-04 01:29:06 +00:00
Chris Lattner 120804afae move dragonegg up in the list, write blurbs for lldb and libc++
llvm-svn: 115484
2010-10-03 23:49:06 +00:00
Chris Lattner d93b4afdd7 add a bunch of stuff that works with 2.8
llvm-svn: 115483
2010-10-03 23:09:03 +00:00
Chris Lattner 743bc472ac random updates
llvm-svn: 115427
2010-10-02 22:44:15 +00:00
Chris Lattner bf1cf670a6 checkpoint, don't expect this to read right yet. :)
llvm-svn: 115426
2010-10-02 21:59:30 +00:00
Chris Lattner 97eac67552 add a bunch more notes. I survived.
llvm-svn: 115418
2010-10-02 19:32:01 +00:00
Devang Patel cac38900f1 Fix block descriptor documentation.
llvm-svn: 115362
2010-10-01 22:45:00 +00:00
Devang Patel 6df452cfb1 Fix dbg_declare signature in document.
llvm-svn: 115326
2010-10-01 19:22:16 +00:00
Devang Patel bed5e7d404 Fix DIDerived type fields' type in document.
llvm-svn: 115325
2010-10-01 19:19:30 +00:00
Chris Lattner ca7c896b16 add a note
llvm-svn: 115297
2010-10-01 06:34:49 +00:00
Dale Johannesen b1f0ff1d66 Fix pasto.
llvm-svn: 115261
2010-10-01 01:07:02 +00:00
Dale Johannesen 33e5c354e5 Add some doc for the x86mmx type.
llvm-svn: 115255
2010-10-01 00:48:59 +00:00
Duncan Sands 7f9a0dc4b4 Flesh out the dragonegg section.
llvm-svn: 115179
2010-09-30 17:37:34 +00:00
Chris Lattner f25bc19e17 checkpoint notes
llvm-svn: 115152
2010-09-30 16:31:33 +00:00
Chris Lattner 510a81a89b fix incorrect link!
llvm-svn: 115124
2010-09-30 01:12:09 +00:00
Chris Lattner 3458ab6001 add a bunch of entries for external projects.
llvm-svn: 115112
2010-09-30 00:34:43 +00:00
Duncan Sands e9da6db67f Convert a bunch of uses of 'bytecode' into 'bitcode'. This
is not everything, but the remaining cases are less trivial.

llvm-svn: 115080
2010-09-29 20:09:55 +00:00
Chris Lattner 16be34dec0 add some random notes.
llvm-svn: 115032
2010-09-29 07:25:03 +00:00
Chris Lattner 086d269413 merge all the llvm-gcc pieces together. Recommend that people try dragonegg if they care about fortran performance.
llvm-svn: 115031
2010-09-29 05:34:42 +00:00
Chris Lattner 342f957966 prepare for new content.
llvm-svn: 115030
2010-09-29 05:30:03 +00:00
Chris Lattner b671d84ade reapply developer policy changes after discussion.
llvm-svn: 114886
2010-09-27 21:17:15 +00:00
Oscar Fuentes bf03084532 New cmake options LLVM_INCLUDE_X (X = {TOOLS, EXAMPLES, TESTS}) for
not generating build targets for those parts of the build.

llvm-svn: 114797
2010-09-25 20:43:06 +00:00
Chris Lattner aa2ad5730c temporarily revert developer policy change as a courtesy to vikram.
llvm-svn: 114792
2010-09-25 15:53:35 +00:00
Chris Lattner 16e264c546 remove an obsolete section
llvm-svn: 114701
2010-09-23 22:34:49 +00:00
Andrew Trick 68aa18e4be Fix Getting Started docs.
configure expects LLVM Test Suite to be in projects/test-suite.
Made the "getting started" and "testing infrastructure" docs internally consistent.
Avoid confusion between llvm-test and llvm/test.

llvm-svn: 114691
2010-09-23 20:26:44 +00:00
Chris Lattner a45bbb9628 rewrite the copyright section to match reality: llvm does't have a
copyright assignment process.

llvm-svn: 114673
2010-09-23 17:37:11 +00:00
Chris Lattner 81b59834c2 add lldb and libc++ code owners.
llvm-svn: 114669
2010-09-23 17:27:54 +00:00
Chris Lattner 191efcfc63 random cruft in my tree.
llvm-svn: 114387
2010-09-21 04:03:39 +00:00
Michael J. Spencer 65bd28db99 docs: Tweak wording.
llvm-svn: 114271
2010-09-18 08:32:32 +00:00
Michael J. Spencer 386fe51f64 docs: Update GettingStartedVS to reflect current state.
llvm-svn: 114167
2010-09-17 06:33:20 +00:00
Oscar Fuentes 144d99d084 Updated GettingStartedVS.html to reflect current state.
Reorganized it too.

llvm-svn: 114151
2010-09-17 02:17:13 +00:00
Oscar Fuentes 9712b2c06c Direct CMake users to the right place for up-to-date info about using
LLVM libraries.

llvm-svn: 114139
2010-09-17 00:30:52 +00:00
Bob Wilson e44f298674 Fix formatting tags.
llvm-svn: 113758
2010-09-13 17:39:35 +00:00
Bob Wilson 46d6580ccf Document NEON intrinsic changes for 2.8.
llvm-svn: 113757
2010-09-13 17:37:55 +00:00
Chris Lattner cb67a14b3e add some documentation for the most important MC-level classes along with
an overview of mc and the idea of the code emission phase.

llvm-svn: 113707
2010-09-11 23:02:10 +00:00
John McCall 978f007a80 Add documentation for llvm-diff.
llvm-svn: 113303
2010-09-07 23:10:21 +00:00
Chris Lattner 8128ca1c2c add note
llvm-svn: 113164
2010-09-06 19:14:40 +00:00
Chris Lattner 8c26cee3f3 some random notes.
llvm-svn: 113118
2010-09-05 20:49:45 +00:00
Chris Lattner fc561bad88 this is a release note worthy change.
llvm-svn: 112907
2010-09-02 23:22:50 +00:00
Chris Lattner 32eff0df9a updates to make it clear that this applies to clang and other llvm subprojects.
llvm-svn: 112781
2010-09-02 00:09:17 +00:00
Chris Lattner 44ab470c8e update the tutorial to use CreateFAdd to create fp operations.
llvm-svn: 112733
2010-09-01 20:09:20 +00:00
Jakob Stoklund Olesen 94e90b9406 Stack slot access methods are in TargetInstrInfo.
llvm-svn: 112653
2010-08-31 22:01:07 +00:00
Duncan Sands 11c23fc349 Update the Ada instructions to LLVM 2.7 (from LLVM 2.5).
llvm-svn: 112630
2010-08-31 19:40:21 +00:00
Dan Gohman f2d817192b Update the descriptions of NoModRef and ModRef to be consistent
with the descriptions of Mod and Ref.

llvm-svn: 112557
2010-08-30 23:47:24 +00:00
Duncan Sands 1b6744a376 Remove a hack that tries to understand incorrect triples from the
Triple class constructor.  Only valid triples should now be used
inside LLVM - front-ends are now responsable for rejecting or
correcting invalid target triples.  The Triple::normalize method
can be used to straighten out funky triples provided by users.
Give this a whirl through the buildbots to see if I caught all
places where triples enter LLVM.

llvm-svn: 112470
2010-08-30 10:57:54 +00:00
Chris Lattner bd24404718 remove the MSIL backend. It isn't maintained, is buggy, has no testcases
and hasn't kept up with ToT.  Approved by Anton.

llvm-svn: 112375
2010-08-28 16:33:36 +00:00
Chris Lattner 13ee795c42 remove unions from LLVM IR. They are severely buggy and not
being actively maintained, improved, or extended.

llvm-svn: 112356
2010-08-28 04:09:24 +00:00
Bill Wendling 578ee4070c Create the new linker type "linker_private_weak_def_auto".
It's similar to "linker_private_weak", but it's known that the address of the
object is not taken. For instance, functions that had an inline definition, but
the compiler decided not to inline it. Note, unlike linker_private and
linker_private_weak, linker_private_weak_def_auto may have only default
visibility.  The symbols are removed by the linker from the final linked image
(executable or dynamic library).

llvm-svn: 111684
2010-08-20 22:05:50 +00:00
Dan Gohman d3ee4238a5 Make the SCC printing passes use errs() instead of outs(), as the
other printing passes do, and update the documentation accordingly.

llvm-svn: 111601
2010-08-20 01:03:44 +00:00
Chris Lattner 249b976ed2 fix a broken link
llvm-svn: 111326
2010-08-17 23:26:04 +00:00
Chris Lattner 54a7be757b add some &nbsp;'s to a pre to avoid newlines being eaten
and the formatting being thrown off.  I admit to not knowing
what is going on here.

llvm-svn: 111249
2010-08-17 17:13:42 +00:00
Oscar Fuentes 43c6321340 CMake: document how to incorporate LLVM into the cmake project of an
external project.

llvm-svn: 110561
2010-08-09 03:26:48 +00:00
Oscar Fuentes c9793795f7 CMake: documented testing procedure
llvm-svn: 110559
2010-08-09 02:49:39 +00:00
Rafael Espindola fb1f29acf9 Add a opt-args option that can be used to pass arguments to every opt
invocation. Fixes PR7793:

bugpoint -debug test.ll --opt-args -unroll-count=4

llvm-svn: 110555
2010-08-08 22:14:20 +00:00
Rafael Espindola 717cd17f6f s/libLLVMgold/LLVMgold/g
llvm-svn: 110552
2010-08-08 21:14:26 +00:00
Peter Collingbourne 099c4e3cde Fix missing </a> tag error introduced by addition of LowerAtomic pass.
While at it, fix all other HTML validation errors in docs/Passes.html.

llvm-svn: 110428
2010-08-06 02:13:25 +00:00
Eric Christopher fa5d2415b6 Document results of PR7762.
llvm-svn: 110373
2010-08-05 20:38:39 +00:00
Owen Anderson f16eb37b54 Add a note about the changing pass registration interface.
llvm-svn: 110231
2010-08-04 18:27:08 +00:00
Dan Gohman 67c0212353 Delete mkpatch. Everything it does is already done by svn diff by default.
llvm-svn: 110203
2010-08-04 16:07:22 +00:00
Dan Gohman 852287332a Remove a link which is no longer relevant.
llvm-svn: 110202
2010-08-04 15:59:16 +00:00
Torok Edwin e6f478f795 Note some LLVM 2.7 -> 2.8 APIs that changed / got renamed.
I encountered these while upgrading libclamav.

llvm-svn: 110196
2010-08-04 12:43:22 +00:00
Peter Collingbourne ddaaf40d24 Add an atomic lowering pass
llvm-svn: 110113
2010-08-03 16:19:16 +00:00
Daniel Dunbar f85eb933d4 docs/TestingGuide: Minimal update to describe 'lit' based regression testing
instead of DejaGNU. Still a bit kooky, since the current test format still has
some strong Tcl roots. Oh well!

llvm-svn: 110005
2010-08-02 01:20:23 +00:00
Daniel Dunbar a9075c5ead docs/TestingGuide: Rip out description of old nightly tester infrastructure. The
official recommendation is to use LNT instead. I will write docs on setting up
an LNT installation for submission to llvm.org, one day.

llvm-svn: 110004
2010-08-02 01:20:20 +00:00
Nick Lewycky daf67727a3 Fix word choice.
llvm-svn: 109995
2010-08-01 23:18:45 +00:00
John Criswell ad05ae483f Grammar cop pullover: Corrected and improved some grammar in the description of
the llvm.memset() intrinsic family.
No content changes.

llvm-svn: 109863
2010-07-30 16:30:28 +00:00
Gabor Greif ed79dcb1ab re-commit r109220, the compile error has already been fixed
Simplifying use_iterators by dereferencing
is not a good idea. The codebase does not depend
in this any more, and it may introduce hidden
runtime cost. If you get compile errors, please
dereference your iterator before passing to cast<>
(and friends).

Also: please consider caching the result of
operator* and reusing that instead of dereferencing
many times.

llvm-svn: 109425
2010-07-26 18:48:07 +00:00
Peter Collingbourne b724226063 Document BUILD_EXAMPLES makefile variable
llvm-svn: 109346
2010-07-24 17:54:00 +00:00
Tobias Grosser 336734aca6 Add new RegionInfo pass.
The RegionInfo pass detects single entry single exit regions in a function,
where a region is defined as any subgraph that is connected to the remaining
graph at only two spots.
Furthermore an hierarchical region tree is built.
Use it by calling "opt -regions analyze" or "opt -view-regions".

llvm-svn: 109089
2010-07-22 07:46:31 +00:00
Owen Anderson ac4a1ede17 Add INSTANTIATE_AG_PASS, which combines RegisterPass<> with RegisterAnalysisGroup<> for pass registration.
llvm-svn: 109058
2010-07-21 23:07:00 +00:00
Owen Anderson 7ca8fb4795 First stab at updating the documentation for INITIALIZE_PASS().
llvm-svn: 109055
2010-07-21 22:58:07 +00:00
Dan Gohman 093cb79d4b Disallow null as a named metadata operand.
Make MDNode::destroy private.
Fix the one thing that used MDNode::destroy, outside of MDNode itself.

One should never delete or destroy an MDNode explicitly. MDNodes
implicitly go away when there are no references to them (implementation
details aside).

llvm-svn: 109028
2010-07-21 18:54:18 +00:00
Chris Lattner b3fa6bf0ef strip out the 2.7 release notes, this really is the 2.8 release notes
now. Add a few items like the fpstackifier improvements.

llvm-svn: 109013
2010-07-21 15:57:40 +00:00
Gabor Greif 930894fe61 appease Validator
llvm-svn: 109007
2010-07-21 10:22:41 +00:00
Gabor Greif 4b17e65baa add info on operand rotation
llvm-svn: 109006
2010-07-21 10:20:08 +00:00
Jakob Stoklund Olesen 8289f78569 Remove the isMoveInstr() hook.
llvm-svn: 108567
2010-07-16 22:35:46 +00:00
Benjamin Kramer 92d8998348 Don't pass StringRef by reference.
llvm-svn: 108366
2010-07-14 22:38:02 +00:00
Dan Gohman 58cd65f2fe Fix the Named Metadata example to make it clear which specific
construct is the named metadata.

llvm-svn: 108263
2010-07-13 19:48:13 +00:00
Devang Patel 4a7904d652 Fix compile unit in example. Thanks Renato Golin!
llvm-svn: 108246
2010-07-13 16:53:20 +00:00
Benjamin Kramer 79698be162 HTML cleanup and validation.
llvm-svn: 108239
2010-07-13 12:26:09 +00:00
Duncan Sands a522e563a8 When doing sext/zext of constants, the target type must be strictly
wider than the source type.  Correct LangRef.

llvm-svn: 108238
2010-07-13 12:06:14 +00:00
Jakob Stoklund Olesen c4227f1362 Remove TargetInstrInfo::copyRegToReg entirely.
Targets must now implement TargetInstrInfo::copyPhysReg instead. There is no
longer a default implementation forwarding to copyRegToReg.

llvm-svn: 108095
2010-07-11 17:01:17 +00:00
Dan Gohman e501ff7cc6 sdiv overflow is outright undefined behavior, with or without the
'exact' keyword. Thanks to nlewycky for pointing this out!

llvm-svn: 108064
2010-07-11 00:08:34 +00:00
Duncan Sands 1567f0fa7e Tweak some docs now that the default build is called Debug+Asserts.
llvm-svn: 107862
2010-07-08 08:27:18 +00:00
Reid Kleckner 7d797f613f Update the docs for debugging JITed code with GDB.
llvm-svn: 107808
2010-07-07 20:16:45 +00:00
Dan Gohman 00ef93258a Remove interprocedural-basic-aa and associated code. The AliasAnalysis
interface needs implementations to be consistent, so any code which
wants to support different semantics must use a different interface.
It's not currently worthwhile to add a new interface for this new
concept.

Document that AliasAnalysis doesn't support cross-function queries.

llvm-svn: 107776
2010-07-07 14:27:09 +00:00
Duncan Sands 408bb192de Rename "Release" builds as "Release+Asserts"; rename "Release-Asserts"
builds to "Release".  The default build is unchanged (optimization on,
assertions on), however it is now called Release+Asserts.  The intent
is that future LLVM releases released via llvm.org will be Release builds
in the new sense, i.e. will have assertions disabled (currently they have
assertions enabled, for a more than 20% slowdown).  This will bring them
in line with MacOS releases, which ship with assertions disabled.  It also
means that "Release" now means the same things in make and cmake builds:
cmake already disables assertions for "Release" builds AFAICS.

llvm-svn: 107758
2010-07-07 07:48:00 +00:00
John McCall 72ed8908ee Closing tags start with slashes.
llvm-svn: 107699
2010-07-06 21:07:14 +00:00
Chris Lattner 5eff9ca26e minor typo
llvm-svn: 107696
2010-07-06 20:51:35 +00:00
Nick Lewycky 14b58dac8d Alphabetize the list of function parameters.
llvm-svn: 107680
2010-07-06 18:24:09 +00:00
Duncan Sands 83cec97479 Bring the list of passes and their descriptions up to date.
Patch by Kenneth Hoste.

llvm-svn: 107669
2010-07-06 15:52:15 +00:00
Dan Gohman 6c858db40c Note the relationship between C99 restrict and LLVM noalias, and
clarify a few other things.

llvm-svn: 107659
2010-07-06 15:26:33 +00:00
Chris Lattner 30f33eb935 indmemrem and lowerallocs are gone.
llvm-svn: 107587
2010-07-04 17:36:43 +00:00
Dan Gohman ece6906ea0 Document that BasicAA respects noalias, while InterproceduralBasicAA
does not.

llvm-svn: 107546
2010-07-02 23:52:36 +00:00
Dan Gohman de25629e4f Describe which dependencies are relevant to noalias, and document how
AliasAnalyses have the choice to respect noalias.

llvm-svn: 107544
2010-07-02 23:46:54 +00:00
Dan Gohman 3770af5852 Add some html anchors, to allow attributes to be linked to directly.
llvm-svn: 107538
2010-07-02 23:18:08 +00:00
Dan Gohman df12d08b8e Reword the definition of the noalias attribute. The intention is for
the noalias argument on function attributes be usable to model the
C99 restrict keyword on arguments, and to allow AliasAnalysis to
consider a noalias-attributed argument to be an "identified object".

To support this, refactor a new "based on" concept out of the current
pointer aliasing "associated" concept. This "based on" concept is very
similar to (though it is not identical with) the "based on" concept
in C99.

Also, reword the definition of NoAlias to more closely describe the
concept that the optimizer uses.

llvm-svn: 107495
2010-07-02 18:41:32 +00:00
Bill Wendling 03bcd6ecc8 Implement the "linker_private_weak" linkage type. This will be used for
Objective-C metadata types which should be marked as "weak", but which the
linker will remove upon final linkage. However, this linkage isn't specific to
Objective-C.

For example, the "objc_msgSend_fixup_alloc" symbol is defined like this:

      .globl l_objc_msgSend_fixup_alloc
      .weak_definition l_objc_msgSend_fixup_alloc
      .section __DATA, __objc_msgrefs, coalesced
      .align 3
l_objc_msgSend_fixup_alloc:
       .quad   _objc_msgSend_fixup
       .quad   L_OBJC_METH_VAR_NAME_1

This is different from the "linker_private" linkage type, because it can't have
the metadata defined with ".weak_definition".

Currently only supported on Darwin platforms.

llvm-svn: 107433
2010-07-01 21:55:59 +00:00
Bill Wendling 3632171750 Revert r107205 and r107207.
llvm-svn: 107215
2010-06-29 22:34:52 +00:00
Bill Wendling 7d7a50a0ae Improve explanation.
llvm-svn: 107207
2010-06-29 21:41:58 +00:00
Bill Wendling 1767723dbe Introducing the "linker_weak" linkage type. This will be used for Objective-C
metadata types which should be marked as "weak", but which the linker will
remove upon final linkage. For example, the "objc_msgSend_fixup_alloc" symbol is
defined like this:

       .globl l_objc_msgSend_fixup_alloc
       .weak_definition l_objc_msgSend_fixup_alloc
       .section __DATA, __objc_msgrefs, coalesced
       .align 3
l_objc_msgSend_fixup_alloc:
        .quad   _objc_msgSend_fixup
        .quad   L_OBJC_METH_VAR_NAME_1

This is different from the "linker_private" linkage type, because it can't have
the metadata defined with ".weak_definition".

llvm-svn: 107205
2010-06-29 21:24:00 +00:00
Dan Gohman b160ba46e8 Add a blurb about -scev-aa.
llvm-svn: 107080
2010-06-28 22:09:52 +00:00
Dan Gohman a3de0186b8 Document problems that I encountered when working on -scev-aa.
llvm-svn: 106776
2010-06-24 19:34:03 +00:00
Chris Lattner 58f3c1f863 This makes example Makefile a lot more like actual
lib/Transforms/Hello/Makefile, and prevents a lot of errors like "Assertion
`Inserted && "Pass registered multiple times!"' failed"

Patch by Gregory Petrosyan!

llvm-svn: 106471
2010-06-21 20:36:09 +00:00
Eric Christopher 75d4ecb9c3 Remove isTwoAddress from llvm.
llvm-svn: 106470
2010-06-21 20:35:09 +00:00
Chris Lattner 456102117a fix typos reported by Adam Warner!
llvm-svn: 106468
2010-06-21 20:31:30 +00:00
Eric Christopher a4f06da5f1 Another typo.
llvm-svn: 106340
2010-06-18 22:51:25 +00:00
Eric Christopher 64ae6577ba Fix typo.
llvm-svn: 106335
2010-06-18 22:33:17 +00:00
Bruno Cardoso Lopes 23f8321cbc Teach tablegen how to inherit from classes in 'defm' definitions.
The rule is simple: only inherit from a class list if they come
in the end, after the last multiclass.

llvm-svn: 106305
2010-06-18 19:53:41 +00:00
Dan Gohman 4eb4719432 Minor clarification.
llvm-svn: 106234
2010-06-17 19:23:50 +00:00
Bruno Cardoso Lopes 4d1d798736 For a tablegen expression such as !if(a,b,c), let 'a'
be evaluated for 'bit' operators

llvm-svn: 106185
2010-06-17 00:31:36 +00:00
Bruno Cardoso Lopes 77a4a56251 let the '!eq' expression support 'int' and 'bit' types
llvm-svn: 106171
2010-06-16 23:24:12 +00:00
Jakob Stoklund Olesen ec2e964fd6 Remove the local register allocator.
Please use the fast allocator instead.

llvm-svn: 106051
2010-06-15 21:58:33 +00:00
Eric Christopher 4f475d07ba Update html tutorial docs to match api changes.
llvm-svn: 105933
2010-06-14 06:09:39 +00:00
Bruno Cardoso Lopes 5f2adccc1b Teach tablegen to allow "let" expressions inside multiclasses,
providing more ways to factor out commonality from the records.

llvm-svn: 105776
2010-06-10 02:42:59 +00:00
Bruno Cardoso Lopes c4f614870f Teach tablegen to support 'defm' inside multiclasses.
llvm-svn: 105519
2010-06-05 02:11:52 +00:00
Devang Patel e89b759501 Update docs to reflect new DISubprogram elements.
llvm-svn: 105495
2010-06-04 22:49:55 +00:00
Rafael Espindola 598342accf Update the documentation, getCalleeSavedRegClasses is not required anymore.
llvm-svn: 105323
2010-06-02 14:03:11 +00:00
Nick Lewycky 9ab9a7fb29 Document aggregate operation constant expressions.
llvm-svn: 105098
2010-05-29 06:44:15 +00:00
Dale Johannesen ce52285c38 Fix Data Layout description of floating point.
llvm-svn: 104993
2010-05-28 18:54:47 +00:00
Dan Gohman aabfdb39af Fix more whitespace to be consistent with AsmPrinter.
llvm-svn: 104963
2010-05-28 17:13:49 +00:00
Dan Gohman d6a6f61fdb Fix whitespace to be more consistent with AsmPrinter's style.
llvm-svn: 104962
2010-05-28 17:07:41 +00:00
Dan Gohman 2140a74979 Eliminate the restriction that the array size in an alloca must be i32.
This will help reduce the amount of casting required on 64-bit targets.

llvm-svn: 104911
2010-05-28 01:14:11 +00:00
Dan Gohman e58f7b3c76 Fix a missing quote.
llvm-svn: 104750
2010-05-26 21:56:15 +00:00
Jim Grosbach 172aaadd20 Add entry for llvm.eh.sjlj.longjmp. PR4999.
llvm-svn: 104703
2010-05-26 16:21:41 +00:00
Chris Lattner 37c529ae68 expand on the llvm ir bitcode dox. Patch by Peter Housel!
llvm-svn: 104391
2010-05-21 22:20:54 +00:00
Tobias Grosser 4518c866b4 Update autoconf/automake versions in the documentation to match the versions used in Autogen.sh
llvm-svn: 104113
2010-05-19 07:00:17 +00:00
Duncan Sands 6c5e4355bb I got tired of VISIBILITY_HIDDEN colliding with the gcc enum. Rename it
to LLVM_LIBRARY_VISIBILITY and introduce LLVM_GLOBAL_VISIBILITY, which is
the opposite, for future use by dragonegg.

llvm-svn: 103495
2010-05-11 20:16:09 +00:00
Daniel Dunbar 94ffc292c6 Test commit.
llvm-svn: 103479
2010-05-11 17:22:45 +00:00
Tanya Lattner 1c63ea61cf Test commit.
llvm-svn: 103478
2010-05-11 16:47:42 +00:00
Tanya Lattner 7caf0a70de Test commit.
llvm-svn: 103477
2010-05-11 16:46:45 +00:00
Tobias Grosser 4c91c526ca Document graphviz passes for the (post) dominator tree.
Add documentation for:
  -dot-dom
  -dot-dom-only
  -dot-postdom
  -dot-postdom-only
  -view-dom
  -view-dom-only
  -view-postdom
  -view-postdom-only

llvm-svn: 103251
2010-05-07 09:33:18 +00:00
mike-m f375e9a092 Revert r103213. It broke several sections of live website.
llvm-svn: 103219
2010-05-07 00:28:04 +00:00
mike-m c750e87c33 Disable man->postscript and man->pdf doc generation unless explicitly
configured via --enable-doxygen. It seems some systems have broken pdfroff
so automatic use of it is not safe.

llvm-svn: 103217
2010-05-07 00:13:23 +00:00
mike-m 90fbedcb54 Cleanup unneeded dirs after docs overhaul.
llvm-svn: 103215
2010-05-06 23:48:37 +00:00
mike-m e08af303a6 Overhauled llvm/clang docs builds. Closes PR6613.
NOTE: 2nd part changeset for cfe trunk to follow.

*** PRE-PATCH ISSUES ADDRESSED

- clang api docs fail build from objdir
- clang/llvm api docs collide in install PREFIX/
- clang/llvm main docs collide in install
- clang/llvm main docs have full of hard coded destination
  assumptions and make use of absolute root in static html files;
  namely CommandGuide tools hard codes a website destination
  for cross references and some html cross references assume
  website root paths

*** IMPROVEMENTS

- bumped Doxygen from 1.4.x -> 1.6.3
- splits llvm/clang docs into 'main' and 'api' (doxygen) build trees
- provide consistent, reliable doc builds for both main+api docs
- support buid vs. install vs. website intentions
- support objdir builds
- document targets with 'make help'
- correct clean and uninstall operations
- use recursive dir delete only where absolutely necessary
- added call function fn.RMRF which safeguards against botched 'rm -rf';
  if any target (or any variable is evaluated) which attempts
  to remove any dirs which match a hard-coded 'safelist', a verbose
  error will be printed and make will error-stop.

llvm-svn: 103213
2010-05-06 23:45:43 +00:00
Chris Lattner 966a382ae7 Fix some ..'s
llvm-svn: 103134
2010-05-05 23:29:09 +00:00
Chris Lattner a25ee78fc0 one more thing.
llvm-svn: 103024
2010-05-04 18:16:00 +00:00
Chris Lattner f3d99aaa22 update instructions for llvm-gcc4, the brave new world! PR7037
llvm-svn: 103023
2010-05-04 18:15:33 +00:00
Dan Gohman 3b763f4ba0 Update one more 2.7 to 2.8.
llvm-svn: 102978
2010-05-03 23:52:21 +00:00
Dan Gohman 62af9d2723 Minimally update ReleaseNotes.html for 2.8 development; uncomment and
update the big red warning at the top. Most of the old content remains
and awaits revision.

Clear out the API changes section, and start it up again with a
mention of the add->fadd transition.

llvm-svn: 102977
2010-05-03 23:51:05 +00:00