| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
for real_X calls. Patch by timurrrr@google.com
llvm-svn: 149687
|
| |
|
|
|
|
| |
Patch by timurrrr@google.com
llvm-svn: 149686
|
| |
|
|
|
|
|
|
|
| |
template. Such pack expansions can easily fail at template
instantiation time, if the expanded parameter packs are of the wrong
length. Fixes <rdar://problem/10040867>, PR9021, and the example that
came up today at Going Native.
llvm-svn: 149685
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
lldb.SBValueList now exposes the len() method and also allows item access:
lldb.SBValueList[<int>] - where <int> is an integer index into the list, returns a single lldb.SBValue which might be empty if the index is out of range
lldb.SBValueList[<str>] - where <str> is the name to look for, returns a list() of lldb.SBValue objects with any matching values (the list might be empty if nothing matches)
lldb.SBValueList[<re>] - where <re> is a compiles regular expression, returns a list of lldb.SBValue objects for containing any matches or a empty list if nothing matches
lldb.SBFrame now exposes:
lldb.SBFrame.variables => SBValueList of all variables that are in scope
lldb.SBFrame.vars => see lldb.SBFrame.variables
lldb.SBFrame.locals => SBValueList of all variables that are locals in the current frame
lldb.SBFrame.arguments => SBValueList of all variables that are arguments in the current frame
lldb.SBFrame.args => see lldb.SBFrame.arguments
lldb.SBFrame.statics => SBValueList of all static variables
lldb.SBFrame.registers => SBValueList of all registers for the current frame
lldb.SBFrame.regs => see lldb.SBFrame.registers
Combine any of the above properties with the new lldb.SBValueList functionality
and now you can do:
y = lldb.frame.vars['rect.origin.y']
or
vars = lldb.frame.vars
for i in range len(vars):
print vars[i]
Also expose "lldb.SBFrame.var(<str>)" where <str> can be en expression path
for any variable or child within the variable. This makes it easier to get a
value from the current frame like "rect.origin.y". The resulting value is also
not a constant result as expressions will return, but a live value that will
continue to track the current value for the variable expression path.
lldb.SBValue now exposes:
lldb.SBValue.unsigned => unsigned integer for the value
lldb.SBValue.signed => a signed integer for the value
llvm-svn: 149684
|
| |
|
|
|
|
| |
performs the same calculation.
llvm-svn: 149683
|
| |
|
|
| |
llvm-svn: 149682
|
| |
|
|
|
|
| |
disassembler, just like the generic disassembler.
llvm-svn: 149681
|
| |
|
|
|
|
| |
LowerBUILD_VECTOR. Condition was already guaranteed by earlier code.
llvm-svn: 149680
|
| |
|
|
|
|
|
|
|
| |
That llvm change removed the -trap-func backend option, so that using
-ftrap-function with clang would cause the backend to complain. Fix it
by adding the trap function name to the CodeGenOptions and passing it through
to the TargetOptions.
llvm-svn: 149679
|
| |
|
|
| |
llvm-svn: 149678
|
| |
|
|
|
|
|
| |
instead of a SourceRange, and handle the case where the range is
a char (not token) range.
llvm-svn: 149677
|
| |
|
|
|
|
| |
the limit on the number of fixits.
llvm-svn: 149676
|
| |
|
|
|
|
| |
available.
llvm-svn: 149675
|
| |
|
|
| |
llvm-svn: 149674
|
| |
|
|
| |
llvm-svn: 149673
|
| |
|
|
|
|
|
|
|
|
|
| |
Allows command line overrides to be centralized in LLVMTargetMachine.cpp.
LLVMTargetMachine can intercept common passes and give precedence to command line overrides.
Allows adding "internal" target configuration options without touching TargetOptions.
Encapsulates the PassManager.
Provides a good point to initialize all CodeGen passes so that Pass ID's can be used in APIs.
Allows modifying the target configuration hooks without rebuilding the world.
llvm-svn: 149672
|
| |
|
|
| |
llvm-svn: 149671
|
| |
|
|
|
|
| |
mapped to an error). We can consider mapping it back to an error later.
llvm-svn: 149670
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* When we detect that a CFG block has inconsistent lock sets, point the
diagnostic at the location where we found the inconsistency, and point a note
at somewhere the inconsistently-locked mutex was locked.
* Fix the wording of the normal (non-loop, non-end-of-function) case of this
diagnostic to not suggest that the mutex is going out of scope.
* Fix the diagnostic emission code to keep a warning and its note together when
sorting the diagnostics into source location order.
llvm-svn: 149669
|
| |
|
|
|
|
|
|
| |
needed to emit a 64-bit gp-relative relocation entry. Make changes necessary
for emitting jump tables which have entries with directive .gpdword. This patch
does not implement the parts needed for direct object emission or JIT.
llvm-svn: 149668
|
| |
|
|
|
|
|
| |
dylib. This regressed with r145408. I will try to make a test case and add it
so that this doesn't happen again.
llvm-svn: 149667
|
| |
|
|
|
|
|
| |
'continue' and another block, prefer the lockset from the other block, and
diagnose the 'continue' block as being the end of a loop.
llvm-svn: 149666
|
| |
|
|
|
|
| |
lldb.SBModule.section and lldb.SBModule.sections property access.
llvm-svn: 149665
|
| |
|
|
|
|
|
|
| |
a cast to the same type is allowed so long as it does not cast away constness.
Fix for PR11747. Patch by Aaron Ballman. Reviewed by Eli.
llvm-svn: 149664
|
| |
|
|
|
|
| |
bit of the code for lambdas. The only visible changes are that we use the C++11 odr-used rules to figure out when a variable is captured, and type-checking in lambdas is slightly more accurate.
llvm-svn: 149663
|
| |
|
|
|
|
| |
rdar://10736625
llvm-svn: 149662
|
| |
|
|
|
|
|
|
| |
emit multiple, different names for the same actual type. In such scenarios, one of the type names can actually be found during a type lookup, while the others are just aliases. This can cause issues when trying to work with these aliased names and being unable to resolve them to an actual type (e.g. getting an SBType for the aliased name).
Currently, no code is using this feature, since we can hopefully rely on the new template support in SBType to get the same stuff done, but the support is there just in case it turns out to be useful for some future need.
llvm-svn: 149661
|
| |
|
|
|
|
| |
will be necessary to handle references to captured variables.
llvm-svn: 149660
|
| |
|
|
|
|
| |
default mapped to an error. This is to ease the transition of large apps moving from non-ARC to ARC.
llvm-svn: 149659
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
uint32_t
SBType::GetNumberOfTemplateArguments ();
lldb::SBType
SBType::GetTemplateArgumentType (uint32_t idx);
lldb::TemplateArgumentKind
SBType::GetTemplateArgumentKind (uint32_t idx);
Some lldb::TemplateArgumentKind values don't have a corresponding SBType
that will be returned from SBType::GetTemplateArgumentType(). This will
help our data formatters do their job by being able to find out the
type of template params and do smart things with those.
llvm-svn: 149658
|
| |
|
|
|
|
| |
a builtin.
llvm-svn: 149657
|
| |
|
|
| |
llvm-svn: 149656
|
| |
|
|
| |
llvm-svn: 149655
|
| |
|
|
|
|
|
|
|
|
| |
PHI nodes which were matched, rather than climbing up the
original PHI node's operands to rediscover PHI nodes for
recording, since the PHI nodes found that are not
necessarily part of the matched set.
This fixes rdar://10589171.
llvm-svn: 149654
|
| |
|
|
|
|
|
| |
it is treated as of 'id' type resulting in multiple method lookup.
// rdar://10686120
llvm-svn: 149653
|
| |
|
|
|
|
|
|
|
| |
--with-gcc-toolchain
that just uses the new toolchain probing logic. This fixes linking with -m32 on
64 bit systems (the /32 dir was not being added to the search).
llvm-svn: 149652
|
| |
|
|
|
|
|
|
|
| |
--with-gcc-toolchain
that just uses the new toolchain probing logic. This fixes linking with -m32 on
64 bit systems (the /32 dir was not being added to the search).
llvm-svn: 149651
|
| |
|
|
| |
llvm-svn: 149650
|
| |
|
|
| |
llvm-svn: 149649
|
| |
|
|
|
|
| |
More targetted fix replacing d0e277d272d517ca1cda368267d199f0da7cad95.
llvm-svn: 149648
|
| |
|
|
|
|
| |
This reverts commit d0e277d272d517ca1cda368267d199f0da7cad95.
llvm-svn: 149647
|
| |
|
|
|
|
|
| |
It doesn't seem worthwhile to give meaning to a NULL register mask
pointer. It complicates all the code using register mask operands.
llvm-svn: 149646
|
| |
|
|
| |
llvm-svn: 149645
|
| |
|
|
|
|
|
|
|
|
| |
When used in conjunction with --inline-children, this option will cause the names of the values to be omitted from the output. This can be beneficial in cases such as vFloat, where it will compact the representation from
([0]=1,[1]=2,[2]=3,[3]=4) to (1, 2, 3, 4).
Added a test case to check that the new option works correctly.
Also took some time to revisit SummaryFormat and related classes and tweak them for added readability and maintainability.
Finally, added a new class name to which the std::string summary should be applied.
llvm-svn: 149644
|
| |
|
|
| |
llvm-svn: 149643
|
| |
|
|
|
|
| |
depends on Makefile.config.
llvm-svn: 149642
|
| |
|
|
|
|
| |
C++11 rules.
llvm-svn: 149641
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
NEON loads and stores accept single and double spaced pairs, triples,
and quads of D registers. This patch adds new register classes to
accurately model those constraints:
Dn, Dn+1 Dn, Dn+2
----------------------
DPair DPairSpc
DTriple DTripleSpc
DQuad DQuadSpc
Also extend the existing QQ and QQQQ register classes to contains all Q
pairs and quads instead of just the aligned ones.
These new register classes will make it possible to accurately model
constraints on NEON loads and stores, and we can get rid of all the NEON
pseudo-instructions. The late scheduler will be able to accurately
model instruction dependencies from the explicit operands.
This more than doubles the number of ARM registers, but the backend
passes are quite good at handling this. The llc -O0 compile time only
regresses by 1.5%. Future work on register mask operands will recover
this regression.
llvm-svn: 149640
|
| |
|
|
| |
llvm-svn: 149639
|
| |
|
|
| |
llvm-svn: 149638
|