| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
incompatible with user-defined literals, specifically with the following form:
0x1p+1
The preprocessing-number token extends only as far as the 'p'; the '+' is not
included. Previously we could get away with this extension as p was an invalid
suffix, but now with user-defined literals, 'p' might well be a valid suffix
and we are forced to consider it as such.
This patch also adds a warning in non-0x C++ modes telling the user that
this extension is incompatible with C++0x that is enabled by default
(previously and with other languages, we warn only with a compliance
option such as -pedantic).
llvm-svn: 93135
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
C++ grammatical constructs that show up in top-level (namespace-level)
declarations, member declarations, template declarations, statements,
expressions, conditions, etc. For example, we now provide a pattern
for
static_cast<type>(expr)
when we can have an expression, or
using namespace identifier;
when we can have a using directive.
Also, improves the results of code completion at the beginning of a
top-level declaration. Previously, we would see value names (function
names, global variables, etc.); now we see types, namespace names,
etc., but no values.
llvm-svn: 93134
|
| |
|
|
| |
llvm-svn: 93133
|
| |
|
|
|
|
| |
the dest of the sext.
llvm-svn: 93128
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the zext dest type. This allows us to handle test52/53 in cast.ll,
and allows llvm-gcc to generate much better code for PR4216 in -m64
mode:
_test_bitfield: ## @test_bitfield
orl $32962, %edi
movl %edi, %eax
andl $-25350, %eax
ret
This also fixes a bug handling vector extends, ensuring that the
mask produced is a vector constant, not an integer constant.
llvm-svn: 93127
|
| |
|
|
|
|
| |
integer vectors as well as just integers.
llvm-svn: 93126
|
| |
|
|
|
|
| |
RewriteObjC.cpp(4419) : warning C4804: '>' : unsafe use of type 'bool' in operation
llvm-svn: 93124
|
| |
|
|
|
| |
warning: suggest parentheses around ‘&&’ within ‘||’.
llvm-svn: 93121
|
| |
|
|
| |
llvm-svn: 93120
|
| |
|
|
| |
llvm-svn: 93119
|
| |
|
|
|
|
|
|
|
| |
1. Add helper class for sema checks for target attributes
2. Add helper class for codegen of target attributes
As a proof-of-concept - implement msp430's 'interrupt' attribute.
llvm-svn: 93118
|
| |
|
|
| |
llvm-svn: 93117
|
| |
|
|
| |
llvm-svn: 93114
|
| |
|
|
|
|
| |
simpler profitability predicate.
llvm-svn: 93111
|
| |
|
|
| |
llvm-svn: 93110
|
| |
|
|
|
|
|
|
| |
elimination of a sign extend to be a win, which simplifies
the client of CanEvaluateSExtd, and allows us to eliminate
more casts (examples taken from real code).
llvm-svn: 93109
|
| |
|
|
|
|
|
|
| |
getWhenValsUnresolved().
Document PFS argument to ParseValID() and ConvertGlobalOrMetadataValIDToValue().
llvm-svn: 93108
|
| |
|
|
|
|
|
|
| |
lshr+ashr instead of trunc+sext. We want to avoid type
conversions whenever possible, it is easier to codegen expressions
without truncates and extensions.
llvm-svn: 93107
|
| |
|
|
| |
llvm-svn: 93106
|
| |
|
|
| |
llvm-svn: 93105
|
| |
|
|
| |
llvm-svn: 93101
|
| |
|
|
|
|
|
| |
bits known clear in the result and don't care about the # casts
eliminated. TD is also dead but keeping it for now.
llvm-svn: 93098
|
| |
|
|
|
|
|
|
|
|
|
| |
1) don't try to optimize a sext or zext that is only used by a trunc, let
the trunc get optimized first. This avoids some pointless effort in
some common cases since instcombine scans down a block in the first pass.
2) Change the cost model for zext elimination to consider an 'and' cheaper
than a zext. This allows us to do it more aggressively, and for the next
patch to simplify the code quite a bit.
llvm-svn: 93097
|
| |
|
|
|
|
| |
more expressions to be promoted and casts eliminated.
llvm-svn: 93096
|
| |
|
|
| |
llvm-svn: 93095
|
| |
|
|
|
|
| |
nicer than passing around two const char*'s.
llvm-svn: 93094
|
| |
|
|
| |
llvm-svn: 93093
|
| |
|
|
| |
llvm-svn: 93092
|
| |
|
|
| |
llvm-svn: 93091
|
| |
|
|
| |
llvm-svn: 93090
|
| |
|
|
|
|
|
|
|
| |
commonIntCastTransforms into the callers, eliminating a switch,
and allowing the static predicate methods to be moved down to
live next to the corresponding function. No functionality
change.
llvm-svn: 93089
|
| |
|
|
| |
llvm-svn: 93088
|
| |
|
|
| |
llvm-svn: 93087
|
| |
|
|
|
|
| |
-weak_reference_mismatches is not present, it is the default.
llvm-svn: 93086
|
| |
|
|
| |
llvm-svn: 93085
|
| |
|
|
| |
llvm-svn: 93084
|
| |
|
|
|
|
|
| |
import other headers within the same framework with the full
framework path, not with a relative include.
llvm-svn: 93083
|
| |
|
|
| |
llvm-svn: 93082
|
| |
|
|
|
|
|
|
|
| |
CallExpr/ObjCMessageExpr can be visited in an "lvalue" context if it
returns a struct temporary. Currently the analyzer doesn't reason
about struct temporary returned by function calls, but we shouldn't
crash here either.
llvm-svn: 93081
|
| |
|
|
| |
llvm-svn: 93080
|
| |
|
|
|
|
|
|
| |
boolean values were distinguishable from integers. The attached patch introduces "typedef int LLVMBool;", and uses LLVMBool instead of int throughout the C API, wherever a boolean value is called for."
Patch by James Y Knight!
llvm-svn: 93079
|
| |
|
|
| |
llvm-svn: 93078
|
| |
|
|
| |
llvm-svn: 93077
|
| |
|
|
| |
llvm-svn: 93076
|
| |
|
|
|
|
| |
lvalue to poke, no functionality change.
llvm-svn: 93075
|
| |
|
|
| |
llvm-svn: 93074
|
| |
|
|
|
|
| |
rdar://7083878
llvm-svn: 93073
|
| |
|
|
| |
llvm-svn: 93072
|
| |
|
|
| |
llvm-svn: 93071
|
| |
|
|
|
|
|
| |
jump. People clearly weren't finding the extra requirements in
CodeGenerator.html.
llvm-svn: 93070
|