| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
llvm-svn: 224157
|
|
|
|
|
|
|
| |
Add missing externally_initialized keyword from SVN r174340. Also reflow the
text.
llvm-svn: 224155
|
|
|
|
|
|
|
|
|
| |
Clang's static analyzer found several potential cases of undefined
behavior, use of un-initialized values, and potentially null pointer
dereferences in tablegen, Support, MC, and ADT. This cleans them up
with specific assertions on the assumptions of the code.
llvm-svn: 224154
|
|
|
|
| |
llvm-svn: 224153
|
|
|
|
|
|
|
|
|
| |
I saw a failure on an internal bot, opened this file, saw it was missing,
thought "aha!", tried to land, got an "file is out of date", synced, didn't see
the file listed right above the line I added (cause I didn't add it in the
right place) and landed. Apologies!
llvm-svn: 224152
|
|
|
|
|
|
| |
ValueObjectConstResult. This test passing is the baseline of functionality we want to ensure for our const results
llvm-svn: 224151
|
|
|
|
| |
llvm-svn: 224150
|
|
|
|
|
|
|
| |
r224134 added this and runs it from a test, but doesn't build it with test
binaries.
llvm-svn: 224149
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Turn "allocator_may_return_null" common flag into an
Allocator::may_return_null bool flag. We want to make sure
that common flags are immutable after initialization. There
are cases when we want to change this flag in the allocator
at runtime: e.g. in unit tests and during ASan activation
on Android.
Test Plan: regression test suite, real-life applications
Reviewers: kcc, eugenis
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D6623
llvm-svn: 224148
|
|
|
|
|
|
| |
It's probably safe to assume it works.. so remove the #if stuff
llvm-svn: 224147
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The RAUW support in `Metadata` supports going to `nullptr` specifically
to handle values being deleted, causing `ValueAsMetadata` to be deleted.
Fix the case where the reference is from a `TrackingMDRef` (as opposed
to an `MDOperand` or a `MetadataAsValue`).
This is surprisingly rare -- metadata tracked by `TrackingMDRef` going
to null -- but it came up in an openSUSE bootstrap during inlining. The
tracking ref was held by the `ValueMap` because it was referencing a
local, the basic block containing the local became dead after it had
been merged in, and when the local was deleted, the tracking ref
asserted in an `isa`.
llvm-svn: 224146
|
|
|
|
|
|
|
| |
The order is different between Windows and Unix for reasons unknown, but
the compiler output appears to still be determinstic.
llvm-svn: 224145
|
|
|
|
| |
llvm-svn: 224144
|
|
|
|
|
|
| |
none is stored in the object itself; this is for symmetry with GetAddressOf()
llvm-svn: 224143
|
|
|
|
|
|
| |
invalid live address
llvm-svn: 224142
|
|
|
|
|
|
| |
On Windows we get the string "no such file or directory".
llvm-svn: 224141
|
|
|
|
| |
llvm-svn: 224140
|
|
|
|
|
|
|
| |
I didn't notice the problem first because on a non debug build the CRT was
just exiting the process without any message.
llvm-svn: 224139
|
|
|
|
|
|
| |
This removes a duplicated stat on every file that llvm-ar looks at.
llvm-svn: 224138
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When running the test suite on Windows, we can't have Windows popping
up dialogs when LLDB crashes in native code because it will hang
the test suite. This patch silences those dialogs by checking an
environment variable at startup and configuring Windows based on
its value.
This patch also adds an environment variable to force inferiors to
never spawn in their own console window. This is useful to prevent
new window spawm when running the test suite.
Reviewed by: Scott Graham
Differential Revision: http://reviews.llvm.org/D6628
llvm-svn: 224137
|
|
|
|
|
|
| |
I will add a real use in another commit.
llvm-svn: 224136
|
|
|
|
| |
llvm-svn: 224135
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The goal of this tool is to replicate Darwin's dsymutil functionality
based on LLVM. dsymutil is a DWARF linker. Darwin's linker (ld64) does
not link the debug information, it leaves it in the object files in
relocatable form, but embbeds a `debug map` into the executable that
describes where to find the debug information and how to relocate it.
When releasing/archiving a binary, dsymutil is called to link all the DWARF
information into a `dsym bundle` that can distributed/stored along with
the binary.
With this commit, the LLVM based dsymutil is just able to parse the STABS
debug maps embedded by ld64 in linked binaries (and not all of them, for
example archives aren't supported yet).
Note that the tool directory is called dsymutil, but the executable is
currently called llvm-dsymutil. This discrepancy will disappear once the
tool will be feature complete. At this point the executable will be renamed
to dsymutil, but until then you do not want it to override the system one.
Differential Revision: http://reviews.llvm.org/D6242
llvm-svn: 224134
|
|
|
|
| |
llvm-svn: 224133
|
|
|
|
|
|
| |
Added lowering tests.
llvm-svn: 224132
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A discriminator is used for the first occurrence of a name.
inline int f1 () {
static union {
int a;
long int b;
};
static union {
int c;
double d;
};
return a+c;
}
The name of the second union is mangled as _ZZ2f1vE1c_0 instead of _ZZ2f1vE1c.
Differential Revision: http://reviews.llvm.org/D6295
llvm-svn: 224131
|
|
|
|
| |
llvm-svn: 224130
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We were already requiring 2.5, which meant that people on old linux distros
had to upgrade anyway.
Requiring python 2.6 will make supporting 3.X easier as we can use the 3.X
exception syntax.
According to the discussion on llvmdev, there is not much value is requiring
just 2.6, we may as well just require 2.7.
llvm-svn: 224129
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This commit enables the MIPS-III target and adds support for code
generation of SELECT nodes. We have to use pseudo-instructions with
custom inserters for these nodes as MIPS-III CPUs do not have
conditional-move instructions.
Depends on D6212
Reviewers: dsanders
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D6464
llvm-svn: 224128
|
|
|
|
|
|
| |
Added lowering tests.
llvm-svn: 224127
|
|
|
|
|
|
|
|
|
|
|
| |
with/without -g."
This reapplies r224118 with a fix for test 'misched-code-difference-with-debug.ll'.
That test was failing on some buildbots because it was x86 specific but it was
missing a target triple.
Added an explicit triple to test misched-code-difference-with-debug.ll.
llvm-svn: 224126
|
|
|
|
| |
llvm-svn: 224125
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
instructions.
Summary:
For Mips targets that do not have conditional-move instructions, ie. targets
before MIPS32 and MIPS-IV, we have to insert a diamond control-flow
pattern in order to support SELECT nodes. In order to do that, we add
pseudo-instructions with a custom inserter that emits the necessary
control-flow that selects the correct value.
With this patch we add complete support for code generation of Mips-II targets
based on the LLVM test-suite.
Reviewers: dsanders
Reviewed By: dsanders
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D6212
llvm-svn: 224124
|
|
|
|
|
|
| |
Thanks to Sameer Sahasrabuddhe for the report!
llvm-svn: 224123
|
|
|
|
|
|
| |
No functional change.
llvm-svn: 224122
|
|
|
|
|
|
|
|
| |
with/without -g.
Test 'misched-code-difference-with-debug.ll' was failing on some buildbots.
llvm-svn: 224121
|
|
|
|
|
|
|
|
| |
The proper way to break string literals in these languages is by inserting a "+"
between parts which we don't support yet. So we disable string literal breaking
until then.
llvm-svn: 224120
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
into vector of loads,
and vectorizes it.
Test case :
float hadd(float* a) {
return (a[0] + a[1]) + (a[2] + a[3]);
}
AArch64 assembly before patch :
ldp s0, s1, [x0]
ldp s2, s3, [x0, #8]
fadd s0, s0, s1
fadd s1, s2, s3
fadd s0, s0, s1
ret
AArch64 assembly after patch :
ldp d0, d1, [x0]
fadd v0.2s, v0.2s, v1.2s
faddp s0, v0.2s
ret
Reviewed Link : http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20141208/248531.html
llvm-svn: 224119
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
with/without -g.
This patch fixes the issue reported as PR21807. There was a minor difference
in the generated code depending on the -g flag.
The cause was that with -g the machine scheduler used a different
scheduling strategy. This decision was based on the number of instructions
in a schedule region and included debug instructions in that count.
This patch fixes the issue in MISched and provides a test.
Patch by Russell Gallop!
llvm-svn: 224118
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D6591
llvm-svn: 224117
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D6590
llvm-svn: 224116
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The __fp16 type is unconditionally exposed. Since -mfp16-format is not yet
supported, there is not a user switch to change this behaviour. This build
attribute should capture the default behaviour of the compiler, which is to
expose the IEEE 754 version of __fp16.
When -mfp16-format is emitted, that will be the way to control the value of
this build attribute.
Change-Id: I8a46641ff0fd2ef8ad0af5f482a6d1af2ac3f6b0
llvm-svn: 224115
|
|
|
|
|
|
|
|
| |
In release builds this is actually possible as without asserts there is
no testing of the actual read bytes and the variables could be partially
uninitialized.
llvm-svn: 224114
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The documentation of parseFile() said that "the resulting File
object may take ownership of the MemoryBuffer." So, whether or not
the ownership of a MemoryBuffer would be taken was not clear.
A FileNode (a subclass of InputElement, which is being deprecated)
keeps the ownership if a File doesn't take it.
This patch makes File always take the ownership of a buffer.
Buffers lifespan is not always the same as File instances.
Files are able to deallocate buffers after parsing the contents.
llvm-svn: 224113
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixed llvm.org/PR21804 and hopefully a few other strange cases.
Before:
if (blah_blah(whatever, whatever, [] {
doo_dah();
doo_dah();
})) {
}
}
After:
if (blah_blah(whatever, whatever, [] {
doo_dah();
doo_dah();
})) {
}
}
llvm-svn: 224112
|
|
|
|
| |
llvm-svn: 224111
|
|
|
|
|
|
|
|
|
| |
Don't inherit the volatile-ness of the input pointer to the volatile
operation for memory allocated on the side.
This fixes PR17306.
llvm-svn: 224110
|
|
|
|
| |
llvm-svn: 224109
|
|
|
|
|
|
| |
unique_ptr to caller.
llvm-svn: 224108
|
|
|
|
| |
llvm-svn: 224107
|