summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* AddressSanitizer: simplify RoundUpToPowerOfTwo/clz; add a couple of CHECKs ↵Alexey Samsonov2012-02-032-19/+14
| | | | | | for real_X calls. Patch by timurrrr@google.com llvm-svn: 149687
* AddressSanitizer: Replace __attribute__ with macro (for Win compatibility). ↵Alexey Samsonov2012-02-034-12/+22
| | | | | | Patch by timurrrr@google.com llvm-svn: 149686
* Implement support for a pack expansion into a fixed-lengthDouglas Gregor2012-02-032-45/+221
| | | | | | | | | 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
* Expose more convenience functionality in the python classes.Greg Clayton2012-02-036-0/+189
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Remove getShuffleVPERMILPImmediate function, getShuffleSHUFImmediate ↵Craig Topper2012-02-031-30/+1
| | | | | | performs the same calculation. llvm-svn: 149683
* [analyzer] Testing: add automated reference results reset.Anna Zaks2012-02-031-12/+70
| | | | llvm-svn: 149682
* Allow command-line overrides of the target triple with the Mach-OCameron Zwarich2012-02-031-19/+20
| | | | | | disassembler, just like the generic disassembler. llvm-svn: 149681
* Remove unnecessary qualification on 256-bit vector handling in ↵Craig Topper2012-02-031-2/+2
| | | | | | LowerBUILD_VECTOR. Condition was already guaranteed by earlier code. llvm-svn: 149680
* Fix -ftrap-function fallout from llvm r145714. <rdar://problem/10799325>Bob Wilson2012-02-035-6/+9
| | | | | | | | | 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
* Add auto upgrade support for x86 pcmpgt/pcmpeq intrinics removed in r149367.Craig Topper2012-02-031-3/+40
| | | | llvm-svn: 149678
* Change Lexer::makeFileCharRange() to have it accept a CharSourceRangeArgyrios Kyrtzidis2012-02-034-38/+52
| | | | | | | instead of a SourceRange, and handle the case where the range is a char (not token) range. llvm-svn: 149677
* Change the fixed array of FixitHints to a SmallVector to lift offArgyrios Kyrtzidis2012-02-034-44/+20
| | | | | | the limit on the number of fixits. llvm-svn: 149676
* Move isSentinelNullExpr() from Sema to ASTContext to make it more widelyArgyrios Kyrtzidis2012-02-034-20/+21
| | | | | | available. llvm-svn: 149675
* Do the same fix as r149667, but for the Mach-O disassembler.Cameron Zwarich2012-02-031-0/+4
| | | | llvm-svn: 149674
* Fixed casting in the lldb::SBValue::Cast(SBType) function.Greg Clayton2012-02-036-3/+205
| | | | llvm-svn: 149673
* Added TargetPassConfig. The first little step toward configuring codegen passes.Andrew Trick2012-02-0325-268/+565
| | | | | | | | | | | 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
* whitespaceAndrew Trick2012-02-038-47/+47
| | | | llvm-svn: 149671
* Further downgrade -Warc-bridge-casts-disallowed-in-nonarc to a warning (not ↵Ted Kremenek2012-02-032-11/+11
| | | | | | mapped to an error). We can consider mapping it back to an error later. llvm-svn: 149670
* Thread safety analysis:Richard Smith2012-02-035-96/+205
| | | | | | | | | | | | * 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
* Add a new MachineJumpTableInfo entry type, EK_GPRel64BlockAddress, which isAkira Hatanaka2012-02-0314-5/+85
| | | | | | | | 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
* Fix llvm-objdump disassembly for interesting Mach-O binaries, e.g. any MacOSCameron Zwarich2012-02-031-0/+2
| | | | | | | 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
* Thread safety analysis: at a CFG join point between a block terminating in aRichard Smith2012-02-032-4/+56
| | | | | | | '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
* Cleaned up the documentation strings for many helper objects and addedGreg Clayton2012-02-034-26/+79
| | | | | | lldb.SBModule.section and lldb.SBModule.sections property access. llvm-svn: 149665
* C++ 5.2.10p2 has a note that mentions that, subject to all other restrictions,Chad Rosier2012-02-032-16/+39
| | | | | | | | 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
* Refactor capture in blocks to use new-style capture hooks. Start adding a ↵Eli Friedman2012-02-031-256/+195
| | | | | | 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
* [frontend] Don't allow a mapping to a warning override an error/fatal mapping.Chad Rosier2012-02-036-6/+13
| | | | | | rdar://10736625 llvm-svn: 149662
* Adding support for an "equivalents map". This can be useful when compilers ↵Enrico Granata2012-02-032-0/+160
| | | | | | | | 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
* Note whether a lambda is mutable in the LambdaScopeInfo; this information ↵Eli Friedman2012-02-032-1/+5
| | | | | | will be necessary to handle references to captured variables. llvm-svn: 149660
* Make error about using bridge casts in non-ARC mode a warning that is ↵Ted Kremenek2012-02-032-2/+11
| | | | | | default mapped to an error. This is to ease the transition of large apps moving from non-ARC to ARC. llvm-svn: 149659
* Added support to SBType for getting template arguments from a SBType:Greg Clayton2012-02-037-2/+205
| | | | | | | | | | | | | | | | | | 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
* Do not show macro expansion in strncat warnings, which can be defined asAnna Zaks2012-02-032-8/+28
| | | | | | a builtin. llvm-svn: 149657
* Add a couple of simple completion test cases for 'target ' and 'target va'.Johnny Chen2012-02-031-0/+11
| | | | llvm-svn: 149656
* Incorporate suggestions Chad, Jakob and Evan's suggestions on r149957.Lang Hames2012-02-031-22/+33
| | | | llvm-svn: 149655
* Fix SSAUpdaterImpl's RecordMatchingPHI to record exactly theDan Gohman2012-02-032-32/+88
| | | | | | | | | | 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
* objc: Issue diagnostic when receiver type is a forward class declaration andFariborz Jahanian2012-02-033-1/+29
| | | | | | | it is treated as of 'id' type resulting in multiple method lookup. // rdar://10686120 llvm-svn: 149653
* Replace the old --with-cxx-* configure options with a single ↵Rafael Espindola2012-02-033-72/+15
| | | | | | | | | --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
* Replace the old --with-cxx-* configure options with a single ↵Rafael Espindola2012-02-037-189/+45
| | | | | | | | | --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
* Narrow test further. Make bot and test happy.Jim Grosbach2012-02-031-1/+3
| | | | llvm-svn: 149650
* Tidy up. Trailing whitespace.Jim Grosbach2012-02-031-55/+55
| | | | llvm-svn: 149649
* Restrict InstCombine from converting varargs to or from fixed args.Jim Grosbach2012-02-031-0/+7
| | | | | | More targetted fix replacing d0e277d272d517ca1cda368267d199f0da7cad95. llvm-svn: 149648
* Revert "Disable InstCombine unsafe folding bitcasts of calls w/ varargs."Jim Grosbach2012-02-033-5/+51
| | | | | | This reverts commit d0e277d272d517ca1cda368267d199f0da7cad95. llvm-svn: 149647
* Require non-NULL register masks.Jakob Stoklund Olesen2012-02-026-15/+12
| | | | | | | 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
* Rename -dependency-graphviz to -dependencncy-dotDouglas Gregor2012-02-025-7/+8
| | | | llvm-svn: 149645
* Added a new --omit-names (-O, uppercase letter o) option to "type summary add".Enrico Granata2012-02-028-192/+391
| | | | | | | | | | 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
* build/make: Ensure make clean removes the LLVMBuild makefile fragment.Daniel Dunbar2012-02-021-0/+4
| | | | llvm-svn: 149643
* build/Make: Add missing dependency, LLVMBuild makefile fragment implicitly ↵Daniel Dunbar2012-02-021-1/+2
| | | | | | depends on Makefile.config. llvm-svn: 149642
* Add some code to accurately perform odr-used marking for variables per the ↵Eli Friedman2012-02-025-24/+157
| | | | | | C++11 rules. llvm-svn: 149641
* Add pseudo-registers for pairs, triples, and quads of D registers.Jakob Stoklund Olesen2012-02-021-15/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Further enhance comment for property in continuation class.Fariborz Jahanian2012-02-021-1/+4
| | | | llvm-svn: 149639
* unnecessary include of TargetMachine.h?Andrew Trick2012-02-021-1/+0
| | | | llvm-svn: 149638
OpenPOWER on IntegriCloud