#
e2f4a274 |
| 09-Jan-2014 |
Richard Smith <richard-llvm@metafoo.co.uk> |
PR18427: Use an appropriately-aligned buffer in APValue, to avoid a crash on SPARC, where uint64_t apparently requires higher alignment than void*.
llvm-svn: 198845
|
Revision tags: llvmorg-3.4.0, llvmorg-3.4.0-rc3, llvmorg-3.4.0-rc2, llvmorg-3.4.0-rc1, llvmorg-3.3.1-rc1, llvmorg-3.3.0, llvmorg-3.3.0-rc3 |
|
#
d1b7cd77 |
| 03-Jun-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
Pacify compilers that think you can drop off a fully covered switch.
llvm-svn: 183155
|
#
a732899c |
| 03-Jun-2013 |
Manuel Klimek <klimek@google.com> |
Fix memory leak for APValues that do memory allocation.
This patch ensures that APValues are deallocated with the ASTContext by registering a deallocation function for APValues to the ASTContext.
O
Fix memory leak for APValues that do memory allocation.
This patch ensures that APValues are deallocated with the ASTContext by registering a deallocation function for APValues to the ASTContext.
Original version of the patch by James Dennett.
llvm-svn: 183101
show more ...
|
Revision tags: llvmorg-3.3.0-rc2, llvmorg-3.3.0-rc1 |
|
#
0b7bc7f9 |
| 29-Jan-2013 |
Douglas Gregor <dgregor@apple.com> |
Don't crash while printing APValues that are lvalues casted to a decidedly non-reference, non-pointer type. Fixes <rdar://problem/13090123>.
llvm-svn: 173747
|
Revision tags: llvmorg-3.2.0, llvmorg-3.2.0-rc3 |
|
#
3a02247d |
| 04-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
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 |
|
#
235341bc |
| 16-Aug-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Store SourceManager pointer on PrintingPolicy in the case where we're dumping, and remove ASTContext reference (which was frequently bound to a dereferenced null pointer) from the recursive lump of p
Store SourceManager pointer on PrintingPolicy in the case where we're dumping, and remove ASTContext reference (which was frequently bound to a dereferenced null pointer) from the recursive lump of printPretty functions. In so doing, fix (at least) one case where we intended to use the 'dump' mode, but that failed because a null ASTContext reference had been passed in.
llvm-svn: 162011
show more ...
|
Revision tags: llvmorg-3.1.0, llvmorg-3.1.0-rc3, llvmorg-3.1.0-rc2 |
|
#
2d7c57ec |
| 30-Apr-2012 |
David Blaikie <dblaikie@gmail.com> |
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 |
|
#
5614ca77 |
| 23-Mar-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Teach APValue printer to print boolean 0 and 1 as 'false' and 'true'. Fix up some calling code to actually pass in a non-null type, to avoid a crash.
llvm-svn: 153358
|
#
4e9e523f |
| 10-Mar-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Assign APValues by swapping from a temporary. Removes a bunch of unnecessary copy-construction, which Daniel Dunbar reports as giving a 0.75% speedup on 403.gcc/combine.c. The performance differences
Assign APValues by swapping from a temporary. Removes a bunch of unnecessary copy-construction, which Daniel Dunbar reports as giving a 0.75% speedup on 403.gcc/combine.c. The performance differences on my constexpr torture tests are below the noise floor.
llvm-svn: 152455
show more ...
|
#
b743157d |
| 08-Mar-2012 |
Daniel Dunbar <daniel@zuster.org> |
[AST] APValue: Split the fast path of MakeUninit to be inline. - This change seems to be a tiny loss on 403.gcc/combine.c (.2%), but I think it is the right thing to do.
llvm-svn: 152330
|
#
b228a86f |
| 15-Feb-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Implement DR1454. This allows all intermediate results in constant expressions to be core constant expressions (including pointers and references to temporaries), and makes constexpr calculations Tur
Implement DR1454. This allows all intermediate results in constant expressions to be core constant expressions (including pointers and references to temporaries), and makes constexpr calculations Turing-complete. A Turing machine simulator is included as a testcase.
This opens up the possibilty of removing CCValue entirely, and removing some copies from the constant evaluator in the process, but that cleanup is not part of this change.
llvm-svn: 150557
show more ...
|
#
fd5e54da |
| 04-Jan-2012 |
Eli Friedman <eli.friedman@gmail.com> |
Add an APValue representation for the difference between two address-of-label expressions. Add support to Evaluate and CGExprConstant for generating/handling them. Remove the special-case for such
Add an APValue representation for the difference between two address-of-label expressions. Add support to Evaluate and CGExprConstant for generating/handling them. Remove the special-case for such differences in Expr::isConstantInitializer.
With that done, remove a bunch of buggy code from CGExprConstant for handling scalar expressions which is no longer necessary.
Fixes PR11705.
llvm-svn: 147561
show more ...
|
#
375f09f5 |
| 16-Dec-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Add missing flush call. This is an attempt to fix a broken Windows buildbot.
llvm-svn: 146760
|
#
f6f003af |
| 16-Dec-2011 |
Richard Smith <richard-llvm@metafoo.co.uk> |
C++11 constexpr: Add note stacks containing backtraces if constant evaluation fails within a call to a constexpr function. Add -fconstexpr-backtrace-limit argument to driver and frontend, to control
C++11 constexpr: Add note stacks containing backtraces if constant evaluation fails within a call to a constexpr function. Add -fconstexpr-backtrace-limit argument to driver and frontend, to control the maximum number of notes so produced (default 10). Fix APValue printing to be able to pretty-print all APValue types, and move the testing for this functionality from a unittest to a -verify test now that it's visible in clang's output.
llvm-svn: 146749
show more ...
|
#
027bf11e |
| 17-Nov-2011 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Constant expression evaluation: add support for evaluation of member pointers and base-to-derived casts, and add proper handling of temporaries.
llvm-svn: 144926
|
Revision tags: llvmorg-3.0.0, llvmorg-3.0.0-rc4 |
|
#
ce40ad67 |
| 12-Nov-2011 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Represent an APValue based on a Decl as that Decl, rather than a DeclRefExpr or MemberExpr which refers to it. As a side-effect, MemberExprs which refer to static member functions and static data mem
Represent an APValue based on a Decl as that Decl, rather than a DeclRefExpr or MemberExpr which refers to it. As a side-effect, MemberExprs which refer to static member functions and static data members are now emitted as constant expressions.
llvm-svn: 144468
show more ...
|
#
d62306a4 |
| 10-Nov-2011 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Constant expression evaluation: support for evaluation of structs and unions of literal types, as well as derived-to-base casts for lvalues and derived-to-virtual-base casts.
llvm-svn: 144265
|
Revision tags: llvmorg-3.0.0-rc3 |
|
#
f3e9e43d |
| 07-Nov-2011 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Constant expression evaluation: support for arrays.
llvm-svn: 143922
|
#
bcb4eb28 |
| 07-Nov-2011 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Fix 32-bit build bots and remove some casting-away-const warnings.
llvm-svn: 143914
|
#
80815600 |
| 07-Nov-2011 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Constant expression evaluation: preserve subobject designator when flattening a core constant value down to an APValue.
llvm-svn: 143909
|
Revision tags: llvmorg-3.0.0-rc2 |
|
#
0b0a0b61 |
| 29-Oct-2011 |
Richard Smith <richard-llvm@metafoo.co.uk> |
constexpr function substitution: Track the function invocation where an lvalue referring to a constexpr function parameter originated from, and use it to substitute the correct argument and to determ
constexpr function substitution: Track the function invocation where an lvalue referring to a constexpr function parameter originated from, and use it to substitute the correct argument and to determine whether such an argument's lifetime has ended.
llvm-svn: 143296
show more ...
|
Revision tags: llvmorg-3.0.0-rc1 |
|
#
76bd3c80 |
| 23-Sep-2011 |
David Blaikie <dblaikie@gmail.com> |
Fix missing includes for llvm_unreachable
llvm-svn: 140368
|
#
83d382b1 |
| 23-Sep-2011 |
David Blaikie <dblaikie@gmail.com> |
Switch assert(0/false) llvm_unreachable.
llvm-svn: 140367
|
#
0e62c1cc |
| 23-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
remove unneeded llvm:: namespace qualifiers on some core types now that LLVM.h imports them into the clang namespace.
llvm-svn: 135852
|
#
d2af962e |
| 18-Jul-2011 |
Jeffrey Yasskin <jyasskin@google.com> |
Define DiagnosticBuilder<<APValue so it's easy to include APValues in diagnostics.
llvm-svn: 135398
|