| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 95916
|
| |
|
|
| |
llvm-svn: 95915
|
| |
|
|
|
|
| |
this).
llvm-svn: 95911
|
| |
|
|
| |
llvm-svn: 95908
|
| |
|
|
| |
llvm-svn: 95906
|
| |
|
|
| |
llvm-svn: 95904
|
| |
|
|
| |
llvm-svn: 95903
|
| |
|
|
|
|
|
| |
that generates the 1-byte and 4-byte immediate versions
from one definition.
llvm-svn: 95902
|
| |
|
|
|
|
|
| |
use a multipattern that generates both the 1-byte and 4-byte
versions from the same defm
llvm-svn: 95901
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
incompatibility and show where the structural differences are. For
example:
struct1.c:36:8: warning: type 'struct S7' has incompatible definitions
in different translation units
struct S7 { int i : 8; unsigned j : 8; } x7;
^
struct1.c:36:33: note: bit-field 'j' with type 'unsigned int' and length 8 here
struct S7 { int i : 8; unsigned j : 8; } x7;
^
struct2.c:33:33: note: bit-field 'j' with type 'unsigned int' and length 16 here
struct S7 { int i : 8; unsigned j : 16; } x7;
^
There are a few changes to make this work:
- ASTImporter now has only a single Diagnostic object, not multiple
diagnostic objects. Otherwise, having a warning/error printed via
one Diagnostic and its note printed on the other Diagnostic could
cause the note to be suppressed.
- Implemented import functionality for IntegerLiteral (along with
general support for statements and expressions)
llvm-svn: 95900
|
| |
|
|
|
|
|
|
| |
work anyway (Interpreter::getPointerToFunction doesn't return a
callable pointer), and improve the error message when an
ExecutionEngine can't be created.
llvm-svn: 95896
|
| |
|
|
| |
llvm-svn: 95895
|
| |
|
|
| |
llvm-svn: 95894
|
| |
|
|
| |
llvm-svn: 95893
|
| |
|
|
|
|
|
|
| |
VFP).
Sorry!
llvm-svn: 95892
|
| |
|
|
|
|
| |
same dead instruction.
llvm-svn: 95890
|
| |
|
|
| |
llvm-svn: 95889
|
| |
|
|
| |
llvm-svn: 95888
|
| |
|
|
|
|
| |
complete function type of the member functions (using PredefinedExpr::ComputeName.
llvm-svn: 95887
|
| |
|
|
| |
llvm-svn: 95886
|
| |
|
|
|
|
| |
A8.6.297
llvm-svn: 95885
|
| |
|
|
| |
llvm-svn: 95884
|
| |
|
|
|
|
|
| |
Use SmallVector instead of std::vector for better speed when indirectbr has
few successors.
llvm-svn: 95879
|
| |
|
|
|
|
|
|
| |
symbols.
Thanks to Duncan Sands for the testcase!
llvm-svn: 95877
|
| |
|
|
| |
llvm-svn: 95876
|
| |
|
|
| |
llvm-svn: 95874
|
| |
|
|
|
|
| |
as the "Permanently UNDEFINED" instruction.
llvm-svn: 95873
|
| |
|
|
| |
llvm-svn: 95872
|
| |
|
|
| |
llvm-svn: 95871
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
their spelling location. This prevents warnings from being swallowed just
because the caret is on the first parenthesis in, say, NULL.
This is an experiment; the risk is that there might be a substantial number
of system headers which #define symbols to expressions which inherently cause
warnings. My theory is that that's rare enough that it can be worked
around case-by-case, and that producing useful warnings around NULL is worth
it. But I'm willing to accept that I might be empirically wrong.
llvm-svn: 95870
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Enhance the printf format string checking when using the format
specifier flags ' ', '0', '+' with the 'p' or 's' conversions (since
they are nonsensical and undefined). This is similar to GCC's
checking.
Also warning when a precision is used with the 'p' conversin
specifier, since it has no meaning.
llvm-svn: 95869
|
| |
|
|
|
|
| |
fixes the remaining x86-64 jit failures afaik.
llvm-svn: 95867
|
| |
|
|
|
|
|
|
|
| |
r12b, etc) also encodes to a R/M value of 4, which is just
as illegal as ESP/RSP for the non-sib version an address.
This fixes x86-64 jit miscompilations of a bunch of programs.
llvm-svn: 95866
|
| |
|
|
|
|
|
|
| |
Right now, it's off by default but can be tested by passing -fdump-vtable-layouts to clang -cc1. This option will cause all vtables that will normally be emitted as part of codegen to also be dumped using the new layout code.
I've also added a very simple new vtable layout test case.
llvm-svn: 95865
|
| |
|
|
| |
llvm-svn: 95864
|
| |
|
|
|
|
|
|
| |
array associated with NonNullAttr. This fixes yet another leak when
ASTContext uses a BumpPtrAllocator.
Fixes: <rdar://problem/7637150>
llvm-svn: 95863
|
| |
|
|
| |
llvm-svn: 95862
|
| |
|
|
|
|
|
|
|
| |
storing the set of StoredDeclsMaps in an internal vector of void*.
This isn't an ideal solution, but for the time being this fixes a
major memory leak with these DenseMaps not being freed.
Fixes: <rdar://problem/7634755>
llvm-svn: 95861
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Stub out some dummy fixups to make things work.
We can now emit fixups like this:
subl $20, %esp ## encoding: [0x83,0xec,A]
## fixup A - offset: 2, value: 20, kind: fixup_1byte_imm
Emitting $20 as a single-byte fixup to be later resolved
by the assembler is ridiculous of course (vs just emitting
the byte) but this is a failure of the matcher, which
should be producing an imm of 20, not an MCExpr of 20.
llvm-svn: 95860
|
| |
|
|
|
|
| |
and rename it to EmitImmediate.
llvm-svn: 95859
|
| |
|
|
| |
llvm-svn: 95858
|
| |
|
|
| |
llvm-svn: 95857
|
| |
|
|
| |
llvm-svn: 95856
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
what it does. Enhance it to return false to optimizing vector
sign extensions from vector comparisions, which is the idiom used
to get a splatted vector for a vector comparison.
Doing this breaks vector-casts.ll, add some compensating
transformations to handle the important case they cover without
depending on this canonicalization.
This fixes rdar://7434900 a serious pessimization of vector compares.
llvm-svn: 95855
|
| |
|
|
| |
llvm-svn: 95854
|
| |
|
|
|
|
|
|
|
| |
array allocated using the allocator in ASTContext. This addresses
these strings getting leaked when using a BumpPtrAllocator (in
ASTContext).
Fixes: <rdar://problem/7636765>
llvm-svn: 95853
|
| |
|
|
|
|
|
|
|
| |
block. Other blocks may have pointer cycles that will crash
basicaa and other alias analyses. In any case, there is no
point wasting cycles optimizing dead blocks. This fixes
rdar://7635088
llvm-svn: 95852
|
| |
|
|
| |
llvm-svn: 95851
|
| |
|
|
|
|
| |
instead of considering x|undef -> x, which may not be true.
llvm-svn: 95850
|
| |
|
|
| |
llvm-svn: 95849
|