| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 115030
|
| |
|
|
| |
llvm-svn: 115029
|
| |
|
|
|
|
| |
in a GNU-compatible C++ dialect. Fixes <rdar://problem/8477819>.
llvm-svn: 115028
|
| |
|
|
| |
llvm-svn: 115027
|
| |
|
|
|
|
|
|
|
|
| |
into CXXRecordDecl. The only part that we do not handle this way are
using declarations, since that would require extra name lookup that we
don't currently want to pay for. This fixes <rdar://problem/8459981>,
so that LLDB can build a CXXRecordDecl and magically get all of the
right bits set.
llvm-svn: 115026
|
| |
|
|
|
|
|
| |
we do for the similar CXXTemporaryObjectExpr. OKed by chandlerc and
wan.
llvm-svn: 115025
|
| |
|
|
| |
llvm-svn: 115024
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This gets us the new clang::CXXRecordDecl improvments in clang so that when we
add fields, methods and other things to the clang::CXXRecordDecl, the correct
bits are automatically set by clang::CXXRecordDecl itself instead of having
SEMA and our lldb_private::ClangASTContext functions that create types for
DWARF do it all manually. This allows the clang::ASTContext deep copying of
types to work correctly and it means that the expression parser can now
evaluate expressions in the context of a class method correctly. Previously
when a class was copied from the DWARF generated ASTContext over into the
expression ASTContext, we were losing CXXRecordDecl bits in the conversion
which caused all classes to think they were at offset zero because the the
bools for empty, POD, and others would end up being incorrect.
llvm-svn: 115023
|
| |
|
|
|
|
| |
order as cctools for diffability.
llvm-svn: 115022
|
| |
|
|
|
|
| |
are defined to emit the 0x67 prefix byte. rdar://8482675
llvm-svn: 115021
|
| |
|
|
| |
llvm-svn: 115020
|
| |
|
|
|
|
|
|
|
|
| |
operands.
With this done, we can remove the _Int suffixes from the round instructions
without the disassembler blowing up. This allows the assembler to support
them, implementing rdar://8456376 - llvm-mc rejects 'roundss'
llvm-svn: 115019
|
| |
|
|
|
|
|
| |
Clean up cvttps2dq by removing some redundant implementations of the
same instruction. rdar://8456382
llvm-svn: 115018
|
| |
|
|
| |
llvm-svn: 115017
|
| |
|
|
|
|
|
|
| |
the DWARF doesn't specify the accessibility for the method. Currently gcc 4.2 and clang++ do not set the accessibility correctly on methods. We currently shouldn't default to private since public methods don't have the accessibility specified.
Bottom line: we currently default to public for both C++ and ObjC if the accessibility isn't set.
llvm-svn: 115016
|
| |
|
|
|
|
| |
an instruction that requires a WHOLE NEW wonderful kind of alias.
llvm-svn: 115015
|
| |
|
|
|
|
|
| |
MCStreamer to emit into instead of an MCInst to fill in. This allows the
matcher extra flexibility and is more convenient.
llvm-svn: 115014
|
| |
|
|
|
|
|
|
| |
problems with phi-nodes in blocks that have hard and not virtual registers.
Accordingly update branch handling to compensate.
llvm-svn: 115013
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
adding methods to C++ and objective C classes. In order to make methods, we
need the function prototype which means we need the arguments. Parsing these
could cause a circular reference that caused an assertion.
Added a new typedef for the clang opaque types which are just void pointers:
lldb::clang_type_t. This appears in lldb-types.h.
This was fixed by enabling struct, union, class, and enum types to only get
a forward declaration when we make the clang opaque qual type for these
types. When they need to actually be resolved, lldb_private::Type will call
a new function in the SymbolFile protocol to resolve a clang type when it is
not fully defined (clang::TagDecl::getDefinition() returns NULL). This allows
us to be a lot more lazy when parsing clang types and keeps down the amount
of data that gets parsed into the ASTContext for each module.
Getting the clang type from a "lldb_private::Type" object now takes a boolean
that indicates if a forward declaration is ok:
clang_type_t lldb_private::Type::GetClangType (bool forward_decl_is_ok);
So function prototypes that define parameters that are "const T&" can now just
parse the forward declaration for type 'T' and we avoid circular references in
the type system.
llvm-svn: 115012
|
| |
|
|
| |
llvm-svn: 115011
|
| |
|
|
| |
llvm-svn: 115010
|
| |
|
|
| |
llvm-svn: 115009
|
| |
|
|
|
|
| |
instructions such as add / sub.
llvm-svn: 115008
|
| |
|
|
|
|
|
|
|
|
|
| |
completely into CXXRecordDecl, by adding a new completeDefinition()
function. This required a little reshuffling of the final-overrider
checking code, since the "abstract" calculation in the presence of
abstract base classes needs to occur in
CXXRecordDecl::completeDefinition() but we don't want to compute final
overriders more than one in the common case.
llvm-svn: 115007
|
| |
|
|
|
|
|
| |
intrinsic being used. Thanks to Chris Lattner for
pointing out the proper way to do it.
llvm-svn: 115006
|
| |
|
|
| |
llvm-svn: 115005
|
| |
|
|
| |
llvm-svn: 115004
|
| |
|
|
| |
llvm-svn: 115003
|
| |
|
|
| |
llvm-svn: 115002
|
| |
|
|
| |
llvm-svn: 115001
|
| |
|
|
| |
llvm-svn: 115000
|
| |
|
|
| |
llvm-svn: 114999
|
| |
|
|
| |
llvm-svn: 114998
|
| |
|
|
|
|
| |
knows about them. This is not necessary on 10.6 and later.
llvm-svn: 114997
|
| |
|
|
|
|
|
|
|
|
|
| |
delete the MDNode that changed, rather than the other MDNode.
This is less work, because it doesn't require the changed node
to be re-inserted into the uniquing map and it doesn't require
the is-function-local flag to be recomputed. Also, it avoids
trouble when the existing node is part of a complicated
data structure.
llvm-svn: 114996
|
| |
|
|
|
|
|
|
|
|
|
| |
provide more precise
cost modeling for if-conversion. Now if only we had a way to estimate the misprediction probability.
Adjsut CodeGen/ARM/ifcvt10.ll. The pipeline on Cortex-A8 is long enough that it is still profitable
to predicate an ldm, but the shorter pipeline on Cortex-A9 makes it unprofitable.
llvm-svn: 114995
|
| |
|
|
| |
llvm-svn: 114994
|
| |
|
|
|
|
| |
CXXRecordDecl::DefinitionData, rather than having Sema mark the bit.
llvm-svn: 114993
|
| |
|
|
|
|
| |
ARMTargetMachine.cpp:53: error: control reaches end of non-void function
llvm-svn: 114992
|
| |
|
|
|
|
| |
Patch by Evzen Muller!
llvm-svn: 114991
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- the guard variable for the static result
variable was being mistaken for the actual
result value, causing IRForTarget to fail
- LLVM builtins like memcpy were not being
properly resolved; now they are resolved
to the corresponding function in the target
llvm-svn: 114990
|
| |
|
|
| |
llvm-svn: 114989
|
| |
|
|
|
|
|
|
|
|
|
|
| |
command on the various basic types, similar to TestIntegerTypes.py and
TestFloatTypes.py, which exercise 'frame variable' on the various basic types.
Right now, they don't employ the self.expect() facility to compare against the
golden output. They just invoke the self.runCmd() method to run the 'expr'
command. Decorated the two classes with @unittest2.skip decorators for the time
being.
llvm-svn: 114987
|
| |
|
|
|
|
| |
it's not used afterwards.
llvm-svn: 114986
|
| |
|
|
|
|
| |
<rdar://problem/8459981>.
llvm-svn: 114984
|
| |
|
|
|
|
| |
Fixes rdar://8476159.
llvm-svn: 114982
|
| |
|
|
|
|
|
|
| |
plausible branch prediction
estimates.
llvm-svn: 114981
|
| |
|
|
|
|
|
|
|
|
|
|
| |
in CXXRecordDecl itself. Yes, this is also part of <rdar://problem/8459981>.
This reinstates r114924, with one crucial bug fix: we were ignoring
the implicit fields created by anonymous structs/unions when updating
the bits in CXXRecordDecl, which means that a class/struct containing
only an anonymous class/struct would be considered "empty". Hilarity
follows.
llvm-svn: 114980
|
| |
|
|
| |
llvm-svn: 114979
|
| |
|
|
|
|
| |
the header can get away with forward declarations only for ObjCMethodList and Selector. Fixes <rdar://8467631>.
llvm-svn: 114978
|