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