| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
When trying to match the current schema with the new debug info
hierarchy, I downgraded `SizeInBits`, `AlignInBits` and `OffsetInBits`
to 32-bits (oops!). Caught this while testing my upgrade script to move
the hierarchy into place. Bump it back up to 64-bits and update tests.
llvm-svn: 229933
|
| |
|
|
|
|
|
|
|
| |
Add missing `nullptr` from `MDSubroutineType`'s operands for
`MDCompositeTypeBase::getIdentifier()` (and add tests for all the other
unused fields). This highlights just how crazy it is that
`MDSubroutineType` inherits from `MDCompositeTypeBase`.
llvm-svn: 229926
|
| |
|
|
|
|
| |
Patch by Raoux, Thomas F!
llvm-svn: 229864
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D7366
llvm-svn: 229840
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D7364
llvm-svn: 229838
|
| |
|
|
|
|
|
|
|
|
| |
Follow-up to r229740, which removed `DITemplate*::getContext()` after my
upgrade script revealed that scopes are always `nullptr` for template
parameters. This is the other shoe: drop `scope:` from
`MDTemplateParameter` and its two subclasses. (Note: a bitcode upgrade
would be pointless, since the hierarchy hasn't been moved into place.)
llvm-svn: 229791
|
| |
|
|
|
|
|
|
|
| |
Put the name before the value in assembly for `MDEnum`. While working
on the testcase upgrade script for the new hierarchy, I noticed that it
"looks nicer" to have the name first, since it lines the names up in the
(somewhat typical) case that they have a common prefix.
llvm-svn: 229747
|
| |
|
|
| |
llvm-svn: 229742
|
| |
|
|
|
|
|
|
|
|
|
| |
The scope/context is always the compile unit, which we replace with
`nullptr` anyway (via `getNonCompileUnitScope()`). Drop it explicitly.
I noticed this field was always null while writing testcase upgrade
scripts to transition to the new hierarchy. Seems wasteful to
transition it over if it's already out-of-use.
llvm-svn: 229740
|
| |
|
|
| |
llvm-svn: 229736
|
| |
|
|
|
|
|
| |
r229733 removed an invalid use of `DIScopeRef`, so now we can enforce
that a `DIScopeRef` is actually a scope.
llvm-svn: 229734
|
| |
|
|
|
|
|
|
|
|
| |
`DIImportedEntity::getEntity()` currently returns a `DIScopeRef`, but
the nodes it references aren't always `DIScope`s. In particular, it can
reference global variables.
Introduce `DIDescriptorRef` to avoid the lie.
llvm-svn: 229733
|
| |
|
|
|
|
| |
them in IR with vector shuffles now. All their uses have been removed from clang in favor of shuffles.
llvm-svn: 229640
|
| |
|
|
|
|
|
| |
Simplify the code. It has been a while since the schema has been so
"flexible".
llvm-svn: 229573
|
| |
|
|
|
|
|
|
| |
Tested in clang/test/CodeGenObjCCXX/debug-info-cyclic.mm
rdar://problem/19839612
llvm-svn: 229521
|
| |
|
|
|
|
| |
Same functionality, but hoists the vector growth out of the loop.
llvm-svn: 229500
|
| |
|
|
|
|
| |
X86ISD::VSHLDQ and X86ISD::VSRLDQ. This simplifies the pattern matching in isel and allows these nodes to become the patterns embedded in the instruction.
llvm-svn: 229431
|
| |
|
|
| |
llvm-svn: 229430
|
| |
|
|
| |
llvm-svn: 229420
|
| |
|
|
|
|
| |
Cast validity depends on the cast's kind, not just its types.
llvm-svn: 229366
|
| |
|
|
| |
llvm-svn: 229361
|
| |
|
|
| |
llvm-svn: 229356
|
| |
|
|
| |
llvm-svn: 229355
|
| |
|
|
| |
llvm-svn: 229354
|
| |
|
|
|
|
|
|
|
|
|
| |
We didn't properly handle the out-of-bounds case for
ConstantAggregateZero and UndefValue. This would manifest as a crash
when the constant folder was asked to fold a load of a constant global
whose struct type has no operands.
This fixes PR22595.
llvm-svn: 229352
|
| |
|
|
|
|
| |
requiring the macro. NFC; LLVM edition.
llvm-svn: 229340
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The "dereferenceable" attribute cannot be added via .addAttribute(),
since it also expects a size in bytes. AttrBuilder#addAttribute or
AttributeSet#addAttribute is wrapped by classes Function, InvokeInst,
and CallInst. Add corresponding wrappers to
AttrBuilder#addDereferenceableAttr.
Having done this, propagate the dereferenceable attribute via
gc.relocate, adding a test to exercise it. Note that -datalayout is
required during execution over and above -instcombine, because
InstCombine only optionally requires DataLayoutPass.
Differential Revision: http://reviews.llvm.org/D7510
llvm-svn: 229265
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
LLVM's include tree and the use of using declarations to hide the
'legacy' namespace for the old pass manager.
This undoes the primary modules-hostile change I made to keep
out-of-tree targets building. I sent an email inquiring about whether
this would be reasonable to do at this phase and people seemed fine with
it, so making it a reality. This should allow us to start bootstrapping
with modules to a certain extent along with making it easier to mix and
match headers in general.
The updates to any code for users of LLVM are very mechanical. Switch
from including "llvm/PassManager.h" to "llvm/IR/LegacyPassManager.h".
Qualify the types which now produce compile errors with "legacy::". The
most common ones are "PassManager", "PassManagerBase", and
"FunctionPassManager".
llvm-svn: 229094
|
| |
|
|
|
|
| |
correct immediates. Seems they were swapped.
llvm-svn: 229077
|
| |
|
|
|
|
| |
The builtins aren't used by clang.
llvm-svn: 229069
|
| |
|
|
|
|
|
|
| |
No caller specifies anything different; these parameters are dead code
and probably always have been. The new hierarchy doesn't bother with
the fields at all (see r228607 and r228652).
llvm-svn: 229037
|
| |
|
|
| |
llvm-svn: 229025
|
| |
|
|
| |
llvm-svn: 229024
|
| |
|
|
| |
llvm-svn: 229023
|
| |
|
|
| |
llvm-svn: 229022
|
| |
|
|
| |
llvm-svn: 229020
|
| |
|
|
| |
llvm-svn: 229019
|
| |
|
|
| |
llvm-svn: 229018
|
| |
|
|
| |
llvm-svn: 229017
|
| |
|
|
| |
llvm-svn: 229016
|
| |
|
|
| |
llvm-svn: 229015
|
| |
|
|
| |
llvm-svn: 229014
|
| |
|
|
| |
llvm-svn: 229013
|
| |
|
|
| |
llvm-svn: 229011
|
| |
|
|
| |
llvm-svn: 229010
|
| |
|
|
| |
llvm-svn: 229009
|
| |
|
|
| |
llvm-svn: 229007
|
| |
|
|
| |
llvm-svn: 229006
|
| |
|
|
| |
llvm-svn: 229005
|
| |
|
|
| |
llvm-svn: 229004
|