| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
| |
The sanitizer test suite uses this idiom to disable a test. Now that we
actually check if a test ran after invoking it, we see that zero tests
ran, and complain.
Instead, ignore tests starting with DISABLED_ completely. Fixes the
sanitizer test suite failures on Windows.
llvm-svn: 234247
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove `DILexicalBlockFile::getScope()` (whose last use was removed from
clang in r234245), which illegally returned a `DILexicalBlock` despite
its scope sometimes being an `MDSubprogram`. Also remove the
`getLineNumber()` and `getColumnNumber()` methods that just forwarded to
`DILexicalBlock`'s versions, since there don't seem to be any callers.
Note that the block of code removed from `DebugInfo.cpp` was actually
dead code, since `isLexicalBlock()` (the previous branch) always returns
true when `isLexicalBlockFile()` returns true.
An earlier (broken and untested) version of this was squashed into
r234222 and reverted in r234225.
llvm-svn: 234246
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
The '/' character in the test name of a type-parameterized test is not a
path separator, and should not be '\' on Windows. We were passing a test
name to --gtest_filter which found no tests, so the exit code was zero,
indicating a passed test.
This bug has been here since r84387 in 2009, when Jeff Yasskin added the
original lit support for type-paratermized tests. Somewhere along the
line some of the ValueMapTests started failing, but we can fix those
separately.
llvm-svn: 234242
|
| |
|
|
|
|
|
|
|
|
| |
This reverts commit r234225, reapplying r234222 in spirit.
This time, just include what the commit message actually describes:
loosen the `DILexicalBlock` constructor to require a
`MDLexicalBlockBase`, since that's what `DILexicalBlock` is wrapping.
llvm-svn: 234241
|
| |
|
|
|
|
|
|
|
| |
This reverts commit r234222, while I look into bot failures [1]. I'll
recommit soon.
[1]: http://lab.llvm.org:8080/green/job/clang-stage1-cmake-RA-incremental_check/7117/
llvm-svn: 234225
|
| |
|
|
| |
llvm-svn: 234224
|
| |
|
|
|
|
|
|
| |
This class wraps `MDLexicalBlockBase`, so allow construction from it!
Currently doesn't cause any problems because of the explicit `MNode*`
constructor, but I'll be removing that soon enough.
llvm-svn: 234222
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Instead of making a local copy of `checkInterfaceFunction` for each
sanitizer, move the function in a common place.
Reviewers: kcc, samsonov
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D8775
llvm-svn: 234220
|
| |
|
|
|
|
|
|
|
|
| |
A few calls are left in for error checking - but I'm commenting those
out & trying to build some IR tests (aiming for Argument Promotion to
start with). When I get any of these tests passing I may add flag to
disable the checking so I can add tests that pass with the assertion in
place.
llvm-svn: 234206
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Remove `DIDescriptor::Verify()` and the `Verify()`s from subclasses.
They had already been gutted, and just did an `isa<>` check.
In a couple of cases I've temporarily dropped the check entirely, but
subsequent commits are going to disallow conversions to the
`DIDescriptor`s directly from `MDNode`, so the checks will come back in
another form soon enough.
llvm-svn: 234201
|
| |
|
|
|
|
|
|
|
| |
This array-like wrapper adapts `MDTuple` to have elements of `MDTypeRef`
(whereas `MDTypeArray` has elements of `MDType`). This is necessary to
migrate code using `DITypeArray`. The only use of this is
`MDSubroutineType`'s `getTypeArray()` accessor.
llvm-svn: 234200
|
| |
|
|
| |
llvm-svn: 234198
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use `MDTypeRef` (etc.) in the new debug info hierarchy rather than raw
`Metadata *` pointers.
I rolled in a change to `DIBuilder` that looks unrelated: take `DIType`
instead of `DITypeRef` as type arguments when creating variables.
However, this was the simplest way to use `MDTypeRef` within the
functions, and didn't require any cleanups from callers in clang (since
they were all passing in `DIType`s anyway, relying on their implicit
conversions to `DITypeRef`).
llvm-svn: 234197
|
| |
|
|
|
|
|
|
|
|
| |
The uselist isn't enough to infer anything about the lifetime of such
allocas. If we want to re-add this optimization, we will need to
leverage lifetime markers to do it.
Fixes PR23122.
llvm-svn: 234196
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After recognising that a certain narrow instruction might need a relocation to
be represented, we used to unconditionally relax it to a Thumb2 instruction to
permit this. Unfortunately, some CPUs (e.g. v6m) don't even have most Thumb2
instructions, so we end up emitting a completely invalid instruction.
Theoretically, ELF does have relocations for these situations; but they are
fairly unusable with such short ranges and the ABI document even says they're
documented "for completeness". So an error is probably better there too.
rdar://20391953
llvm-svn: 234195
|
| |
|
|
|
|
|
|
|
|
|
|
| |
SSE4.1 targets
This patch allows SSE4.1 targets to use (V)PINSRB to create 16i8 vectors by inserting i8 scalars directly into a XMM register instead of merging pairs of i8 scalars into a i16 and using the SSE2 PINSRW instruction.
This allows folding of byte loads and reduces scalar register usage as well.
Differential Revision: http://reviews.llvm.org/D8839
llvm-svn: 234193
|
| |
|
|
|
|
| |
test macho-objc-meta-data.test had a line it shouldn't have had.
llvm-svn: 234190
|
| |
|
|
|
|
| |
PointerTypes so let's type them that way.
llvm-svn: 234189
|
| |
|
|
|
|
|
| |
Create a string-based wrapper in the debug info hierarchy for type
references.
llvm-svn: 234188
|
| |
|
|
| |
llvm-svn: 234186
|
| |
|
|
|
|
| |
with the existing -objc-meta-data and -macho options for Mach-O files.
llvm-svn: 234185
|
| |
|
|
|
|
|
|
|
| |
Add `MDTupleTypedArrayWrapper`, a wrapper around `MDTuple` that adapts
it to look like an array and cast its operands to the given type. This
is designed to be a replacement for `DITypedArray<>`, which is in the
`DIDescriptor` hierarchy.
llvm-svn: 234183
|
| |
|
|
|
|
|
| |
Most fields are now accessed via the new debug info hierarchy. I'll
make the rest of this code dead soon.
llvm-svn: 234182
|
| |
|
|
|
|
|
|
| |
This upgrade of `@llvm.dbg.declare` and `@llvm.dbg.value` isn't useful,
since it's for an old debug info version. The calls will get stripped
anyway by `UpgradeDebugInfo()`.
llvm-svn: 234181
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: This reduces handling &B[(1 << i) * s] to handling &B[i * S].
Test Plan: slsr-gep.ll
Reviewers: meheff
Subscribers: sanjoy, llvm-commits
Differential Revision: http://reviews.llvm.org/D8837
llvm-svn: 234180
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D8715
llvm-svn: 234179
|
| |
|
|
|
|
|
|
|
| |
Add missing checks for `templateParams:` in `MDCompositeType`. Pull the
current check for `MDSubprogram` to reduce duplicated code and fix it up
to print a good message when the immediate operand isn't an `MDTuple`
(as a drive-by, make the same fix to `variables:` in `MDSubprogram`).
llvm-svn: 234177
|
| |
|
|
| |
llvm-svn: 234175
|
| |
|
|
|
|
|
|
| |
H.J. Lu noted that all .section options are separated by a comma.
This patch changes the syntax of unique to require one.
llvm-svn: 234174
|
| |
|
|
| |
llvm-svn: 234171
|
| |
|
|
|
|
|
|
|
| |
As pr19627 points out, every use of AliasedSymbol is likely a bug.
The main use was to avoid the oddity of a variable showing up as undefined. That
was fixed in r233995, which made these calls nops.
llvm-svn: 234169
|
| |
|
|
| |
llvm-svn: 234168
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before when deciding if we needed a relocation in A-B, we wore only checking
if A was weak.
This fixes the asymmetry.
The "InSet" argument should probably be renamed to "ForValue", since InSet is
very MachO specific, but doing so in this patch would make it hard to read.
This fixes PR22815.
llvm-svn: 234165
|
| |
|
|
|
|
|
| |
This taking linking clang on my machine with gold from 16.980257914 to
15.933037649 seconds.
llvm-svn: 234161
|
| |
|
|
|
|
|
| |
This takes linking clang in a debug build with gold form 19.518925697 to
16.406388685 seconds.
llvm-svn: 234160
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Unfortunately, on ELF there is not used attribute on the .o files,
so there is no easy way to keep the dump function alive.
If we are not gcing, we may as well produce non gcable files and
avoid the cost.
Linking a debug clang now takes 18.856225992 seconds, before it
took 21.206897447.
I will try avoiding --gc-sections -O3 on a followup patch.
llvm-svn: 234159
|
| |
|
|
| |
llvm-svn: 234158
|
| |
|
|
|
|
| |
This avoids some pretty horrible and broken name based section handling.
llvm-svn: 234142
|
| |
|
|
|
|
|
|
|
| |
The case values are not a tidy enum we can fully cover. They even ovelap
over the various extension.
Just use a default:
llvm-svn: 234140
|
| |
|
|
|
|
|
|
| |
Just store the section in MCSectionELF. This avoids multiple hash lookups.
This will also be used by ARM_EXIDX.
llvm-svn: 234139
|
| |
|
|
| |
llvm-svn: 234138
|
| |
|
|
|
|
|
| |
Just doing the two-step so I don't get so much build-bot spam... (add
new API, migrate callers, remove old API)
llvm-svn: 234132
|
| |
|
|
| |
llvm-svn: 234127
|
| |
|
|
|
|
|
|
|
| |
There's still lots of callers passing nullptr, of course - some because
they'll never be migrated (InstCombines for bitcasts - well they don't
make any sense when the pointer type is opaque anyway, for example) and
others that will need more engineering to pass Types around.
llvm-svn: 234126
|
| |
|
|
|
|
|
| |
The GCC attribute is curiously named 'malloc', but I think it's better
to use LLVM terminology for the wrapper macro.
llvm-svn: 234121
|
| |
|
|
|
|
| |
NFCI.
llvm-svn: 234118
|
| |
|
|
| |
llvm-svn: 234108
|
| |
|
|
| |
llvm-svn: 234107
|
| |
|
|
| |
llvm-svn: 234106
|
| |
|
|
|
|
| |
It makes it hard to see which one is being called.
llvm-svn: 234100
|