1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 19:12:56 +02:00
Commit Graph

3962 Commits

Author SHA1 Message Date
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