#
3acea398 |
| 12-Jun-2014 |
Rafael Espindola <rafael.espindola@gmail.com> |
Don't use 'using std::error_code' in include/llvm.
This should make sure that most new uses use the std prefix.
llvm-svn: 210835
|
#
03bddfee |
| 31-May-2014 |
Rafael Espindola <rafael.espindola@gmail.com> |
Use error_code() instead of error_code::succes()
There is no std::error_code::success, so this removes much of the noise in transitioning to std::error_code.
llvm-svn: 209952
|
Revision tags: llvmorg-3.4.2, llvmorg-3.4.2-rc1, llvmorg-3.4.1, llvmorg-3.4.1-rc2 |
|
#
0915c047 |
| 17-Apr-2014 |
Diego Novillo <dnovillo@google.com> |
Fix bug 19437 - Only add discriminators for DWARF 4 and above.
Summary: This prevents the discriminator generation pass from triggering if the DWARF version being used in the module is prior to 4.
Fix bug 19437 - Only add discriminators for DWARF 4 and above.
Summary: This prevents the discriminator generation pass from triggering if the DWARF version being used in the module is prior to 4.
Reviewers: echristo, dblaikie
CC: llvm-commits
Differential Revision: http://reviews.llvm.org/D3413
llvm-svn: 206507
show more ...
|
Revision tags: llvmorg-3.4.1-rc1 |
|
#
c620761c |
| 09-Apr-2014 |
Craig Topper <craig.topper@gmail.com> |
[C++11] More 'nullptr' conversion or in some cases just using a boolean check instead of comparing to nullptr.
llvm-svn: 205831
|
#
56cc9904 |
| 10-Mar-2014 |
Duncan P. N. Exon Smith <dexonsmith@apple.com> |
Module: Don't rename in getOrInsertFunction()
During LTO, user-supplied definitions of C library functions often exist. -instcombine uses Module::getOrInsertFunction() to get a handle on library fu
Module: Don't rename in getOrInsertFunction()
During LTO, user-supplied definitions of C library functions often exist. -instcombine uses Module::getOrInsertFunction() to get a handle on library functions (e.g., @puts, when optimizing @printf).
Previously, Module::getOrInsertFunction() would rename any matching functions with local linkage, and create a new declaration. In LTO, this is the opposite of desired behaviour, as it skips by the user-supplied version of the library function and creates a new undefined reference which the linker often cannot resolve.
After some discussing with Rafael on the list, it looks like it's undesired behaviour. If a consumer actually *needs* this behaviour, we should add new API with a more explicit name.
I added two testcases: one specifically for the -instcombine behaviour and one for the LTO flow.
<rdar://problem/16165191>
llvm-svn: 203513
show more ...
|
#
3ad5c962 |
| 10-Mar-2014 |
Benjamin Kramer <benny.kra@googlemail.com> |
[C++11] Modernize the IR library a bit.
No functionality change.
llvm-svn: 203465
|
#
56440fd8 |
| 06-Mar-2014 |
Ahmed Charles <ahmedcharles@gmail.com> |
Replace OwningPtr<T> with std::unique_ptr<T>.
This compiles with no changes to clang/lld/lldb with MSVC and includes overloads to various functions which are used by those projects and llvm which ha
Replace OwningPtr<T> with std::unique_ptr<T>.
This compiles with no changes to clang/lld/lldb with MSVC and includes overloads to various functions which are used by those projects and llvm which have OwningPtr's as parameters. This should allow out of tree projects some time to move. There are also no changes to libs/Target, which should help out of tree targets have time to move, if necessary.
llvm-svn: 203083
show more ...
|
#
d1163aa5 |
| 06-Mar-2014 |
Chandler Carruth <chandlerc@gmail.com> |
[Layering] Move GVMaterializer.h into the IR library where its implementation already lived.
After this commit, the only IR-library headers in include/llvm/* are ones related to the legacy pass infr
[Layering] Move GVMaterializer.h into the IR library where its implementation already lived.
After this commit, the only IR-library headers in include/llvm/* are ones related to the legacy pass infrastructure that I'm planning to leave there until the new one is farther along.
The only other headers at the top level are linking and initialization aids that aren't really libraries but just headers.
llvm-svn: 203069
show more ...
|
#
4b6845c7 |
| 04-Mar-2014 |
Chandler Carruth <chandlerc@gmail.com> |
[Modules] Move the LeakDetector header into the IR library where the source file had already been moved. Also move the unittest into the IR unittest library.
This may seem an odd thing to put in the
[Modules] Move the LeakDetector header into the IR library where the source file had already been moved. Also move the unittest into the IR unittest library.
This may seem an odd thing to put in the IR library but we only really use this with instructions and it needs the LLVM context to work, so it is intrinsically tied to the IR library.
llvm-svn: 202842
show more ...
|
#
248ac139 |
| 25-Feb-2014 |
Rafael Espindola <rafael.espindola@gmail.com> |
Fix resetting the DataLayout in a Module.
No tool does this currently, but as everything else in a module we should be able to change its DataLayout.
Most of the fix is in DataLayout to make sure i
Fix resetting the DataLayout in a Module.
No tool does this currently, but as everything else in a module we should be able to change its DataLayout.
Most of the fix is in DataLayout to make sure it can be reset properly.
The test uses Module::setDataLayout since the fact that we mutate a DataLayout is an implementation detail. The module could hold a OwningPtr<DataLayout> and the DataLayout itself could be immutable.
Thanks to Philip Reames for pushing me in the right direction.
llvm-svn: 202198
show more ...
|
#
f863ee29 |
| 25-Feb-2014 |
Rafael Espindola <rafael.espindola@gmail.com> |
Store a DataLayout in Module.
Now that DataLayout is not a pass, store one in Module.
Since the C API expects to be able to get a char* to the datalayout description, we have to keep a std::string
Store a DataLayout in Module.
Now that DataLayout is not a pass, store one in Module.
Since the C API expects to be able to get a char* to the datalayout description, we have to keep a std::string somewhere. This patch keeps it in Module and also uses it to represent modules without a DataLayout.
Once DataLayout is mandatory, we should probably move the string to DataLayout itself since it won't be necessary anymore to represent the special case of a module without a DataLayout.
llvm-svn: 202190
show more ...
|
#
e9fab9b0 |
| 14-Jan-2014 |
Rafael Espindola <rafael.espindola@gmail.com> |
Return an error_code from materializeAllPermanently.
llvm-svn: 199275
|
#
1d06f720 |
| 14-Jan-2014 |
Rafael Espindola <rafael.espindola@gmail.com> |
Use error_code in Module::materializeAll.
llvm-svn: 199269
|
#
032b39e4 |
| 09-Jan-2014 |
Nadav Rotem <nrotem@apple.com> |
Re-remove dead code. This reverts r198854.
llvm-svn: 198879
|
#
d677b310 |
| 09-Jan-2014 |
Nadav Rotem <nrotem@apple.com> |
Revert r198819 - "Remove dead code."
llvm-svn: 198854
|
#
5e10aaeb |
| 09-Jan-2014 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove dead code.
llvm-svn: 198819
|
Revision tags: llvmorg-3.4.0 |
|
#
8da5f7a9 |
| 20-Dec-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
When parsing data layout string looking for endianness, use the correct default
llvm-svn: 197771
|
#
5362ad57 |
| 20-Dec-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
Correctly apply the default pointer size
llvm-svn: 197770
|
Revision tags: llvmorg-3.4.0-rc3, llvmorg-3.4.0-rc2 |
|
#
8b4306ce |
| 02-Dec-2013 |
Manman Ren <manman.ren@gmail.com> |
Debug Info: drop debug info via upgrading path if version number does not match.
Add a helper function getDebugInfoVersionFromModule to return the debug info version number for a module.
"Verifier/
Debug Info: drop debug info via upgrading path if version number does not match.
Add a helper function getDebugInfoVersionFromModule to return the debug info version number for a module.
"Verifier/module-flags-1.ll" checks for verification errors. It will seg fault when calling getDebugInfoVersionFromModule because of the incorrect format for module flags in the testing case. We make getModuleFlagsMetadata more robust by checking for error conditions.
PR17982
llvm-svn: 196158
show more ...
|
Revision tags: llvmorg-3.4.0-rc1 |
|
#
2b11ad4f |
| 05-Nov-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Use error_code in GVMaterializer.
They just propagate out the bitcode reader error, so we don't need a new enum.
llvm-svn: 194091
|
#
a90a340f |
| 30-Sep-2013 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
Reuse variable
llvm-svn: 191712
|
#
27e783e9 |
| 30-Sep-2013 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
Fix getOrInsertGlobal dropping the address space.
Currently it will insert an illegal bitcast. Arguably, the address space argument should be added for the creation case.
llvm-svn: 191702
|
#
5200fdf0 |
| 28-Sep-2013 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
Fix typo
llvm-svn: 191595
|
#
ec2375fb |
| 25-Jul-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Make these methods const correct.
Thanks to Nick Lewycky for noticing it.
llvm-svn: 187098
|
#
8bfde891 |
| 16-Jul-2013 |
Manman Ren <mren@apple.com> |
Add getModuleFlag(StringRef Key) to query a module flag given Key.
No functionality change.
llvm-svn: 186470
|