#
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 ...
|
#
be81023d |
| 02-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Resort the #include lines in include/... and lib/... with the utils/sort_includes.py script.
Most of these are updating the new R600 target and fixing up a few regressions that have creeped in since
Resort the #include lines in include/... and lib/... with the utils/sort_includes.py script.
Most of these are updating the new R600 target and fixing up a few regressions that have creeped in since the last time I sorted the includes.
llvm-svn: 171362
show more ...
|
#
098842b4 |
| 24-Dec-2012 |
Alexey Samsonov <samsonov@google.com> |
Fix typo in comments
llvm-svn: 171021
|
#
4fbc0d08 |
| 21-Dec-2012 |
Evgeniy Stepanov <eugeni.stepanov@gmail.com> |
[msan] Remove unreachable blocks before instrumenting a function.
llvm-svn: 170883
|
Revision tags: llvmorg-3.2.0 |
|
#
3d43b63a |
| 12-Dec-2012 |
Alexey Samsonov <samsonov@google.com> |
Improve debug info generated with enabled AddressSanitizer.
When ASan replaces <alloca instruction> with <offset into a common large alloca>, it should also patch llvm.dbg.declare calls and replace
Improve debug info generated with enabled AddressSanitizer.
When ASan replaces <alloca instruction> with <offset into a common large alloca>, it should also patch llvm.dbg.declare calls and replace debug info descriptors to mark that we've replaced alloca with a value that stores an address of the user variable, not the user variable itself.
See PR11818 for more context.
llvm-svn: 169984
show more ...
|
Revision tags: 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 |
|
#
5da3f051 |
| 01-Nov-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Revert the majority of the next patch in the address space series:
r165941: Resubmit the changes to llvm core to update the functions to support different pointer sizes on a per address spa
Revert the majority of the next patch in the address space series:
r165941: Resubmit the changes to llvm core to update the functions to support different pointer sizes on a per address space basis.
Despite this commit log, this change primarily changed stuff outside of VMCore, and those changes do not carry any tests for correctness (or even plausibility), and we have consistently found questionable or flat out incorrect cases in these changes. Most of them are probably correct, but we need to devise a system that makes it more clear when we have handled the address space concerns correctly, and ideally each pass that gets updated would receive an accompanying test case that exercises that pass specificaly w.r.t. alternate address spaces.
However, from this commit, I have retained the new C API entry points. Those were an orthogonal change that probably should have been split apart, but they seem entirely good.
In several places the changes were very obvious cleanups with no actual multiple address space code added; these I have not reverted when I spotted them.
In a few other places there were merge conflicts due to a cleaner solution being implemented later, often not using address spaces at all. In those cases, I've preserved the new code which isn't address space dependent.
This is part of my ongoing effort to clean out the partial address space code which carries high risk and low test coverage, and not likely to be finished before the 3.2 release looms closer. Duncan and I would both like to see the above issues addressed before we return to these changes.
llvm-svn: 167222
show more ...
|
#
7ec5085e |
| 01-Nov-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Revert the series of commits starting with r166578 which introduced the getIntPtrType support for multiple address spaces via a pointer type, and also introduced a crasher bug in the constant folder
Revert the series of commits starting with r166578 which introduced the getIntPtrType support for multiple address spaces via a pointer type, and also introduced a crasher bug in the constant folder reported in PR14233.
These commits also contained several problems that should really be addressed before they are re-committed. I have avoided reverting various cleanups to the DataLayout APIs that are reasonable to have moving forward in order to reduce the amount of churn, and minimize the number of commits that were reverted. I've also manually updated merge conflicts and manually arranged for the getIntPtrType function to stay in DataLayout and to be defined in a plausible way after this revert.
Thanks to Duncan for working through this exact strategy with me, and Nick Lewycky for tracking down the really annoying crasher this triggered. (Test case to follow in its own commit.)
After discussing with Duncan extensively, and based on a note from Micah, I'm going to continue to back out some more of the more problematic patches in this series in order to ensure we go into the LLVM 3.2 branch with a reasonable story here. I'll send a note to llvmdev explaining what's going on and why.
Summary of reverted revisions:
r166634: Fix a compiler warning with an unused variable. r166607: Add some cleanup to the DataLayout changes requested by Chandler. r166596: Revert "Back out r166591, not sure why this made it through since I cancelled the command. Bleh, sorry about this! r166591: Delete a directory that wasn't supposed to be checked in yet. r166578: Add in support for getIntPtrType to get the pointer type based on the address space. llvm-svn: 167221
show more ...
|
#
f07b9628 |
| 24-Oct-2012 |
Micah Villmow <villmow@gmail.com> |
Fix a compiler warning with an unused variable.
llvm-svn: 166634
|
#
bf3eeb2d |
| 24-Oct-2012 |
Micah Villmow <villmow@gmail.com> |
Add some cleanup to the DataLayout changes requested by Chandler.
llvm-svn: 166607
|
#
4bb926d9 |
| 15-Oct-2012 |
Micah Villmow <villmow@gmail.com> |
Resubmit the changes to llvm core to update the functions to support different pointer sizes on a per address space basis.
llvm-svn: 165941
|
#
0c61134d |
| 11-Oct-2012 |
Micah Villmow <villmow@gmail.com> |
Revert 165732 for further review.
llvm-svn: 165747
|
#
08318973 |
| 11-Oct-2012 |
Micah Villmow <villmow@gmail.com> |
Add in the first iteration of support for llvm/clang/lldb to allow variable per address space pointer sizes to be optimized correctly.
llvm-svn: 165726
|
#
cdfe20b9 |
| 08-Oct-2012 |
Micah Villmow <villmow@gmail.com> |
Move TargetData to DataLayout.
llvm-svn: 165402
|
#
8691e522 |
| 14-Sep-2012 |
Manman Ren <mren@apple.com> |
PGO: preserve branch-weight metadata when simplifying a switch with a single case to a conditional branch and when removing dead cases.
llvm-svn: 163942
|
#
49dbe255 |
| 12-Sep-2012 |
Manman Ren <mren@apple.com> |
PGO: preserve branch-weight metadata when removing a case which jumps to the default target.
llvm-svn: 163724
|
#
8bcc9711 |
| 29-Aug-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Make MemoryBuiltins aware of TargetLibraryInfo.
This disables malloc-specific optimization when -fno-builtin (or -ffreestanding) is specified. This has been a problem for a long time but became more
Make MemoryBuiltins aware of TargetLibraryInfo.
This disables malloc-specific optimization when -fno-builtin (or -ffreestanding) is specified. This has been a problem for a long time but became more severe with the recent memory builtin improvements.
Since the memory builtin functions are used everywhere, this required passing TLI in many places. This means that functions that now have an optional TLI argument, like RecursivelyDeleteTriviallyDeadFunctions, won't remove dead mallocs anymore if the TLI argument is missing. I've updated most passes to do the right thing.
Fixes PR13694 and probably others.
llvm-svn: 162841
show more ...
|
#
7b12b870 |
| 29-Jun-2012 |
Nuno Lopes <nunoplopes@sapo.pt> |
revert r159440. As Duncan pointed out, the test for invoke is not needed at this point
llvm-svn: 159471
|
#
b37ef71c |
| 29-Jun-2012 |
Nuno Lopes <nunoplopes@sapo.pt> |
ignore 'invoke new' in isInstructionTriviallyDead, since most callers are not ready to handle invokes. instcombine will take care of this.
llvm-svn: 159440
|
#
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 ...
|
#
f799efde |
| 29-Jun-2012 |
Bill Wendling <isanbard@gmail.com> |
The DIBuilder class is just a wrapper around debug info creation (a.k.a. MDNodes). The module doesn't belong in Analysis. Move it to the VMCore instead.
llvm-svn: 159414
|
#
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 ...
|
#
8e00efea |
| 23-Jun-2012 |
Stepan Dyatkovskiy <stpworld@narod.ru> |
Optimized usage of new SwitchInst case values (IntegersSubset type) in Local.cpp, Execution.cpp and BitcodeWriter.cpp. I got about 1% of compile-time improvement on my machines (Ubuntu 11.10 i386 and
Optimized usage of new SwitchInst case values (IntegersSubset type) in Local.cpp, Execution.cpp and BitcodeWriter.cpp. I got about 1% of compile-time improvement on my machines (Ubuntu 11.10 i386 and Ubuntu 12.04 x64).
llvm-svn: 159076
show more ...
|
#
55fff834 |
| 21-Jun-2012 |
Nuno Lopes <nunoplopes@sapo.pt> |
refactor the MemoryBuiltin analysis: - provide more extensive set of functions to detect library allocation functions (e.g., malloc, calloc, strdup, etc) - provide an API to compute the size and of
refactor the MemoryBuiltin analysis: - provide more extensive set of functions to detect library allocation functions (e.g., malloc, calloc, strdup, etc) - provide an API to compute the size and offset of an object pointed by
Move a few clients (GVN, AA, instcombine, ...) to the new API. This implementation is a lot more aggressive than each of the custom implementations being replaced.
Patch reviewed by Nick Lewycky and Chandler Carruth, thanks.
llvm-svn: 158919
show more ...
|
#
bde91766 |
| 02-Jun-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Fix typos found by http://github.com/lyda/misspell-check
llvm-svn: 157885
|