#
87a2adc7 |
| 31-Oct-2013 |
Manman Ren <manman.ren@gmail.com> |
Do not convert "call asm" to "invoke asm" in Inliner.
Given that backend does not handle "invoke asm" correctly ("invoke asm" will be handled by SelectionDAGBuilder::visitInlineAsm, which does not h
Do not convert "call asm" to "invoke asm" in Inliner.
Given that backend does not handle "invoke asm" correctly ("invoke asm" will be handled by SelectionDAGBuilder::visitInlineAsm, which does not have the right setup for LPadToCallSiteMap) and we already made the assumption that inline asm does not throw in InstCombiner::visitCallSite, we are going to make the same assumption in Inliner to make sure we don't convert "call asm" to "invoke asm".
If it becomes necessary to add support for "invoke asm" later on, we will need to modify the backend as well as remove the assumptions that inline asm does not throw.
Fix rdar://15317907
llvm-svn: 193808
show more ...
|
#
bc7d87f0 |
| 24-Oct-2013 |
Tom Stellard <thomas.stellard@amd.com> |
Inliner: Handle readonly attribute per argument when adding memcpy
Patch by: Vincent Lejeune
llvm-svn: 193356
|
Revision tags: llvmorg-3.3.1-rc1, llvmorg-3.3.0, llvmorg-3.3.0-rc3, llvmorg-3.3.0-rc2, llvmorg-3.3.0-rc1 |
|
#
624c2ebc |
| 30-Apr-2013 |
Richard Trieu <rtrieu@google.com> |
Fix a use after free. RI is freed before the call to getDebugLoc(). To prevent this, capture the location before RI is freed.
llvm-svn: 180824
|
#
8beccf9e |
| 30-Apr-2013 |
Adrian Prantl <aprantl@apple.com> |
Spelling. Thanks, Eric.
llvm-svn: 180794
|
#
0941638a |
| 30-Apr-2013 |
Adrian Prantl <aprantl@apple.com> |
Set debug locations for branch instructions created during inlining, even the inlined function has multiple returns.
rdar://problem/12415623
llvm-svn: 180793
|
#
15db52bf |
| 23-Apr-2013 |
Adrian Prantl <aprantl@apple.com> |
Make sure the instruction right after an inlined function has a debug location. This solves a problem where range of an inlined subroutine is emitted wrongly. Patch by Manman Ren.
Fixes rdar://probl
Make sure the instruction right after an inlined function has a debug location. This solves a problem where range of an inlined subroutine is emitted wrongly. Patch by Manman Ren.
Fixes rdar://problem/12415623
llvm-svn: 180140
show more ...
|
#
56f15bf4 |
| 22-Mar-2013 |
Bill Wendling <isanbard@gmail.com> |
Add all clauses when merging the landing pads. Duplicates will be handled later on.
llvm-svn: 177757
|
#
a397c017 |
| 22-Mar-2013 |
Bill Wendling <isanbard@gmail.com> |
Don't use the removed API.
llvm-svn: 177749
|
#
173c71ff |
| 21-Mar-2013 |
Bill Wendling <isanbard@gmail.com> |
Always forward 'resume' instructions to the outter landing pad.
How did this ever work?
Basically, if you have a function that's inlined into the caller, it may not have any 'call' instructions, bu
Always forward 'resume' instructions to the outter landing pad.
How did this ever work?
Basically, if you have a function that's inlined into the caller, it may not have any 'call' instructions, but any 'resume' instructions it may have should still be forwarded to the outer (caller's) landing pad. This requires that all of the 'landingpad' instructions in the callee have their clauses merged with the caller's outer 'landingpad' instruction (hence the bit of ugly code in the `forwardResume' method).
Testcase in a follow commit to the test-suite repository.
<rdar://problem/13360379> & PR15555
llvm-svn: 177680
show more ...
|
#
9fb823bb |
| 02-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Move all of the header files which are involved in modelling the LLVM IR into their new header subdirectory: include/llvm/IR. This matches the directory structure of lib, and begins to correct a long
Move all of the header files which are involved in modelling the LLVM IR into their new header subdirectory: include/llvm/IR. This matches the directory structure of lib, and begins to correct a long standing point of file layout clutter in LLVM.
There are still more header files to move here, but I wanted to handle them in separate commits to make tracking what files make sense at each layer easier.
The only really questionable files here are the target intrinsic tablegen files. But that's a battle I'd rather not fight today.
I've updated both CMake and Makefile build systems (I think, and my tests think, but I may have missed something).
I've also re-sorted the includes throughout the project. I'll be committing updates to Clang, DragonEgg, and Polly momentarily.
llvm-svn: 171366
show more ...
|
Revision tags: llvmorg-3.2.0, llvmorg-3.2.0-rc3 |
|
#
ed0881b2 |
| 03-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Use the new script to sort the includes of every file under lib.
Sooooo many of these had incorrect or strange main module includes. I have manually inspected all of these, and fixed the main module
Use the new script to sort the includes of every file under lib.
Sooooo many of these had incorrect or strange main module includes. I have manually inspected all of these, and fixed the main module include to be the nearest plausible thing I could find. If you own or care about any of these source files, I encourage you to take some time and check that these edits were sensible. I can't have broken anything (I strictly added headers, and reordered them, never removed), but they may not be the headers you'd really like to identify as containing the API being implemented.
Many forward declarations and missing includes were added to a header files to allow them to parse cleanly when included first. The main module rule does in fact have its merits. =]
llvm-svn: 169131
show more ...
|
Revision tags: llvmorg-3.2.0-rc2, llvmorg-3.2.0-rc1 |
|
#
cfd662f2 |
| 13-Nov-2012 |
Alexey Samsonov <samsonov@google.com> |
Figure out <size> argument of llvm.lifetime intrinsics at the moment they are created (during function inlining)
llvm-svn: 167821
|
#
cdfe20b9 |
| 08-Oct-2012 |
Micah Villmow <villmow@gmail.com> |
Move TargetData to DataLayout.
llvm-svn: 165402
|
#
aafe0918 |
| 29-Jun-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Move llvm/Support/IRBuilder.h -> llvm/IRBuilder.h
This was always part of the VMCore library out of necessity -- it deals entirely in the IR. The .cpp file in fact was already part of the VMCore lib
Move llvm/Support/IRBuilder.h -> llvm/IRBuilder.h
This was always part of the VMCore library out of necessity -- it deals entirely in the IR. The .cpp file in fact was already part of the VMCore library. This is just a mechanical move.
I've tried to go through and re-apply the coding standard's preferred header sort, but at 40-ish files, I may have gotten some wrong. Please let me know if so.
I'll be committing the corresponding updates to Clang and Polly, and Duncan has DragonEgg.
Thanks to Bill and Eric for giving the green light for this bit of cleanup.
llvm-svn: 159421
show more ...
|
#
e38859dc |
| 28-Jun-2012 |
Bill Wendling <isanbard@gmail.com> |
Move lib/Analysis/DebugInfo.cpp to lib/VMCore/DebugInfo.cpp and include/llvm/Analysis/DebugInfo.h to include/llvm/DebugInfo.h.
The reasoning is because the DebugInfo module is simply an interface to
Move lib/Analysis/DebugInfo.cpp to lib/VMCore/DebugInfo.cpp and include/llvm/Analysis/DebugInfo.h to include/llvm/DebugInfo.h.
The reasoning is because the DebugInfo module is simply an interface to the debug info MDNodes and has nothing to do with analysis.
llvm-svn: 159312
show more ...
|
#
dbeafa77 |
| 09-Jun-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
Convert comments to proper Doxygen comments.
llvm-svn: 158248
|
Revision tags: llvmorg-3.1.0, llvmorg-3.1.0-rc3, llvmorg-3.1.0-rc2, llvmorg-3.1.0-rc1 |
|
#
2b40fdf3 |
| 26-Mar-2012 |
Eric Christopher <echristo@apple.com> |
Tidy.
llvm-svn: 153456
|
#
f16bee86 |
| 26-Mar-2012 |
Eric Christopher <echristo@apple.com> |
Tidy.
llvm-svn: 153455
|
#
07d37bc1 |
| 25-Feb-2012 |
Chad Rosier <mcrosier@apple.com> |
Add support for disabling llvm.lifetime intrinsics in the AlwaysInliner. These are optimization hints, but at -O0 we're not optimizing. This becomes a problem when the alwaysinline attribute is abus
Add support for disabling llvm.lifetime intrinsics in the AlwaysInliner. These are optimization hints, but at -O0 we're not optimizing. This becomes a problem when the alwaysinline attribute is abused. rdar://10921594
llvm-svn: 151429
show more ...
|
#
0aef16af |
| 06-Feb-2012 |
Bill Wendling <isanbard@gmail.com> |
[unwind removal] Remove all of the code for the dead 'unwind' instruction. There were no 'unwind' instructions being generated before this, so this is in effect a no-op.
llvm-svn: 149906
|
#
3fd879dd |
| 31-Jan-2012 |
Bill Wendling <isanbard@gmail.com> |
s/getInnerUnwindDest/getInnerResumeDest/g
llvm-svn: 149328
|
#
ea6e935e |
| 31-Jan-2012 |
Bill Wendling <isanbard@gmail.com> |
Remove ivar which is identical to another ivar.
llvm-svn: 149323
|
#
0c2d82b9 |
| 31-Jan-2012 |
Bill Wendling <isanbard@gmail.com> |
Remove unused ivars and s/getOuterUnwindDest/getOuterResumeDest/g.
llvm-svn: 149322
|
#
7778e6d8 |
| 31-Jan-2012 |
Bill Wendling <isanbard@gmail.com> |
Remove more dead functions.
llvm-svn: 149318
|
#
803d6b1b |
| 31-Jan-2012 |
Bill Wendling <isanbard@gmail.com> |
s/getInnerUnwindDestNewEH/getInnerUnwindDest/g
llvm-svn: 149317
|