Eli Friedman
5c21e417bb
Changes per Jeffrey's comments.
...
llvm-svn: 137243
2011-08-10 20:17:43 +00:00
Eli Friedman
306aa10c47
Fix minor typo.
...
llvm-svn: 137177
2011-08-09 23:26:12 +00:00
Eli Friedman
5a2d27800e
Representation of 'atomic load' and 'atomic store' in IR.
...
llvm-svn: 137170
2011-08-09 23:02:53 +00:00
Eli Friedman
5927cb56e3
First draft of the practical guide to atomics.
...
This is mostly descriptive of the intended state once atomic load and store have landed.
llvm-svn: 137145
2011-08-09 21:07:10 +00:00
Bill Wendling
0f2208f619
Clean up the grammar for the landingpad instruction.
...
llvm-svn: 137042
2011-08-08 08:06:05 +00:00
Bill Wendling
83c0ada603
Fix typo found by John.
...
llvm-svn: 137040
2011-08-08 07:58:58 +00:00
Jay Foad
7713b0b4c9
Reword.
...
llvm-svn: 136866
2011-08-04 10:43:43 +00:00
Bill Wendling
fdea9930ac
Remove the LowerSetJmp pass. It wasn't used effectively by any of the targets.
...
This is some of my original LLVM code. *wipes tear*
llvm-svn: 136821
2011-08-03 22:18:20 +00:00
Bill Wendling
6eae915356
Go back to the old definition. It's not clear that a 'resume' can be 'outlined' from the function with the landing pad for all platforms.
...
llvm-svn: 136799
2011-08-03 18:37:32 +00:00
Bill Wendling
da7eb90ea1
Explain how clauses are applied.
...
llvm-svn: 136790
2011-08-03 17:17:06 +00:00
Bill Wendling
9f3e3462b8
Add the documentation for the 'landingpad' instruction. Improve the 'invoke'
...
instruction's documentation to reference the landingpad and resume instructions.
llvm-svn: 136729
2011-08-02 21:52:38 +00:00
Chris Lattner
a780c5c9f1
no need to count the terminators.
...
llvm-svn: 136718
2011-08-02 20:29:13 +00:00
Bill Wendling
ea8143f430
Duncan's english is better than mine. :-)
...
llvm-svn: 136684
2011-08-02 06:39:13 +00:00
Bill Wendling
b37af02067
Remove the LLVMBuildUnwind C API function.
...
The 'unwind' function is going away with the new EH rewrite. This is step 0 in
keeping front-ends from using it.
llvm-svn: 136683
2011-08-02 06:20:17 +00:00
John McCall
fcf5d9ff74
I am the code owner for Clang's IR generation; this has been true
...
for awhile, but it's good to make this official.
Just to be clear, Doug and Ted "elected" me to this position.
Might as well add myself to the credits list while I'm at it.
llvm-svn: 136673
2011-08-02 01:38:19 +00:00
Eli Friedman
22875e2d35
Minor wording tweak for memory model.
...
llvm-svn: 136668
2011-08-02 01:15:34 +00:00
Roman Divacky
cda7c35eaf
Fix a typo.
...
llvm-svn: 136646
2011-08-01 20:38:27 +00:00
Bill Wendling
108ce4478d
Fix some validation errors.
...
llvm-svn: 136591
2011-07-31 06:47:33 +00:00
Bill Wendling
3f24afed54
Fix some validation errors.
...
llvm-svn: 136590
2011-07-31 06:45:03 +00:00
Bill Wendling
8a625cebd2
Add the 'resume' instruction for the new EH rewrite.
...
This adds the 'resume' instruction class, IR parsing, and bitcode reading and
writing. The 'resume' instruction resumes propagation of an existing (in-flight)
exception whose unwinding was interrupted with a 'landingpad' instruction (to be
added later).
llvm-svn: 136589
2011-07-31 06:30:59 +00:00
Bill Wendling
57ddbb84ac
Revert r136253, r136263, r136269, r136313, r136325, r136326, r136329, r136338,
...
r136339, r136341, r136369, r136387, r136392, r136396, r136429, r136430, r136444,
r136445, r136446, r136253 pending review.
llvm-svn: 136556
2011-07-30 05:42:50 +00:00
Eli Friedman
f6797ffc9a
LangRef and basic memory-representation/reading/writing for 'cmpxchg' and
...
'atomicrmw' instructions, which allow representing all the current atomic
rmw intrinsics.
The allowed operands for these instructions are heavily restricted at the
moment; we can probably loosen it a bit, but supporting general
first-class types (where it makes sense) might get a bit complicated,
given how SelectionDAG works.
As an initial cut, these operations do not support specifying an alignment,
but it would be possible to add if we think it's useful. Specifying an
alignment lower than the natural alignment would be essentially
impossible to support on anything other than x86, but specifying a greater
alignment would be possible. I can't think of any useful optimizations which
would use that information, but maybe someone else has ideas.
Optimizer/codegen support coming soon.
llvm-svn: 136404
2011-07-28 21:48:00 +00:00
Bill Wendling
b20cfdfe95
Merge the contents from exception-handling-rewrite to the mainline.
...
This adds the new instructions 'landingpad' and 'resume'.
llvm-svn: 136253
2011-07-27 20:18:04 +00:00
Devang Patel
cd7dd596b2
Update document listing DIVariable elements to reflect recent changes.
...
llvm-svn: 136228
2011-07-27 18:14:50 +00:00
Bill Wendling
470df5ce10
Fix a typo.
...
llvm-svn: 136133
2011-07-26 20:42:28 +00:00
Andrew Trick
0219419a01
Updating stale documentation on regalloc modes.
...
llvm-svn: 136112
2011-07-26 18:31:49 +00:00
Bill Wendling
82fa07e47a
Clean up the HTML here a bit.
...
llvm-svn: 136074
2011-07-26 10:41:15 +00:00
Bill Wendling
5b637eedcd
Describe the reasoning for compact unwind in better terms. Thanks to Nick Kledzik for the description.
...
llvm-svn: 136064
2011-07-26 07:58:09 +00:00
Eli Friedman
50291d09da
Initial implementation of 'fence' instruction, the new C++0x-style replacement for llvm.memory.barrier.
...
This is just a LangRef entry and reading/writing/memory representation; optimizer+codegen support coming soon.
llvm-svn: 136009
2011-07-25 23:16:38 +00:00
Nick Lewycky
d18e87a4dd
80 columns.
...
llvm-svn: 135972
2011-07-25 21:13:23 +00:00
Bill Wendling
90adf00b91
Fix some typos.
...
llvm-svn: 135956
2011-07-25 20:25:03 +00:00
Bill Wendling
27bbd5aa2f
An initial description of the compact unwind encoding.
...
llvm-svn: 135955
2011-07-25 20:19:48 +00:00
Rafael Espindola
c04ccde860
Add uwtable to the langref.
...
llvm-svn: 135913
2011-07-25 15:27:59 +00:00
Jay Foad
6513dac6e2
Convert GetElementPtrInst to use ArrayRef.
...
llvm-svn: 135904
2011-07-25 09:48:08 +00:00
Chris Lattner
ec448a31de
clarify that opaque is actually a struct type, PR10430
...
llvm-svn: 135861
2011-07-23 19:59:08 +00:00
Chris Lattner
418c6d4374
how about that, StringRef doesn't allow any mutation, thanks to
...
Frits for straightening me out.
llvm-svn: 135856
2011-07-23 17:18:57 +00:00
Chris Lattner
410e97a81b
add section to ToC
...
llvm-svn: 135811
2011-07-22 21:36:29 +00:00
Chris Lattner
b687e3c0e6
write the long-overdue strings section of the data structure guide.
...
llvm-svn: 135809
2011-07-22 21:34:12 +00:00
Chris Lattner
2e2fa87d6b
move the section for string-like containers to follow the section for sequential containers.
...
llvm-svn: 135799
2011-07-22 20:46:49 +00:00
Jay Foad
42463ed852
Convert IRBuilder::CreateGEP and IRBuilder::CreateInBoundsGEP to use
...
ArrayRef.
llvm-svn: 135761
2011-07-22 08:16:57 +00:00
Eli Friedman
cbbabe6d39
Some LangRef tweaks, per Dan's comments.
...
llvm-svn: 135744
2011-07-22 03:04:45 +00:00
Jay Foad
0d9ce71ae1
Sort case-insensitively.
...
llvm-svn: 135674
2011-07-21 14:42:51 +00:00
Jay Foad
d4458dd707
Convert ConstantExpr::getGetElementPtr and
...
ConstantExpr::getInBoundsGetElementPtr to use ArrayRef.
llvm-svn: 135673
2011-07-21 14:31:17 +00:00
NAKAMURA Takumi
83acc80027
docs/GettingStarted.html: Tweak style.
...
llvm-svn: 135637
2011-07-20 23:37:51 +00:00
NAKAMURA Takumi
4634322bf4
docs/GettingStarted.html: Fix a typo and tweak a command line.
...
llvm-svn: 135632
2011-07-20 22:58:28 +00:00
Eli Friedman
d9ac7681be
Commit LangRef changes for LLVM concurrency model. Start of supporting C++0x memory model and atomics. See thread on llvmdev titled "Reviving the new LLVM concurrency model".
...
llvm-svn: 135624
2011-07-20 21:35:53 +00:00
Bob Wilson
c7cb9841ca
Revert "Update docs to reflect r135457."
...
This reverts commit ba034c0a2e71303c7cf3f43ca8e69dc8436b32e2.
llvm-svn: 135485
2011-07-19 16:31:58 +00:00
Jay Foad
bbbf29aab7
Convert SimplifyGEPInst to use ArrayRef.
...
llvm-svn: 135482
2011-07-19 15:07:52 +00:00
Jay Foad
83a0e1fa99
Convert gep_type_begin and gep_type_end to use ArrayRef.
...
llvm-svn: 135481
2011-07-19 14:42:50 +00:00
Jay Foad
0974b71f17
Convert TargetData::getIndexedOffset to use ArrayRef.
...
llvm-svn: 135478
2011-07-19 14:01:37 +00:00