- Jun 03, 2013
-
-
Venkatraman Govindaraju authored
llvm-svn: 183094
-
Richard Smith authored
materialized temporary with the corresponding MaterializeTemporaryExpr. This is groundwork for providing C++11's guaranteed static initialization for global references bound to lifetime-extended temporaries (if the initialization is a constant expression). In passing, fix a couple of bugs where some evaluation failures didn't trigger diagnostics, and a rejects-valid where potential constant expression testing would assume that it knew the dynamic type of *this and would reject programs which relied on it being some derived type. llvm-svn: 183093
-
Richard Smith authored
has an initializer. llvm-svn: 183092
-
Rui Ueyama authored
llvm-svn: 183091
-
Venkatraman Govindaraju authored
using two instructions (sethi and store). llvm-svn: 183090
-
Richard Smith authored
lifetime-extending temporaries in reference bindings. llvm-svn: 183089
-
- Jun 02, 2013
-
-
Venkatraman Govindaraju authored
llvm-svn: 183088
-
Rui Ueyama authored
Reviewers: Bigcheese CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D905 llvm-svn: 183087
-
Jim Grosbach authored
llvm-svn: 183086
-
David Majnemer authored
clang would incorrectly not allow the following: int x = true ? (throw 1) : 2; The problem exists because we don't see beyond the parens. This, in turn, causes us to believe that we are choosing between void and int which we diagnose as an error. Instead, allow clang to see the 'throw' inside the parens. llvm-svn: 183085
-
David Majnemer authored
In some cases, clang applies the C++ rules for computing the range of a value when said value is an enum. Instead, apply C semantics when in C mode. llvm-svn: 183084
-
Venkatraman Govindaraju authored
llvm-svn: 183083
-
Richard Smith authored
PR12848: When emitting a local variable declared 'constexpr', always initialize it with a store or a memcpy, not by emitting the initializer expression. This is not required for correctness, but more closely aligns with people's expectations, and is cheap (since we've already evaluated the initializer). llvm-svn: 183082
-
Benjamin Kramer authored
llvm-svn: 183081
-
- Jun 01, 2013
-
-
Nick Lewycky authored
index greater than the size of the vector is invalid. The shuffle may be shrinking the size of the vector. Fixes a crash! Also drop the maximum recursion depth of the safety check for this optimization to five. llvm-svn: 183080
-
Venkatraman Govindaraju authored
llvm-svn: 183079
-
David Majnemer authored
llvm-svn: 183078
-
Daniel Jasper authored
Before: return a<b &&c> d; After: return a < b && c > d; llvm-svn: 183077
-
Benjamin Kramer authored
Also simplify code a bit while there. No functionality change. llvm-svn: 183076
-
Benjamin Kramer authored
No functionality change. llvm-svn: 183075
-
Benjamin Kramer authored
llvm-svn: 183074
-
Benjamin Kramer authored
llvm-svn: 183073
-
Benjamin Kramer authored
llvm-svn: 183072
-
Tim Northover authored
llvm-svn: 183071
-
Tim Northover authored
Very sorry, it was committed from the wrong branch by mistake. llvm-svn: 183070
-
Tim Northover authored
llvm-svn: 183069
-
Tim Northover authored
The MOV64ri64i32 instruction required hacky MCInst lowering because it was allocated as setting a GR64, but the eventual instruction ("movl") only set a GR32. This converts it into a so-called "MOV32ri64" which still accepts a (appropriate) 64-bit immediate but defines a GR32. This is then converted to the full GR64 by a SUBREG_TO_REG operation, thus keeping everyone happy. This fixes a typo in the opcode field of the original patch, which should make the legact JIT work again (& adds test for that problem). llvm-svn: 183068
-
Venkatraman Govindaraju authored
llvm-svn: 183067
-
Michael Gottesman authored
Removed a comment above an include which is unnecessary and added a missing closing @} for a doxygen comment. llvm-svn: 183065
-
Michael Gottesman authored
llvm-svn: 183064
-
Michael Gottesman authored
Also added a few more method comments and performed some copy editing. llvm-svn: 183063
-
Anna Zaks authored
Jordan has pointed out that it is valuable to warn in cases when the arguments to init escape. For example, NSData initWithBytes id not going to free the memory. llvm-svn: 183062
-
Ahmed Bougacha authored
This also makes TableGen able to compute sizes/offsets of synthesized indices representing tuples. llvm-svn: 183061
-
Andrew Trick authored
Fixes rdar:14036816, PR16130. There is an opportunity to compute precise trip counts for 'or' expressions and multi-exit loops. rdar:14038809: Optimize trip count computation for multi-exit loops. To do this we need to record the fact that ExitLimit assumes NSW. When it does not we can safely assume that the loop trip count is the minimum ExitLimt across all subexpressions and loop exits. llvm-svn: 183060
-
Eric Christopher authored
seems to have caused PR16192 and other JIT related failures. llvm-svn: 183059
-
Enrico Granata authored
llvm-svn: 183058
-
Eric Christopher authored
llvm-svn: 183057
-
Richard Trieu authored
llvm-svn: 183056
-
Anna Zaks authored
llvm-svn: 183055
-
Eric Christopher authored
llvm-svn: 183054
-