| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 187002
|
| |
|
|
| |
llvm-svn: 187001
|
| |
|
|
|
|
|
| |
Use getNodeField to access a field as a MDNode.
No functionality change.
llvm-svn: 186985
|
| |
|
|
| |
llvm-svn: 186972
|
| |
|
|
|
|
|
|
|
|
|
| |
MDNodes used by DbgDeclareInst and DbgValueInst.
Another 16 testing cases failed and they are disabled with
-disable-debug-info-verifier.
A total of 34 cases are disabled with -disable-debug-info-verifier and will be
corrected.
llvm-svn: 186902
|
| |
|
|
|
|
| |
Instead of just adding the scope to the list, we actually handle the scope.
llvm-svn: 186867
|
| |
|
|
| |
llvm-svn: 186767
|
| |
|
|
| |
llvm-svn: 186766
|
| |
|
|
|
|
|
|
| |
Simplify DIxxx:Verify to not call Verify on an operand. Instead, we use
DebugInfoFinder to list all MDNodes that should be a DIScope and all MDNodes
that should be a DIType and we will call Verify on those lists.
llvm-svn: 186737
|
| |
|
|
|
|
|
| |
We were incorrectly using compiler_used instead of compiler.used. Unfortunately
the passes using the broken name had tests also using the broken name.
llvm-svn: 186705
|
| |
|
|
|
|
|
| |
uses that wanted it. Also change the interface for createCompileUnit
to compensate. Fix comments that refer to TheCU as well.
llvm-svn: 186637
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1> Use DebugInfoFinder to find debug info MDNodes.
2> Add disable-debug-info-verifier to disable verifying debug info.
3> Disable verifying for testing cases that fail (will update the testing cases
later on).
4> MDNodes generated by clang can have empty filename for TAG_inheritance and
TAG_friend, so DIType::Verify is modified accordingly.
Note that DebugInfoFinder does not list all debug info MDNode.
For example, clang can generate:
metadata !{i32 786468}, which will fail to verify.
This MDNode is used by debug info but not included in DebugInfoFinder.
This MDNode is generated as a temporary node in DIBuilder::createFunction
Value *TElts[] = { GetTagConstant(VMContext, DW_TAG_base_type) };
MDNode::getTemporary(VMContext, TElts)
llvm-svn: 186634
|
| |
|
|
|
|
| |
This reverts commit r186599 as I didn't want to commit this yet.
llvm-svn: 186601
|
| |
|
|
|
|
|
| |
uses that wanted it. Also change the interface for createCompileUnit
to compensate. Fix comments that refer to TheCU as well.
llvm-svn: 186599
|
| |
|
|
|
|
| |
No functionality change.
llvm-svn: 186470
|
| |
|
|
|
|
| |
size.
llvm-svn: 186274
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This patch adds explicit calling convention types for the Win64 and
System V/x86-64 ABIs. This allows code to override the default, and use
the Win64 convention on a target that wants to use SysV (and
vice-versa). This is needed to implement the `ms_abi` and `sysv_abi` GNU
attributes.
Reviewers:
CC:
llvm-svn: 186144
|
| |
|
|
|
|
|
|
|
|
|
| |
- Coallocate entires for AttributeSetImpls and Nodes after the class itself.
- Remove mutable iterators from immutable classes.
- Remove unused context field from AttributeImpl.
- Derive Enum/Align/String attribute implementations from AttributeImpl instead
of having a whole new inheritance tree for them.
- Derive AlignAttributeImpl from EnumAttributeImpl.
llvm-svn: 186075
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A non-constant-foldable static initializer expression containing insertvalue or
extractvalue had been causing an assert:
Constants.cpp:1971: Assertion `FC && "ExtractValue constant expr couldn't be
folded!"' failed.
Now we report a more-sensible "Unsupported expression in static initializer"
error instead.
Fixes PR15417.
llvm-svn: 186044
|
| |
|
|
|
|
|
| |
This reverts commit r185876 as the functions appear to still be used
by dragonegg.
llvm-svn: 185890
|
| |
|
|
| |
llvm-svn: 185876
|
| |
|
|
|
|
|
| |
functions. Make the function attributes pass add it to known library functions
and when it can deduce it.
llvm-svn: 185735
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We were being a bit too aggresive here in classifying global variables
with no global reference or constant value to be invalid - this would
cause LLVM to not emit the DWARF description of the global variable if
it had been optimized away, which isn't helpful for users who might
benefit from the global variable's description even if there's no
location information.
This also fixes a crasher issue here that I was unable to reduce a test
case for - involving a using decl (& subsequent
DW_TAG_imported_declaration ) of such a global variable that, once
optimized away, would crash when an attempt to emit the imported
declaration was made.
llvm-svn: 185675
|
| |
|
|
|
|
| |
specifying the vector size.
llvm-svn: 185606
|
| |
|
|
|
|
| |
Patch by Alex Crichton <alex@crichton.co>. Approved by Chris Lattner.
llvm-svn: 185566
|
| |
|
|
|
|
| |
specifying the vector size.
llvm-svn: 185540
|
| |
|
|
| |
llvm-svn: 185456
|
| |
|
|
|
|
|
|
|
|
|
| |
Add missing parenthesis such that all and not only the very first attribute
is checked.
Testing this piece of code is not possible with an LLVM-IR test file, as the
LLVM-IR parser has a similar check such that the wrong IR does not even arrive
at the verifier.
llvm-svn: 185408
|
| |
|
|
|
|
|
| |
No functionality change. It should suffice to check the type of a debug info
metadata, instead of calling Verify.
llvm-svn: 185383
|
| |
|
|
|
|
| |
No functionality change. Remove handling for the null case.
llvm-svn: 185354
|
| |
|
|
|
|
|
|
| |
trying to remove a sext from a compare.
Fixes PR16462.
llvm-svn: 185284
|
| |
|
|
|
|
|
|
|
| |
No functionality change.
It should suffice to check the type of a debug info metadata, instead of
calling Verify. For cases where we know the type of a DI metadata, use
assert.
llvm-svn: 185249
|
| |
|
|
| |
llvm-svn: 185238
|
| |
|
|
|
|
|
|
|
| |
a zero-argument createNullPtrType function for creating the canonical
nullptr type.
Differential Revision: http://llvm-reviews.chandlerc.com/D1050
llvm-svn: 185114
|
| |
|
|
|
|
|
|
| |
The Builtin attribute is an attribute that can be placed on function call site that signal that even though a function is declared as being a builtin,
rdar://problem/13727199
llvm-svn: 185049
|
| |
|
|
| |
llvm-svn: 184892
|
| |
|
|
| |
llvm-svn: 184864
|
| |
|
|
| |
llvm-svn: 184783
|
| |
|
|
|
|
|
|
| |
Representing enumerators by int64 instead of uint64 for now. At some
point we need to address the underlying issue of representation
depending on the specific enumeration.
llvm-svn: 184761
|
| |
|
|
|
|
| |
and parameter packs
llvm-svn: 184643
|
| |
|
|
|
|
|
|
|
| |
definitions (& rename the 'fwd' tag to 'decl' for clarity)
This change is version locked with a change in Clang, so expect some
transient buildbot fallout.
llvm-svn: 184525
|
| |
|
|
|
|
|
|
| |
APFloat::isFiniteNonZero.
Turns out all the references were in llvm and not in clang.
llvm-svn: 184356
|
| |
|
|
| |
llvm-svn: 184239
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This pass was assuming that if hasAddressTaken() returns false for a
function, the function's only uses are call sites. That's not true
because there can be references by BlockAddresses too.
Fix the pass to handle this case. Fix
BlockAddress::replaceUsesOfWithOnConstant() to allow a function's type
to be changed by RAUW'ing the function with a bitcast of the recreated
function.
Patch by Mark Seaborn.
llvm-svn: 183933
|
| |
|
|
|
|
|
|
| |
The effect of llvm.used is to introduce an invisible reference, so this seems
a reasonable restriction. It will be used to provide an easy ordering of
the entries in llvm.used.
llvm-svn: 183743
|
| |
|
|
|
|
| |
Use the correct DIType when creating types in DIBuilder.
llvm-svn: 183543
|
| |
|
|
|
|
| |
Use the correct DIType when creating vector types.
llvm-svn: 183484
|
| |
|
|
|
|
| |
Also simplify code a bit while there. No functionality change.
llvm-svn: 183076
|
| |
|
|
|
|
| |
No functionality change.
llvm-svn: 183075
|
| |
|
|
| |
llvm-svn: 182869
|