#
91065210 |
| 05-Mar-2014 |
Chandler Carruth <chandlerc@gmail.com> |
[Layering] Move AutoUpgrade.h into the IR library where its implementation already lives.
llvm-svn: 202961
|
#
73156025 |
| 02-Mar-2014 |
Craig Topper <craig.topper@gmail.com> |
Switch all uses of LLVM_OVERRIDE to just use 'override' directly.
llvm-svn: 202621
|
#
8f31e213 |
| 15-Jan-2014 |
Rafael Espindola <rafael.espindola@gmail.com> |
Make parseBitcodeFile return an ErrorOr<Module *>.
llvm-svn: 199279
|
#
e9fab9b0 |
| 14-Jan-2014 |
Rafael Espindola <rafael.espindola@gmail.com> |
Return an error_code from materializeAllPermanently.
llvm-svn: 199275
|
#
7157bb76 |
| 14-Jan-2014 |
Nico Rieck <nico.rieck@gmail.com> |
Decouple dllexport/dllimport from linkage
Representing dllexport/dllimport as distinct linkage types prevents using these attributes on templates and inline functions.
Instead of introducing furthe
Decouple dllexport/dllimport from linkage
Representing dllexport/dllimport as distinct linkage types prevents using these attributes on templates and inline functions.
Instead of introducing further mixed linkage types to include linkonce and weak ODR, the old import/export linkage types are replaced with a new separate visibility-like specifier:
define available_externally dllimport void @f() {} @Var = dllexport global i32 1, align 4
Linkage for dllexported globals and functions is now equal to their linkage without dllexport. Imported globals and functions must be either declarations with external linkage, or definitions with AvailableExternallyLinkage.
llvm-svn: 199218
show more ...
|
#
9d2e0df0 |
| 14-Jan-2014 |
Nico Rieck <nico.rieck@gmail.com> |
Revert "Decouple dllexport/dllimport from linkage"
Revert this for now until I fix an issue in Clang with it.
This reverts commit r199204.
llvm-svn: 199207
|
#
e43aaf79 |
| 14-Jan-2014 |
Nico Rieck <nico.rieck@gmail.com> |
Decouple dllexport/dllimport from linkage
Representing dllexport/dllimport as distinct linkage types prevents using these attributes on templates and inline functions.
Instead of introducing furthe
Decouple dllexport/dllimport from linkage
Representing dllexport/dllimport as distinct linkage types prevents using these attributes on templates and inline functions.
Instead of introducing further mixed linkage types to include linkonce and weak ODR, the old import/export linkage types are replaced with a new separate visibility-like specifier:
define available_externally dllimport void @f() {} @Var = dllexport global i32 1, align 4
Linkage for dllexported globals and functions is now equal to their linkage without dllexport. Imported globals and functions must be either declarations with external linkage, or definitions with AvailableExternallyLinkage.
llvm-svn: 199204
show more ...
|
#
5b6c1e8e |
| 13-Jan-2014 |
Rafael Espindola <rafael.espindola@gmail.com> |
Update getLazyBitcodeModule to use ErrorOr for error handling.
llvm-svn: 199125
|
Revision tags: llvmorg-3.4.0 |
|
#
a534a381 |
| 19-Dec-2013 |
Reid Kleckner <reid@kleckner.net> |
Begin adding docs and IR-level support for the inalloca attribute
The inalloca attribute is designed to support passing C++ objects by value in the Microsoft C++ ABI. It behaves the same as byval,
Begin adding docs and IR-level support for the inalloca attribute
The inalloca attribute is designed to support passing C++ objects by value in the Microsoft C++ ABI. It behaves the same as byval, except that it always implies that the argument is in memory and that the bytes are never copied. This attribute allows the caller to take the address of an outgoing argument's memory and execute arbitrary code to store into it.
This patch adds basic IR support, docs, and verification. It does not attempt to implement any lowering or fix any possibly broken transforms.
When this patch lands, a complete description of this feature should appear at http://llvm.org/docs/InAlloca.html .
Differential Revision: http://llvm-reviews.chandlerc.com/D2173
llvm-svn: 197645
show more ...
|
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 |
|
#
3aa9b039 |
| 18-Nov-2013 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
Fix spacing, forward declare order.
llvm-svn: 194985
|
#
b03bd4d9 |
| 15-Nov-2013 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
Add addrspacecast instruction.
Patch by Michele Scandale!
llvm-svn: 194760
|
#
e9f36afe |
| 12-Nov-2013 |
Reid Kleckner <reid@kleckner.net> |
Extract a bc attr parsing helper that returns Attribute::None on error
The parsing method still returns llvm::error_code for consistency with other parsing methods. Minor cleanup, no functionality
Extract a bc attr parsing helper that returns Attribute::None on error
The parsing method still returns llvm::error_code for consistency with other parsing methods. Minor cleanup, no functionality change.
llvm-svn: 194437
show more ...
|
#
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
|
#
7d712031 |
| 05-Nov-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Convert FindFunctionInStream to return an error_code.
llvm-svn: 194084
|
#
77db1636 |
| 05-Nov-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
Silence GCC warning about dropping off a fully covered switch.
llvm-svn: 194077
|
#
48da4f46 |
| 04-Nov-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Change BitcodeReader to use error_code instead of bool + string.
In order to create an ObjectFile implementation that uses bitcode files, we need to propagate the bitcode errors to the ObjectFile in
Change BitcodeReader to use error_code instead of bool + string.
In order to create an ObjectFile implementation that uses bitcode files, we need to propagate the bitcode errors to the ObjectFile interface, so we need to convert it to use the same error handling as ObjectFile: error_code.
llvm-svn: 193996
show more ...
|
#
716e7405 |
| 01-Nov-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove linkonce_odr_auto_hide.
linkonce_odr_auto_hide was in incomplete attempt to implement a way for the linker to hide symbols that are known to be available in every TU and whose addresses are n
Remove linkonce_odr_auto_hide.
linkonce_odr_auto_hide was in incomplete attempt to implement a way for the linker to hide symbols that are known to be available in every TU and whose addresses are not relevant for a particular DSO.
It was redundant in that it all its uses are equivalent to linkonce_odr+unnamed_addr. Unlike those, it has never been connected to clang or llvm's optimizers, so it was effectively dead.
Given that nothing produces it, this patch just nukes it (other than the llvm-c enum value).
llvm-svn: 193865
show more ...
|
#
26b43cac |
| 31-Oct-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Fix a use after free on invalid input.
llvm-svn: 193737
|
#
2e1890e1 |
| 27-Oct-2013 |
Shuxin Yang <shuxin.llvm@gmail.com> |
Revert r193251 : Use address-taken to disambiguate global variable and indirect memops.
llvm-svn: 193489
|
#
e4fb3759 |
| 23-Oct-2013 |
Shuxin Yang <shuxin.llvm@gmail.com> |
Use address-taken to disambiguate global variable and indirect memops.
Major steps include: 1). introduces a not-addr-taken bit-field in GlobalVariable 2). GlobalOpt pass sets "not-address-taken"
Use address-taken to disambiguate global variable and indirect memops.
Major steps include: 1). introduces a not-addr-taken bit-field in GlobalVariable 2). GlobalOpt pass sets "not-address-taken" if it proves a global varirable dosen't have its address taken. 3). AA use this info for disambiguation.
llvm-svn: 193251
show more ...
|
#
209b17cd |
| 28-Sep-2013 |
Manman Ren <manman.ren@gmail.com> |
AutoUpgrade: upgrade from scalar TBAA format to struct-path aware TBAA format.
We treat TBAA tags as struct-path aware TBAA format when the first operand is a MDNode and the tag has 3 or more operan
AutoUpgrade: upgrade from scalar TBAA format to struct-path aware TBAA format.
We treat TBAA tags as struct-path aware TBAA format when the first operand is a MDNode and the tag has 3 or more operands.
llvm-svn: 191593
show more ...
|
#
3fa50f9b |
| 16-Sep-2013 |
Peter Collingbourne <peter@pcc.me.uk> |
Implement function prefix data as an IR feature.
Previous discussion: http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-July/063909.html
Differential Revision: http://llvm-reviews.chandlerc.com/D1191
Implement function prefix data as an IR feature.
Previous discussion: http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-July/063909.html
Differential Revision: http://llvm-reviews.chandlerc.com/D1191
llvm-svn: 190773
show more ...
|
#
1a6e7708 |
| 12-Sep-2013 |
Joe Abbey <jabbey@arxan.com> |
Patch provide by Tom Roeder!
Reviewed by Joe Abbey and Tobias Grosser
Here is a patch that fixes decoding of CE_SELECT in BitcodeReader, along with a simple test case. The problem in the current co
Patch provide by Tom Roeder!
Reviewed by Joe Abbey and Tobias Grosser
Here is a patch that fixes decoding of CE_SELECT in BitcodeReader, along with a simple test case. The problem in the current code is that it generates but doesn't accept bitcode that uses vectors for the first element of a select in this context.
llvm-svn: 190634
show more ...
|
#
e407736a |
| 09-Sep-2013 |
Bob Wilson <bob.wilson@apple.com> |
Revert patches to add case-range support for PR1255.
The work on this project was left in an unfinished and inconsistent state. Hopefully someone will eventually get a chance to implement this featu
Revert patches to add case-range support for PR1255.
The work on this project was left in an unfinished and inconsistent state. Hopefully someone will eventually get a chance to implement this feature, but in the meantime, it is better to put things back the way the were. I have left support in the bitcode reader to handle the case-range bitcode format, so that we do not lose bitcode compatibility with the llvm 3.3 release.
This reverts the following commits: 155464, 156374, 156377, 156613, 156704, 156757, 156804 156808, 156985, 157046, 157112, 157183, 157315, 157384, 157575, 157576, 157586, 157612, 157810, 157814, 157815, 157880, 157881, 157882, 157884, 157887, 157901, 158979, 157987, 157989, 158986, 158997, 159076, 159101, 159100, 159200, 159201, 159207, 159527, 159532, 159540, 159583, 159618, 159658, 159659, 159660, 159661, 159703, 159704, 160076, 167356, 172025, 186736
llvm-svn: 190328
show more ...
|