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