| #
dd7f4566 |
| 23-Jan-2013 |
Joey Gouly <[email protected]> |
Add a new LangOpt NativeHalfType. This option allows for native half/fp16 operations (as opposed to storage only half/fp16).
Also add some semantic checks for OpenCL half types.
llvm-svn: 173254
|
| #
1b4fb3e0 |
| 20-Jan-2013 |
Guy Benyei <[email protected]> |
Implement OpenCL event_t as Clang builtin type, including event_t related OpenCL restrictions (OpenCL 1.2 spec 6.9)
llvm-svn: 172973
|
| #
f857950d |
| 12-Jan-2013 |
Dmitri Gribenko <[email protected]> |
Remove useless 'llvm::' qualifier from names like StringRef and others that are brought into 'clang' namespace by clang/Basic/LLVM.h
llvm-svn: 172323
|
| #
cc7f008b |
| 10-Jan-2013 |
Fariborz Jahanian <[email protected]> |
c++ IRGen. In trivial cases that object is going into static storage and thus is implicitly zero-initialized, no need to do C++11 memory model. This patch unconditionally detects such condition and z
c++ IRGen. In trivial cases that object is going into static storage and thus is implicitly zero-initialized, no need to do C++11 memory model. This patch unconditionally detects such condition and zeroinitializer's the variable. Patch has been commented on and OKed by Doug off-line. // rdar://12897704
llvm-svn: 172144
show more ...
|
| #
33accdf6 |
| 03-Jan-2013 |
Eli Friedman <[email protected]> |
Don't assert/crash on reference variables in lambdas bound to a static local variable from the parent scope. PR14773.
llvm-svn: 171433
|
| #
ffd5551b |
| 02-Jan-2013 |
Chandler Carruth <[email protected]> |
Rewrite #includes for llvm/Foo.h to llvm/IR/Foo.h as appropriate to reflect the migration in r171366.
Re-sort the #include lines to reflect the new paths.
llvm-svn: 171369
|
|
Revision tags: llvmorg-3.2.0, llvmorg-3.2.0-rc3 |
|
| #
3a02247d |
| 04-Dec-2012 |
Chandler Carruth <[email protected]> |
Sort all of Clang's files under 'lib', and fix up the broken headers uncovered.
This required manually correcting all of the incorrect main-module headers I could find, and running the new llvm/util
Sort all of Clang's files under 'lib', and fix up the broken headers uncovered.
This required manually correcting all of the incorrect main-module headers I could find, and running the new llvm/utils/sort_includes.py script over the files.
I also manually added quite a few missing headers that were uncovered by shuffling the order or moving headers up to be main-module-headers.
llvm-svn: 169237
show more ...
|
|
Revision tags: llvmorg-3.2.0-rc2, llvmorg-3.2.0-rc1 |
|
| #
9ee2d047 |
| 12-Oct-2012 |
Eli Friedman <[email protected]> |
Make -mms-bitfields behave consistently.
Patch by Jeremiah Zanin.
llvm-svn: 165849
|
| #
cf4ff586 |
| 11-Oct-2012 |
Nico Weber <[email protected]> |
Add codegen support for __uuidof().
llvm-svn: 165710
|
| #
dd31ca10 |
| 08-Oct-2012 |
Micah Villmow <[email protected]> |
Move TargetData to DataLayout.
llvm-svn: 165395
|
| #
c030bcdf |
| 11-Sep-2012 |
Richard Smith <[email protected]> |
Remove some redundancy from constant aggregate emission. No functionality change.
llvm-svn: 163595
|
| #
1a5e4236 |
| 05-Sep-2012 |
Jin-Gu Kang <[email protected]> |
Changing of type checking order on InitListExpr - UnionType is checked eariler than RecordType.
llvm-svn: 163202
|
| #
34866c77 |
| 31-Aug-2012 |
Eli Friedman <[email protected]> |
Change the representation of builtin functions in the AST (__builtin_* etc.) so that it isn't possible to take their address. Specifically, introduce a new type to represent a reference to a builtin
Change the representation of builtin functions in the AST (__builtin_* etc.) so that it isn't possible to take their address. Specifically, introduce a new type to represent a reference to a builtin function, and a new cast kind to convert it to a function pointer in the operand of a call. Fixes PR13195.
llvm-svn: 162962
show more ...
|
| #
2ef30314 |
| 04-Jul-2012 |
Benjamin Kramer <[email protected]> |
Remove get(V)BaseClassOffsetInBits, the CharUnit functions should be used instead.
No functionality change.
llvm-svn: 159719
|
| #
d3b01bc7 |
| 23-Jun-2012 |
Hans Wennborg <[email protected]> |
Support the tls_model attribute (PR9788)
This adds support for the tls_model attribute. This allows the user to choose a TLS model that is better than what LLVM would select by default. For example,
Support the tls_model attribute (PR9788)
This adds support for the tls_model attribute. This allows the user to choose a TLS model that is better than what LLVM would select by default. For example, a variable might be declared as:
__thread int x __attribute__((tls_model("initial-exec")));
if it will not be used in a shared library that is dlopen'ed.
This depends on LLVM r159077.
llvm-svn: 159078
show more ...
|
| #
40ed2973 |
| 06-Jun-2012 |
David Blaikie <[email protected]> |
Revert Decl's iterators back to pointer value_type rather than reference value_type
In addition, I've made the pointer and reference typedef 'void' rather than T* just so they can't get misused. I w
Revert Decl's iterators back to pointer value_type rather than reference value_type
In addition, I've made the pointer and reference typedef 'void' rather than T* just so they can't get misused. I would've omitted them entirely but std::distance likes them to be there even if it doesn't use them.
This rolls back r155808 and r155869.
Review by Doug Gregor incorporating feedback from Chandler Carruth.
llvm-svn: 158104
show more ...
|
|
Revision tags: llvmorg-3.1.0, llvmorg-3.1.0-rc3, llvmorg-3.1.0-rc2 |
|
| #
2d7c57ec |
| 30-Apr-2012 |
David Blaikie <[email protected]> |
Remove the ref/value inconsistency in filter_decl_iterator.
filter_decl_iterator had a weird mismatch where both op* and op-> returned T* making it difficult to generalize this filtering behavior in
Remove the ref/value inconsistency in filter_decl_iterator.
filter_decl_iterator had a weird mismatch where both op* and op-> returned T* making it difficult to generalize this filtering behavior into a reusable library of any kind.
This change errs on the side of value, making op-> return T* and op* return T&.
(reviewed by Richard Smith)
llvm-svn: 155808
show more ...
|
|
Revision tags: llvmorg-3.1.0-rc1 |
|
| #
9ec1e48b |
| 15-Apr-2012 |
Richard Smith <[email protected]> |
PR12226: don't generate wrong code if a braced string literal is used to initialize an array of unsigned char. Outside C++11 mode, this bug was benign, and just resulted in us emitting a constant whi
PR12226: don't generate wrong code if a braced string literal is used to initialize an array of unsigned char. Outside C++11 mode, this bug was benign, and just resulted in us emitting a constant which was double the required length, padded with 0s. In C++11, it resulted in us generating an array whose first element was something like i8 ptrtoint ([n x i8]* @str to i8).
llvm-svn: 154756
show more ...
|
| #
5a125b40 |
| 30-Mar-2012 |
Eli Friedman <[email protected]> |
Missing piece of r153720: make sure the vtable pointer is handled correctly.
llvm-svn: 153721
|
| #
a154dd5b |
| 30-Mar-2012 |
Eli Friedman <[email protected]> |
ConstStructBuilder: fix offset math for base classes so it works correctly in general. Found by inspection.
llvm-svn: 153720
|
| #
effcd47e |
| 09-Mar-2012 |
Eli Friedman <[email protected]> |
Make sure constant emission handles initializer lists with strings correctly. Part of <rdar://problem/10957867>.
llvm-svn: 152370
|
| #
bc638767 |
| 02-Mar-2012 |
Richard Smith <[email protected]> |
Reinstate r151879, r151880, reverted in r151922, along with a bugfix for scalar emission of DeclRefExprs to const bools: emit scalar bools as i1, not as i8.
In addition to the extra unit testing, th
Reinstate r151879, r151880, reverted in r151922, along with a bugfix for scalar emission of DeclRefExprs to const bools: emit scalar bools as i1, not as i8.
In addition to the extra unit testing, this has successfully bootstrapped.
llvm-svn: 151955
show more ...
|
| #
4a7eab25 |
| 25-Feb-2012 |
Sebastian Redl <[email protected]> |
CodeGen support for global variables of type std::initializer_list<X>.
This emits a backing array with internal linkage and fills it with data, then has the initializer_list point at the array. Dyna
CodeGen support for global variables of type std::initializer_list<X>.
This emits a backing array with internal linkage and fills it with data, then has the initializer_list point at the array. Dynamic initialization and global destructors are correctly supported.
What doesn't work is nested initializer_lists. I have no idea how to get them to work, either. However, these should be very rare, and so I'll just call it a known bug and declare generalized initializers DONE!
llvm-svn: 151457
show more ...
|
| #
c8998924 |
| 23-Feb-2012 |
Richard Smith <[email protected]> |
PR12067: When emitting an evaluated constant structure in C++11 mode, don't forget the vptrs.
llvm-svn: 151245
|
| #
ed90df38 |
| 22-Feb-2012 |
Douglas Gregor <[email protected]> |
Generate an AST for the conversion from a lambda closure type to a block pointer that returns a block literal which captures (by copy) the lambda closure itself. Some aspects of the block literal are
Generate an AST for the conversion from a lambda closure type to a block pointer that returns a block literal which captures (by copy) the lambda closure itself. Some aspects of the block literal are left unspecified, namely the capture variable (which doesn't actually exist) and the body (which will be filled in by IRgen because it can't be written as an AST).
Because we're switching to this model, this patch also eliminates tracking the copy-initialization expression for the block capture of the conversion function, since that information is now embedded in the synthesized block literal. -1 side tables FTW.
llvm-svn: 151131
show more ...
|