| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
note that we don't try to portably define what volatile in LLVM IR means.
llvm-svn: 138274
|
| |
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
commas.
llvm-svn: 138043
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 137673
|
| |
|
|
|
|
| |
indices passed to getelementptr are signed.
llvm-svn: 137538
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
Added example for illegal non-atomic operation.
llvm-svn: 137520
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
prevailing convention. Thanks to Dave Zarzycki for the patch.
llvm-svn: 137497
|
| |
|
|
| |
llvm-svn: 137496
|
| |
|
|
| |
llvm-svn: 137488
|
| |
|
|
| |
llvm-svn: 137468
|
| |
|
|
|
|
| |
with Git.
llvm-svn: 137444
|
| |
|
|
|
|
|
|
| |
tracking branch.
Thanks to Jeff Yasskin to reword.
llvm-svn: 137443
|
| |
|
|
| |
llvm-svn: 137442
|
| |
|
|
| |
llvm-svn: 137433
|
| |
|
|
|
|
| |
"doc_code".
llvm-svn: 137432
|
| |
|
|
|
|
| |
beneficial.
llvm-svn: 137425
|
| |
|
|
| |
llvm-svn: 137408
|
| |
|
|
| |
llvm-svn: 137403
|
| |
|
|
| |
llvm-svn: 137388
|
| |
|
|
| |
llvm-svn: 137386
|
| |
|
|
| |
llvm-svn: 137315
|
| |
|
|
| |
llvm-svn: 137243
|
| |
|
|
| |
llvm-svn: 137177
|
| |
|
|
| |
llvm-svn: 137170
|
| |
|
|
|
|
| |
This is mostly descriptive of the intended state once atomic load and store have landed.
llvm-svn: 137145
|
| |
|
|
| |
llvm-svn: 137042
|
| |
|
|
| |
llvm-svn: 137040
|
| |
|
|
| |
llvm-svn: 136866
|
| |
|
|
|
|
| |
This is some of my original LLVM code. *wipes tear*
llvm-svn: 136821
|
| |
|
|
|
|
| |
'outlined' from the function with the landing pad for all platforms.
llvm-svn: 136799
|
| |
|
|
| |
llvm-svn: 136790
|
| |
|
|
|
|
| |
instruction's documentation to reference the landingpad and resume instructions.
llvm-svn: 136729
|
| |
|
|
| |
llvm-svn: 136718
|
| |
|
|
| |
llvm-svn: 136684
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 136668
|
| |
|
|
| |
llvm-svn: 136646
|
| |
|
|
| |
llvm-svn: 136591
|
| |
|
|
| |
llvm-svn: 136590
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
r136339, r136341, r136369, r136387, r136392, r136396, r136429, r136430, r136444,
r136445, r136446, r136253 pending review.
llvm-svn: 136556
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
'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
|
| |
|
|
|
|
| |
This adds the new instructions 'landingpad' and 'resume'.
llvm-svn: 136253
|
| |
|
|
| |
llvm-svn: 136228
|
| |
|
|
| |
llvm-svn: 136133
|
| |
|
|
| |
llvm-svn: 136112
|