| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
No functionality change.
llvm-svn: 196811
|
| |
|
|
| |
llvm-svn: 196809
|
| |
|
|
|
|
|
|
|
| |
Previously, an opcode set via SetOpcode32 (for example) was later
extracted via GetData() as a byte sequence in host order rather than
target order.
Review: http://llvm-reviews.chandlerc.com/D1838
llvm-svn: 196808
|
| |
|
|
| |
llvm-svn: 196807
|
| |
|
|
|
|
|
|
|
|
|
| |
Patch by Jiangning Liu.
With some test case changes:
- intrinsic test added to the existing /test/CodeGen/AArch64/neon-aba-abd.ll.
- New test cases to cover movi 1D scenario without using the intrinsic in
test/CodeGen/AArch64/neon-mov.ll.
llvm-svn: 196806
|
| |
|
|
| |
llvm-svn: 196805
|
| |
|
|
| |
llvm-svn: 196804
|
| |
|
|
| |
llvm-svn: 196803
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
by their authors.
This may break builds where others added code relying on these patches,
but please *do not* revert this commit. Instead, we will prepare patches
which fix the failures.
Reverts the following commits:
r168306: "[asan] support x32 mode in the fast stack unwinder. Patch by H.J. Lu"
r168356: "[asan] more support for powerpc, patch by Peter Bergner"
r196489: "[sanitizer] fix the ppc32 build (patch by Jakub Jelinek)"
llvm-svn: 196802
|
| |
|
|
|
|
|
|
|
|
| |
Summary: Now that Host provide a MakeDirectory function, we can use it instead of relying on command line tool to create a directory.
CC: lldb-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D2356
llvm-svn: 196801
|
| |
|
|
|
|
|
|
| |
target_link_libraries() and LLVM_LINK_COMPONENTS.
I will prune redundant dependencies later.
llvm-svn: 196800
|
| |
|
|
| |
llvm-svn: 196799
|
| |
|
|
|
|
| |
LLVM_LINK_COMPONENTS.
llvm-svn: 196798
|
| |
|
|
|
|
|
|
| |
invokes llc.
Only a few tests depend on llc yet.
llvm-svn: 196797
|
| |
|
|
|
|
| |
Thanks to Xavier de Gaye for the pointer.
llvm-svn: 196794
|
| |
|
|
|
|
| |
gnu_ranges label in the unit.
llvm-svn: 196793
|
| |
|
|
|
|
|
| |
llvm.org/pr18190
llvm.org/pr18191
llvm-svn: 196792
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
When clang is used under GNU/Linux in a chroot without /proc mount, it falls
back on the BSD method. However, since the buf variable is used twice
and fails with snprintf to produce the correct path.
When called as relatived (ie ./clang), it was failing with:
"" -cc1 [...] -x c++ x.cc
error: unable to execute command: Executable "" doesn't exist!
I also took the opportunity to simply the code (the first arg of test_dir
was useless).
Reviewers: rafael
Reviewed By: rafael
CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D2361
llvm-svn: 196791
|
| |
|
|
| |
llvm-svn: 196790
|
| |
|
|
|
|
|
| |
Thread an optional GV down to EmitGlobalFunctionDefinition so that it can
avoid the lookup when we already know the corresponding llvm global value.
llvm-svn: 196789
|
| |
|
|
|
|
| |
functionality change
llvm-svn: 196788
|
| |
|
|
|
|
|
| |
Modelled in part on GDBRemoteCommunicationClient.
Review: http://llvm-reviews.chandlerc.com/D2267
llvm-svn: 196787
|
| |
|
|
|
|
|
| |
llvm.org/pr17944
llvm.org/pr17946
llvm-svn: 196786
|
| |
|
|
|
|
|
|
|
| |
We can reuse it to avoid a DenseMap+StringMap lookup to find if it was already
emitted or not.
This fixes a 2010 TODO.
llvm-svn: 196785
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With this patch we output the in the order
C2
C1
D2
D1
D0
Which means that a destructor or constructor that call another is output after
the callee. This is a bit easier to read IHMO and a tiny bit more efficient
as we don't put a decl in DeferredDeclsToEmit.
llvm-svn: 196784
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Specifically disable it for nested braced lists as it commonly can look
really weird. Eventually, we'll want to become smarter and format some of
the nested lists better.
Before:
SomeStruct my_struct_array = {
{ aaaaaa, aaaaaaaa, aaaaaaaaaa, aaaaaaaaa, aaaaaaaaa,
aaaaaaaaaa, aaaaaaaaaa, aaaaaaa, aaa },
{ aaaa, aaaa, aaaa, aaaa, aaaa, aaaa, aaaa, aaa },
{ aaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaaaaaaaaa,
aaaaaaaaaaaa, a, aaaaaaaaaa,
aaaaaaaaa, aaa },
};
After:
SomeStruct my_struct_array = {
{ aaaaaa, aaaaaaaa, aaaaaaaaaa, aaaaaaaaa, aaaaaaaaa, aaaaaaaaaa,
aaaaaaaaaaaa, aaaaaaa, aaa },
{ aaaa, aaaa, aaaa, aaaa, aaaa, aaaa, aaaa, aaa },
{ aaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaaaaaaaaa,
aaaaaaaaaaaa, a, aaaaaaaaaa, aaaaaaaaa, aaa },
};
llvm-svn: 196783
|
| |
|
|
|
|
|
|
| |
This had no effect since the feature was removed in r150612.
I actually miss this option, maybe we can bring it back some day.
llvm-svn: 196782
|
| |
|
|
|
|
| |
llvm.org/pr16706
llvm-svn: 196781
|
| |
|
|
| |
llvm-svn: 196780
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: See details in http://llvm.org/bugs/show_bug.cgi?id=17977
Reviewers: dvyukov
Reviewed By: dvyukov
CC: glider, llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D2340
llvm-svn: 196779
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
No more (potenital) false negatives due to red zones or fake stack
frames.
Reviewers: kcc, samsonov
Reviewed By: samsonov
CC: llvm-commits, samsonov
Differential Revision: http://llvm-reviews.chandlerc.com/D2359
llvm-svn: 196778
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
unaligned offsets.
Summary:
The MSA ld.[bhwd] and st.[bhwd] instructions scale the immediate by the
element size before use as an offset. The offset must therefore be a
multiple of the element size to be valid in these instructions. However,
an unaligned base address is valid in MSA.
This commit causes the compiler to emit valid code when the calculated
offset is not a multiple of the element size by accounting for the offset
using addiu and using a zero offset in the load/store.
Depends on D2338
Reviewers: matheusalmeida
Reviewed By: matheusalmeida
Differential Revision: http://llvm-reviews.chandlerc.com/D2339
llvm-svn: 196777
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changed from:
keyword '__is_empty' will be treated as an identifier for the remainder of the translation unit
To:
keyword '__is_empty' will be made available as an identifier for the remainder of the translation unit
This is a more accurate description of clang's keyword compatibility feature,
given that some of the keywords are turned into context-sensitive keywords
(e.g. REVERTIBLE_TYPE_TRAIT) rather than being fully disabled.
llvm-svn: 196776
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The immediate in these instructions is scaled before use as an offset.
They therefore have a wider reach than ld.b/st.b.
Reviewers: matheusalmeida
Reviewed By: matheusalmeida
Differential Revision: http://llvm-reviews.chandlerc.com/D2338
llvm-svn: 196775
|
| |
|
|
|
|
|
|
|
| |
the parsing is directed to set alias for register. This will result in errors reported when expressions containing label references are parsed(for example long jumps)
As we can't make a complete solution now it has been decided to enable .set directive to handle long jump expressions. This will cause parser to report errors when parsing integer based register assignments, for example:
.set r3, will be reported as error. Still, the need for expressions is higher priority as the integer based register assignments are Mips specific and can be avoided using register names.
llvm-svn: 196773
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Testing has revealed that large integral constants (i.e. > INT64_MAX)
are always mangled as-if they are negative, even in places where it
would not make sense for them to be negative (like non-type template
parameters of type unsigned long long).
To address this, we change the way we model number mangling: always
mangle as-if our number is an int64_t. This should result in correct
results when we have large unsigned numbers.
N.B. Bizarrely, things that are 32-bit displacements like vbptr offsets
are mangled as-if they are unsigned 32-bit numbers. This is a pretty
egregious waste of space, it would be a 4x savings if we could mangle it
like a signed 32-bit number. Instead, we explicitly cast these
displacements to uint32_t and let the mangler proceed.
llvm-svn: 196771
|
| |
|
|
| |
llvm-svn: 196770
|
| |
|
|
|
|
|
| |
This adds rbegin/rend methods to MutableArrayRef, they will be used by a
follow-on commit in clang.
llvm-svn: 196768
|
| |
|
|
| |
llvm-svn: 196767
|
| |
|
|
| |
llvm-svn: 196765
|
| |
|
|
| |
llvm-svn: 196763
|
| |
|
|
| |
llvm-svn: 196762
|
| |
|
|
|
|
|
|
| |
not support as a possible reason for choosing GCC instead of Clang (and vice
versa). Weaken some of the claimed advantages of Clang in light of GCC
improvements.
llvm-svn: 196758
|
| |
|
|
| |
llvm-svn: 196757
|
| |
|
|
| |
llvm-svn: 196756
|
| |
|
|
|
|
| |
BIAS on sparcV9.
llvm-svn: 196755
|
| |
|
|
| |
llvm-svn: 196754
|
| |
|
|
|
|
|
|
| |
Before this patch GetOrCreateLLVMFunction would add a decl to
DeferredDeclsToEmit even when it was being called by the function trying to
emit that decl.
llvm-svn: 196753
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
While testing our ability to mangle large constants (PR18175), I
incidentally discovered that we did not properly mangle enums correctly.
Previously, we would append the width of the enum in bytes after the
type-tag differentiator.
This would mean "enum : short" would be mangled as 'W2' while "enum :
char" would be mangled as 'W1'. Upon testing this with several versions
of MSVC, I found that this did not match their behavior: they always use
'W4'.
N.B. Quick testing uncovered that undname allows different numbers to
follow the 'W' in the following way:
'W0' -> "enum char"
'W1' -> "enum unsigned char"
'W2' -> "enum short"
'W3' -> "enum unsigned short"
'W4' -> "enum"
'W5' -> "enum unsigned int"
'W6' -> "enum long"
'W7' -> "enum unsigned long"
However this scheme appears abandoned, I cannot get MSVC to trigger it.
Furthermore, it's incomplete: it doesn't handle "bool" or "long long".
llvm-svn: 196752
|
| |
|
|
|
|
| |
umulo/smulo can be lowered on sparcv9 without an assertion error.
llvm-svn: 196751
|