| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 205962
|
| |
|
|
| |
llvm-svn: 205961
|
| |
|
|
|
|
| |
Whitespace only. No functional change intended.
llvm-svn: 205960
|
| |
|
|
| |
llvm-svn: 205959
|
| |
|
|
| |
llvm-svn: 205958
|
| |
|
|
| |
llvm-svn: 205957
|
| |
|
|
| |
llvm-svn: 205956
|
| |
|
|
|
|
|
| |
Introduce ScalarTraits::mustQuote which determines whether or not a
StringRef needs quoting before it is acceptable to output.
llvm-svn: 205955
|
| |
|
|
| |
llvm-svn: 205954
|
| |
|
|
| |
llvm-svn: 205953
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
sure that a debugger can find them when stepping through code,
for example from the included testcase:
12 int test_it() {
13 c = 1;
14 d = 2;
-> 15 a = 4;
16 return (c == 1);
17 }
18
(lldb) p a
(int) $0 = 2
(lldb) p c
(int) $1 = 2
(lldb) p d
(int) $2 = 2
and a, c, d are all part of the file static anonymous union:
static union {
int c;
int d;
union {
int a;
};
struct {
int b;
};
};
Fixes PR19221.
llvm-svn: 205952
|
| |
|
|
| |
llvm-svn: 205951
|
| |
|
|
|
| |
FIXME: Could we use SmallString here?
llvm-svn: 205950
|
| |
|
|
|
|
|
|
|
|
| |
GCC 4.8 complains with:
warning: enumeral and non-enumeral type in conditional expression
Although this is silly and harmless in this case, add an explicit cast to
silence the warning.
llvm-svn: 205949
|
| |
|
|
|
|
|
|
| |
If we crash, we raise a crash handler dialog, and that's really
annoying. Even though we can't emit correct IR until we have musttail,
don't crash.
llvm-svn: 205948
|
| |
|
|
|
|
|
|
|
|
| |
The immediate cost calculation code was hitting an assertion in the included
test case, because APInt was still internally 128-bits. Truncating it to 64-bits
fixed the issue.
Fixes <rdar://problem/16572521>.
llvm-svn: 205947
|
| |
|
|
|
|
| |
MSVC 2012 doesn't understand '= delete', but 2013 does.
llvm-svn: 205946
|
| |
|
|
| |
llvm-svn: 205945
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
vld/vst instructions. And report errors for alignments that are not supported."
It doesn't build with MSVC 2012, because MSVC doesn't allow union
members that have non-trivial default constructors. This change added
'SMLoc AlignmentLoc' to MemoryOp, which made MemoryOp's default ctor
non-trivial.
This reverts commit r205930.
llvm-svn: 205944
|
| |
|
|
|
|
|
|
|
| |
cxx-abi-dev came up with a way to disambiguate between different
keywords used in elaborated type specifiers.
This resolves certain collisions during mangling.
llvm-svn: 205943
|
| |
|
|
|
|
| |
No functional change intended.
llvm-svn: 205942
|
| |
|
|
|
|
|
|
|
|
|
| |
As it turns out the source of the sunkaddr can be a constant, in which case
there is not an instruction to delete, causing the cleanup code introduced in
r204833 to crash. This patch adds a dynamic check to ensure the deleted value is
in fact an instruction and not a constant.
Patch by Louis Gerbarg <lgg@apple.com>
llvm-svn: 205941
|
| |
|
|
|
|
| |
llc CPU autodection bites again. Speculative fix for bot failures.
llvm-svn: 205940
|
| |
|
|
|
|
|
|
| |
Enable data formatters to see-through pointers/references to typedefs
For instance, if Foo is a typedef to Bar, and there is a formatter for any/all of Bar*, Bar&, Bar&&, then Foo*, Foo&, and Foo&& should pick these up if Foo-specific formatters don't exist
llvm-svn: 205939
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
AVX supports logical operations using an operand from memory. Unfortunately
because integer operations were not added until AVX2 the AVX1 logical
operation's types were preventing the isel from folding the loads. In a limited
number of cases the peephole optimizer would fold the loads, but most were
missed. This patch adds explicit patterns with appropriate casts in order for
these loads to be folded.
The included test cases run on reduced examples and disable the peephole
optimizer to ensure the folds are being pattern matched.
Patch by Louis Gerbarg <lgg@apple.com>
rdar://16355124
llvm-svn: 205938
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
FoldConstantArithmetic() only knows how to deal with a few target independent
ISD opcodes. Bail early if it sees a target-specific ISD node. These node do
funny things with operand types which may break the assumptions of the code
that follows, and there's no actual folding that can be done anyway. For example,
non-constant 256 bit vector shifts on X86 have a shift-amount operand that's a
128-bit v4i32 vector regardless of what the first operand type is and that breaks
the assumption that the operand types must match.
rdar://16530923
llvm-svn: 205937
|
| |
|
|
|
|
| |
functionality.
llvm-svn: 205936
|
| |
|
|
|
|
|
|
| |
Moving it into a struct makes things work because it implicitly marks
the function as inline. The struct is unnecessary if you explicitly
mark the function inline.
llvm-svn: 205935
|
| |
|
|
|
|
|
|
|
|
| |
This patch changes how we determine if padding is needed between two
bases in msvc compatibility mode. Test cases included.
In addition, a very minor change to the printing of structures to ease
lit testing.
llvm-svn: 205933
|
| |
|
|
|
|
| |
cast to an l-value reference type
llvm-svn: 205932
|
| |
|
|
|
|
| |
class-scope function. No functional change, but resolves a warning.
llvm-svn: 205931
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
alignments on vld/vst instructions. And report errors for
alignments that are not supported.
While this is a large diff and an big test case, the changes
are very straight forward. But pretty much had to touch
all vld/vst instructions changing the addrmode to one of the
new ones that where added will do the proper checking for
the specific instruction.
rdar://11312406
llvm-svn: 205930
|
| |
|
|
| |
llvm-svn: 205929
|
| |
|
|
|
|
|
|
|
| |
Set the correct FormatManager revision before starting to figure out the new formatters
This can avoid entering some corner cases where as part of figuring out formatters we try to figure out dynamic types, and in turn that causes us to go back in trying to fetch new formatters - it is not only a futile exercise, it's also prone to endless recursion
This would only cause a behavior change if getting this chain started would eventually cause something to run and alter the formatters, a very unlikely if at all possible sequence of events
llvm-svn: 205928
|
| |
|
|
| |
llvm-svn: 205926
|
| |
|
|
|
|
|
|
|
| |
In AArch64 i64 to i32 truncate operation is a subregister access.
This allows more opportunities for LSR optmization to eliminate
variables of different types (i32 and i64).
llvm-svn: 205925
|
| |
|
|
|
|
|
| |
MSVC doesn't have an option to enable TBAA, so make -fstrict-aliasing
and -fno-strict-aliasing available in clang-cl.
llvm-svn: 205924
|
| |
|
|
|
|
|
|
|
|
|
| |
sign/zero/any extensions. However a few places were not checking properly the
property of the load and were turning an indexed load into a regular extended
load. Therefore the indexed value was lost during the process and this was
triggering an assertion.
<rdar://problem/16389332>
llvm-svn: 205923
|
| |
|
|
| |
llvm-svn: 205922
|
| |
|
|
|
|
|
|
|
| |
The idea is to give visibility to more type kinds, especially for getting
a better grasp of what appears as unexposed type kind with libclang.
Differential Revision: http://reviews.llvm.org/D3325
llvm-svn: 205921
|
| |
|
|
|
|
| |
The section names used here are not valid for Mach-O.
llvm-svn: 205920
|
| |
|
|
| |
llvm-svn: 205919
|
| |
|
|
| |
llvm-svn: 205918
|
| |
|
|
|
|
| |
code-completion results.
llvm-svn: 205917
|
| |
|
|
|
|
| |
fixing the build bots.
llvm-svn: 205916
|
| |
|
|
|
|
|
|
|
|
|
|
| |
changes. No functional changes intended.
* Adds an iterator_range interface to CallExpr to get the arguments
* Modifies SExpr such that it must be allocated in the Arena, and cannot be deleted
* Minor const-correctness and nullptr updates
* Adds some operator!= implementations to complement operator==
* Removes unused functionality
llvm-svn: 205915
|
| |
|
|
|
|
|
|
|
| |
Don't quote octal compatible strings if they are only two wide, they
aren't ambiguous.
This reverts commit r205857 which reverted r205857.
llvm-svn: 205914
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Inject unique_ptr/shared_ptr into the test instead of using <memory>
Libraries might not be present on tests.
This fixes the break introduces at rL205854.
Reviewers: klimek
CC: cfe-commits
Differential Revision: http://reviews.llvm.org/D3330
llvm-svn: 205913
|
| |
|
|
|
|
|
|
|
|
| |
TIDs are conventionally shown as decimal values on FreeBSD and Linux.
Thus, use the ${thread.id%tid} format string to display the thread ID,
instead of a fixed hex format.
llvm.org/pr19380
llvm-svn: 205912
|
| |
|
|
|
|
|
|
|
| |
obj2yaml would fail when seeing a Weak External auxiliary record with a
characteristics field holding zero instead of one of
IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY, IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY,
or IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY.
llvm-svn: 205911
|