| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
without overconstraining it
The backend portion of this test will be committed to LLVM's test suite.
llvm-svn: 177485
|
|
|
|
| |
llvm-svn: 177484
|
|
|
|
| |
llvm-svn: 177483
|
|
|
|
| |
llvm-svn: 177482
|
|
|
|
|
|
|
|
|
| |
deserialized correctly.
This fixes regressions introduced in r177466 that caused several
module tests to fail sporadically.
llvm-svn: 177481
|
|
|
|
|
|
| |
initializers.
llvm-svn: 177480
|
|
|
|
|
|
|
|
|
|
| |
Each toolchain has a set of tools, but they are all of known types. It can
have a linker, an assembler, a "clang" (compile, analyze, ...) a non-clang
compiler, etc.
Instead of keeping a map, just have member variable for each type of tool.
llvm-svn: 177479
|
|
|
|
|
|
|
| |
- Move SRA/SRL/SHL lowering support from DAG combination to DAG lowering
to support extended 256-bit integer in AVX but not AVX2.
llvm-svn: 177478
|
|
|
|
|
|
|
| |
- Prepare moving logic from DAG combining into DAG lowering. There's no
functionality change.
llvm-svn: 177477
|
|
|
|
|
|
| |
- no functionality change
llvm-svn: 177476
|
|
|
|
|
|
|
|
|
|
| |
emit function names in .gcda files by default, and the flag turns that off!
Rename the flag to make it match what it actually does. This keeps the default
format compatible with gcc 4.2.
Also add a test for this flag.
llvm-svn: 177475
|
|
|
|
| |
llvm-svn: 177474
|
|
|
|
|
|
|
|
| |
performing unqualified lookup for a friend class declaration.
rdar://13393749
llvm-svn: 177473
|
|
|
|
| |
llvm-svn: 177472
|
|
|
|
|
|
|
|
|
|
|
|
| |
This code was changed in r158376 to get template argument source info
for better diagnostics, but the current code asserts for any kind of
unsupported template argument before it can issue a diagnostic. This change
goes back to the Itanium implementation of isTemplate() and puts the argument
index into the diagnostic instead of a source location.
Review URL: http://llvm-reviews.chandlerc.com/D553
llvm-svn: 177471
|
|
|
|
|
|
|
| |
is enabled. Also add a new -test-coverage cc1 flag which makes testing coverage
possible and add our first clang-side coverage test.
llvm-svn: 177470
|
|
|
|
|
|
|
|
|
|
| |
With the assurance that the trimmed graph does not contain cycles,
this patch is safe (with a few tweaks), and provides the performance
boost it was intended to.
Part of performance work for <rdar://problem/13433687>.
llvm-svn: 177469
|
|
|
|
|
|
|
|
|
| |
Having a trimmed graph with no cycles (a DAG) is much more convenient for
trying to find shortest paths, which is exactly what BugReporter needs to do.
Part of the performance work for <rdar://problem/13433687>.
llvm-svn: 177468
|
|
|
|
|
|
|
|
|
| |
a raw directory/file pair
This makes DIType's first non-tag parameter the same as DIFile's, allowing them
to both share the common implementation of getFilename/getDirectory in DIScope.
llvm-svn: 177467
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Configuration macros are macros that are intended to alter how a
module works, such that we need to build different module variants
for different values of these macros. A module can declare its
configuration macros, in which case we will complain if the definition
of a configation macro on the command line (or lack thereof) differs
from the current preprocessor state at the point where the module is
imported. This should eliminate some surprises when enabling modules,
because "#define CONFIG_MACRO ..." followed by "#include
<module/header.h>" would silently ignore the CONFIG_MACRO setting. At
least it will no longer be silent about it.
Configuration macros are eventually intended to help reduce the number
of module variants that need to be built. When the list of
configuration macros for a module is exhaustive, we only need to
consider the settings for those macros when building/finding the
module, which can help isolate modules for various project-specific -D
flags that should never affect how modules are build (but currently do).
llvm-svn: 177466
|
|
|
|
|
|
|
|
| |
A node's ordering is only propagated during legalization if (a) the new node does
not have an ordering (is not a CSE'd node), or (b) the new node has an ordering
that is higher than the node being legalized.
llvm-svn: 177465
|
|
|
|
| |
llvm-svn: 177464
|
|
|
|
|
|
|
| |
Patch by Stepan Dyatkovskiy <stpworld@narod.ru>
rdar://13457826
llvm-svn: 177463
|
|
|
|
|
|
|
|
| |
This is another step along the way to making all DIScopes have a common prefix
which can be added to in a general manner to support using directives
(DW_TAG_imported_module).
llvm-svn: 177462
|
|
|
|
| |
llvm-svn: 177461
|
|
|
|
| |
llvm-svn: 177460
|
|
|
|
| |
llvm-svn: 177459
|
|
|
|
| |
llvm-svn: 177458
|
|
|
|
|
|
|
|
|
| |
Mostly, try to depend on the annotation comments more so these tests are more
legible, brief, and agnostic to schema changes in the future (sure, they're not
agnostic to changes to the comment annotations but since they're easier to read
they should be easier to update if that happens).
llvm-svn: 177457
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
of the data it writes down into the process even
if the process doesn't exist. This will allow
the IR interpreter to access static data allocated
on the expression's behalf.
Also cleaned up object ownership in the
IRExecutionUnit so that allocations are created
into the allocations vector. This avoids needless
data copies.
<rdar://problem/13424594>
llvm-svn: 177456
|
|
|
|
|
|
|
|
|
| |
A floating-point version is nice for testing unknown values, but it's
good to be able to check all parts of the structure as well.
Test change only, no functionality change.
llvm-svn: 177455
|
|
|
|
|
|
|
|
| |
and std::map as provided by libc++ are now written in C++ instead of Python
std::deque is still in Python but is much less commonly used
llvm-svn: 177454
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes a crash when analyzing LLVM that was exposed by r177220 (modeling of
trivial copy/move assignment operators).
When we look up a lazy binding for “Builder”, we see the direct binding of Loc at offset 0.
Previously, we believed the binding, which led to a crash. Now, we do not believe it as
the types do not match.
llvm-svn: 177453
|
|
|
|
|
|
| |
-fsanitize=address on the test suite.
llvm-svn: 177452
|
|
|
|
| |
llvm-svn: 177451
|
|
|
|
| |
llvm-svn: 177450
|
|
|
|
|
|
| |
(see previous commit)
llvm-svn: 177449
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The whole reason we were doing a BFS in the first place is because an
ExplodedGraph can have cycles. Unfortunately, my removeErrorNode "update"
doesn't work at all if there are cycles.
I'd still like to be able to avoid doing the BFS every time, but I'll come
back to it later.
This reverts r177353 / 481fa5071c203bc8ba4f88d929780f8d0f8837ba.
llvm-svn: 177448
|
|
|
|
| |
llvm-svn: 177447
|
|
|
|
|
|
|
| |
logic as a QOI cleanup. No functional change. Tests already in place.
rdar://13456414
llvm-svn: 177446
|
|
|
|
|
|
|
|
| |
- Remove useless includes
- Change misleading comments
- Move code into doFinalization
llvm-svn: 177445
|
|
|
|
| |
llvm-svn: 177444
|
|
|
|
|
|
| |
should be no functionality change. Clients should see no ABI differences.
llvm-svn: 177443
|
|
|
|
|
|
|
| |
Add a new WriteZero SchedWrite type for the common dependency-breaking
instructions that clear a register.
llvm-svn: 177442
|
|
|
|
| |
llvm-svn: 177441
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
added back in by X86AsmPrinter::printIntelMemReference() during codegen.
Previously, this following example
void t() {
int i;
__asm mov eax, [i]
}
would generate the below assembly
mov eax, dword ptr [[eax]]
which resulted in a fatal error when compiling. Test case coming on the
clang side.
rdar://13444264
llvm-svn: 177440
|
|
|
|
|
|
|
|
|
|
| |
an X86Operand, but also performs a Sema lookup and adds the sizing directive
when appropriate. Use this when parsing a bracketed statement. This is
necessary to get the instruction matching correct as well. Test case coming
on clang side.
rdar://13455408
llvm-svn: 177439
|
|
|
|
| |
llvm-svn: 177438
|
|
|
|
|
|
|
|
|
| |
We don't want to write out >1000 files at the same time. That could make things
prohibitively expensive. Instead, register the "writeout" function so that it's
emitted serially.
<rdar://problem/12439551>
llvm-svn: 177437
|
|
|
|
|
|
|
|
|
|
| |
It may be prohibitively expensive to write out >1000 files at the same time. So
we would rather emit them serially. These functions allow the GCOV
implementation to register the functions that writeout the GCOV information per
compile unit. At exit, they are written.
<rdar://problem/12439551>
llvm-svn: 177436
|