| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
init.trampoline and adjust.trampoline intrinsics, into two intrinsics
like in GCC. While having one combined intrinsic is tempting, it is
not natural because typically the trampoline initialization needs to
be done in one function, and the result of adjust trampoline is needed
in a different (nested) function. To get around this llvm-gcc hacks the
nested function lowering code to insert an additional parent variable
holding the adjust.trampoline result that can be accessed from the child
function. Dragonegg doesn't have the luxury of tweaking GCC code, so it
stored the result of adjust.trampoline in the memory GCC set aside for
the trampoline itself (this is always available in the child function),
and set up some new memory (using an alloca) to hold the trampoline.
Unfortunately this breaks Go which allocates trampoline memory on the
heap and wants to use it even after the parent has exited (!). Rather
than doing even more hacks to get Go working, it seemed best to just use
two intrinsics like in GCC. Patch mostly by Sanjoy Das.
llvm-svn: 139140
|
| |
|
|
|
|
| |
Patch by arrowdodger!
llvm-svn: 139106
|
| |
|
|
|
|
|
| |
ssa, so it has to be run really early in the pipeline. Any replacement
should probably use the SSAUpdater.
llvm-svn: 138841
|
| |
|
|
| |
llvm-svn: 138823
|
| |
|
|
|
|
| |
Eli added this in revision 132695.
llvm-svn: 138805
|
| |
|
|
| |
llvm-svn: 138472
|
| |
|
|
|
|
| |
Patch by Sanjoy Das!
llvm-svn: 138346
|
| |
|
|
|
|
| |
more.
llvm-svn: 138297
|
| |
|
|
|
|
| |
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
|