| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 233458
|
| |
|
|
|
|
|
|
| |
integral promotion only if it converts to the underlying type or its promoted
type, not if it converts to the promoted type that the bitfield would have it
if were of the underlying type.
llvm-svn: 233457
|
| |
|
|
| |
llvm-svn: 233456
|
| |
|
|
| |
llvm-svn: 233455
|
| |
|
|
| |
llvm-svn: 233454
|
| |
|
|
| |
llvm-svn: 233453
|
| |
|
|
| |
llvm-svn: 233452
|
| |
|
|
|
|
| |
subtarget.
llvm-svn: 233451
|
| |
|
|
| |
llvm-svn: 233450
|
| |
|
|
| |
llvm-svn: 233449
|
| |
|
|
| |
llvm-svn: 233448
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This change teaches ScalarEvolution::isLoopBackedgeGuardedByCond to look
at edges within the loop body that dominate the latch. We don't do an
exhaustive search for all possible edges, but only a quick walk up the
dom tree.
Reviewers: atrick, hfinkel
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D8627
llvm-svn: 233447
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add verify checks for `MDType` subclasses and for `MDCompileUnit`.
These new checks don't yet incorporate everything from `Verify()`, but
at least they sanity check the operands. Also downcast accessors as
possible.
A lot of these accessors can't be downcast as far as we'd like because
of arrays of typed objects (stored in a generic `MDTuple`) and
`MDString`-based type references. Eventually I'll port over `DIRef<>`
and `DITypedArray<>` from `DebugInfo.h` to clean those up as well.
Updated bitrotted testcases separately in r233415 and r233443 to reduce
churn on the off-chance this needs to be reverted.
llvm-svn: 233446
|
| |
|
|
|
|
|
| |
Assert that a non-null value is being passed in. Note that I fixed the
one offender in clang in r233443.
llvm-svn: 233445
|
| |
|
|
| |
llvm-svn: 233444
|
| |
|
|
|
|
|
|
|
|
| |
An upcoming LLVM commit will make calling
`DIBuilder::retainType(nullptr)` illegal (actually, it already was, but
it wasn't verified). Check for null before calling.
This triggered in test/CodeGenObjC/debug-info-block-helper.m.
llvm-svn: 233443
|
| |
|
|
| |
llvm-svn: 233442
|
| |
|
|
|
|
|
|
| |
I expected that these functions are overridden somewhere in the LLD
code base, but they are actually not. Removing virtual for readability
(and performance).
llvm-svn: 233441
|
| |
|
|
|
|
|
| |
So that they look to be following the same style as other functions
around them.
llvm-svn: 233440
|
| |
|
|
| |
llvm-svn: 233439
|
| |
|
|
|
|
|
|
| |
Use of llvm::Optional seems useless here because we can set the
default value 0x1000 as an initial value to the varaible.
This patch also de-virtualize the accessor functions.
llvm-svn: 233438
|
| |
|
|
| |
llvm-svn: 233437
|
| |
|
|
|
|
|
|
| |
No one uses return value of the member function, and return value
is always true. Returning a value doesn't make sense.
This patch also de-virtualize the fucntion.
llvm-svn: 233436
|
| |
|
|
|
|
|
| |
Since we have a (protected) constructor having two parameters,
the default constructor is not defined even if we don't do =delete.
llvm-svn: 233435
|
| |
|
|
| |
llvm-svn: 233434
|
| |
|
|
| |
llvm-svn: 233433
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change `llc` and `opt` to run `verifyModule()`. This ensures that we
check the full module before `FunctionPass::doInitialization()` ever
gets called (I was getting crashes in `DwarfDebug` instead of verifier
failures when testing a WIP patch that checks operands of compile
units). In `opt`, also move up debug-info-stripping so that it still
runs before verification.
There was a fair bit of broken code that was sitting in tree.
Interestingly, some were cases of a `select` that referred to itself in
`-instcombine` tests (apparently an intermediate result). I split them
off to `*-noverify.ll` tests with RUN lines like this:
opt < %s -S -disable-verify -instcombine | opt -S | FileCheck %s
This avoids verifying the input file (so we can get the broken code into
`-instcombine), but still verifies the output with a second call to
`opt` (to verify that `-instcombine` will clean it up like it should).
llvm-svn: 233432
|
| |
|
|
| |
llvm-svn: 233431
|
| |
|
|
|
|
| |
not visible definition of the same template.
llvm-svn: 233430
|
| |
|
|
|
|
| |
The interface of this function was changed in r233411.
llvm-svn: 233429
|
| |
|
|
|
|
|
|
| |
for.
Not doing this causes some headaches for users migrating from autoconf to CMake.
llvm-svn: 233428
|
| |
|
|
| |
llvm-svn: 233427
|
| |
|
|
|
|
|
|
|
|
| |
I again added the "reasonable" assertions and they again fired during
a modules self-host.
This hopefully will un-break the self-host build bot. No test case handy
and adding one seems to have little or no value really.
llvm-svn: 233426
|
| |
|
|
| |
llvm-svn: 233425
|
| |
|
|
| |
llvm-svn: 233424
|
| |
|
|
| |
llvm-svn: 233423
|
| |
|
|
| |
llvm-svn: 233422
|
| |
|
|
|
|
|
|
|
| |
Clang modules out of the Mac OS X SDK and use their
types/functions.
<rdar://problem/18802064>
llvm-svn: 233421
|
| |
|
|
|
|
|
|
| |
if the merged definition is visible, and perform lookups into all merged copies
of the definition (not just for special members) so that we can complete the
redecl chains for members of the class.
llvm-svn: 233420
|
| |
|
|
|
|
| |
have been removed.
llvm-svn: 233419
|
| |
|
|
| |
llvm-svn: 233418
|
| |
|
|
|
|
|
| |
I actually spend my time to understand this piece of code
and then realized that this is all dead.
llvm-svn: 233417
|
| |
|
|
| |
llvm-svn: 233416
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix debug info in these tests, which started failing with a WIP patch to
verify compile units and types. The problems look like they were all
caused by bitrot. They fell into these categories:
- Using `!{i32 0}` instead of `!{}`.
- Using `!{null}` instead of `!{}`.
- Using `!MDExpression()` instead of `!{}`.
- Using `!8` instead of `!{!8}`.
- `file:` references that pointed at `MDCompileUnit`s instead of the
same `MDFile` as the compile unit.
- `file:` references that were numerically off-by-one or (off-by-ten).
llvm-svn: 233415
|
| |
|
|
|
|
| |
Missing colon, instruction typo.
llvm-svn: 233414
|
| |
|
|
|
|
| |
Patch by Alexey Samsonov!
llvm-svn: 233413
|
| |
|
|
|
|
|
|
|
|
|
| |
method.
This enables the instprinter to print a different system register name based on
the feature bits of the per-function subtarget.
Differential Revision: http://reviews.llvm.org/D8668
llvm-svn: 233412
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
per-function subtarget.
Currently, code-gen passes the default or generic subtarget to the constructors
of MCInstPrinter subclasses (see LLVMTargetMachine::addPassesToEmitFile), which
enables some targets (AArch64, ARM, and X86) to change their instprinter's
behavior based on the subtarget feature bits. Since the backend can now use
different subtargets for each function, instprinter has to be changed to use the
per-function subtarget rather than the default subtarget.
This patch takes the first step towards enabling instprinter to change its
behavior based on the per-function subtarget. It adds a bit "PassSubtarget" to
AsmWriter which tells table-gen to pass a reference to MCSubtargetInfo to the
various print methods table-gen auto-generates.
I will follow up with changes to instprinters of AArch64, ARM, and X86.
llvm-svn: 233411
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Tailcalls are only OK with forwarded sret pointers. With explicit sret,
one approximation is to check that the pointer isn't an Instruction, as
in that case it might point into some local memory (alloca). That's not
OK with tailcalls.
Explicit sret counterpart to r233409.
Differential Revison: http://reviews.llvm.org/D8510
llvm-svn: 233410
|
| |
|
|
|
|
|
|
|
| |
Tailcalls are only OK with forwarded sret pointers. With sret demotion,
they're not, as we'd have a pointer into a soon-to-be-dead stack frame.
Differential Revison: http://reviews.llvm.org/D8510
llvm-svn: 233409
|