summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add support for index resources (for a SlotIndex) to be relinquished.Lang Hames2013-04-191-1/+48
| | | | | | | | | | | | | | | When the SlotIndexes pass was introduced it was intended to support insertion of code during register allocation. Removal of code was a minor consideration (and raised the question of what to do about dangling SlotIndex objects pointing to the erased index), so I opted to keep all indexes around indefinitely and simply null out those that weren't being used. Nowadays people are moving more code around (e.g. via HandleMove), which means more zombie indexes. I want to start killing off indexes when we're done with them to reclaim the resources they use up. llvm-svn: 179834
* Use 'array_lengthof' as possible to avoid magic numbersMichael Liao2013-04-191-23/+32
| | | | llvm-svn: 179833
* Reverted 179810, which breaks the expressionSean Callanan2013-04-191-3/+1
| | | | | | parser. llvm-svn: 179832
* Change TargetList::CreateTarget to realpath the c-string filename of theJason Molenda2013-04-191-1/+1
| | | | | | | executable -- if I do "(lldb) file ~/bin/exe" that tilde expansion needs to take place here. llvm-svn: 179831
* R600: Add pattern for the BFI_INT instructionTom Stellard2013-04-194-0/+58
| | | | llvm-svn: 179830
* R600/SI: Use InstFlag for VOP3 modifier operandsTom Stellard2013-04-192-15/+14
| | | | | | | InstFlag has a default value of 0 and will simplify the VOP3 patterns. Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> llvm-svn: 179829
* R600: Reorganize lit tests and document how they should be organizedTom Stellard2013-04-1929-128/+174
| | | | llvm-svn: 179828
* Made IRMemoryMap::FindSpace a little cleverer,Sean Callanan2013-04-192-40/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and made attempts to allocate memory in the process fall back to FindSpace and just allocate memory on the host (but with real-looking pointers, hence FindSpace) if the process doesn't allow allocation. This allows expressions to run on processes that don't support allocation, like core files. This introduces an extremely rare potential problem: If all of the following are true: - The Process doesn't support allocation; - the user writes an expression that refers to an address that does not yet map to anything, or is dynamically generated (e.g., the result of calling a function); and - the randomly-selected address for the static data for that specific expression runs into the address the user was expecting to work with; then dereferencing the pointer later results in the user seeing something unexpected. This is unlikely but possible; as a future piece of work, we should have processes be able to hint to the expression parser where it can allocate temporary data of this kind. llvm-svn: 179827
* Keep coding stanard. Don't use "else if" after "return".Jakub Staszak2013-04-191-3/+4
| | | | llvm-svn: 179826
* Don't run expensive -O2 and -O3 in tests.Jakub Staszak2013-04-192-2/+2
| | | | llvm-svn: 179825
* Add some more stats for fast isel vs. SelectionDAG, w.r.t lowering functionEli Bendersky2013-04-191-1/+10
| | | | | | arguments in entry BBs. llvm-svn: 179824
* [libclang] Fix copy-paste error in comment.Argyrios Kyrtzidis2013-04-191-1/+1
| | | | llvm-svn: 179823
* Remove an unneeded local var, a missing return statement in kernel search ↵Jason Molenda2013-04-191-4/+2
| | | | | | code, thanks to Greg Clayton for finding these. llvm-svn: 179822
* Split Linux-specific and OS X specific stuff. Add include_directoriesFilipe Cabecinhas2013-04-194-13/+43
| | | | | | Only add the -std=c++11 flag when needed, don't touch current flags. llvm-svn: 179821
* Use an enum instead of magic constants to improve readability.Bill Wendling2013-04-192-16/+44
| | | | llvm-svn: 179820
* [libclang] Introduce clang_Cursor_isVariadic, which returns non-zero if the ↵Argyrios Kyrtzidis2013-04-185-2/+24
| | | | | | | | given cursor is a variadic function or method. rdar://13667150 llvm-svn: 179819
* Objective-C++: Enable passing of modern C++11 style Fariborz Jahanian2013-04-182-1/+46
| | | | | | | initialized temporaries to objc++ methods. // rdar://12788429 llvm-svn: 179818
* Implement a better fix for PR15185.Bill Wendling2013-04-181-6/+11
| | | | | | | If the return type is a pointer and the call returns an integer, then do the inttoptr convertions. And vice versa. llvm-svn: 179817
* [libclang] Introduce clang_Cursor_getObjCDeclQualifiers, to query for 'ObjC ↵Argyrios Kyrtzidis2013-04-185-0/+67
| | | | | | | | | | Qualifiers' written next to the return and parameter types in an ObjC method declarations. rdar://13676977 llvm-svn: 179816
* More fallout unique_ptr changes for from ↵Greg Clayton2013-04-181-1/+1
| | | | | | http://lab.llvm.org:8011/builders/lldb-x86_64-linux/builds/3565. llvm-svn: 179815
* Relax this assert. It may not hold in all cases.Bill Wendling2013-04-181-1/+1
| | | | llvm-svn: 179814
* [ms-inline asm] Apply the condition code mnemonic aliases to both the Intel andChad Rosier2013-04-182-1/+31
| | | | | | | AT&T dialect. Test case for r179804 as well. rdar://13674398 and PR13340. llvm-svn: 179813
* Fix typo.Chad Rosier2013-04-181-1/+1
| | | | llvm-svn: 179811
* Try and unblock issue found in: ↵Greg Clayton2013-04-181-1/+3
| | | | | | http://lab.llvm.org:8011/builders/lldb-x86_64-linux/builds/3564 llvm-svn: 179810
* Assert if we're trying to generate a null compact unwind entry.Bill Wendling2013-04-181-4/+2
| | | | llvm-svn: 179809
* Set the compact unwind encoding to 'requires EH DWARF' if we cannot generate ↵Bill Wendling2013-04-181-9/+9
| | | | | | a CU encoding. llvm-svn: 179808
* Disable PPC comparison optimization by defaultHal Finkel2013-04-182-1/+7
| | | | | | | This seems to cause a stage-2 LLVM compile failure (by crashing TableGen); do I'm disabling this for now. llvm-svn: 179807
* Add comment to describe cleverness.Benjamin Kramer2013-04-181-0/+2
| | | | llvm-svn: 179806
* After discussing with Chris Lattner, we require C++11, so lets get rid of ↵Greg Clayton2013-04-18162-465/+432
| | | | | | the macros and just use C++11. llvm-svn: 179805
* [asm parser] Add support for predicating MnemonicAlias based on the assemblerChad Rosier2013-04-185-88/+130
| | | | | | | | variant/dialect. Addresses a FIXME in the emitMnemonicAliases function. Use and test case to come shortly. rdar://13688439 and part of PR13340. llvm-svn: 179804
* [libclang] Introduce clang_Cursor_getObjCPropertyAttributes to query the ↵Argyrios Kyrtzidis2013-04-187-8/+89
| | | | | | | | written attributes in a property declaration. rdar://13684512 llvm-svn: 179803
* Implement optimizeCompareInstr for PPCHal Finkel2013-04-183-0/+413
| | | | | | | | | | | | | | | Many PPC instructions have a so-called 'record form' which stores to a specific condition register the result of comparing the result of the instruction with zero (always as a signed comparison). For integer operations on PPC64, this is always a 64-bit comparison. This implementation is derived from the implementation in the ARM backend; there are some differences because PPC condition registers are allocatable virtual registers (although the record forms always use a specific one), and we look for a matching subtraction instruction after the compare (but before the first use) in addition to before it. llvm-svn: 179802
* This commit changes the way LLDB executes userSean Callanan2013-04-1814-452/+772
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | expressions. Previously, ClangUserExpression assumed that if there was a constant result for an expression then it could be determined during parsing. In particular, the IRInterpreter ran while parser state (in particular, ClangExpressionDeclMap) was present. This approach is flawed, because the IRInterpreter actually is capable of using external variables, and hence the result might be different each run. Until now, we papered over this flaw by re-parsing the expression each time we ran it. I have rewritten the IRInterpreter to be completely independent of the ClangExpressionDeclMap. Instead of special-casing external variable lookup, which ties the IRInterpreter closely to LLDB, we now interpret the exact same IR that the JIT would see. This IR assumes that materialization has occurred; hence the recent implementation of the Materializer, which does not require parser state (in the form of ClangExpressionDeclMap) to be present. Materialization, interpretation, and dematerialization are now all independent of parsing. This means that in theory we can parse expressions once and run them many times. I have three outstanding tasks before shutting this down: - First, I will ensure that all of this works with core files. Core files have a Process but do not allow allocating memory, which currently confuses materialization. - Second, I will make expression breakpoint conditions remember their ClangUserExpression and re-use it. - Third, I will tear out all the redundant code (for example, materialization logic in ClangExpressionDeclMap) that is no longer used. While implementing this fix, I also found a bug in IRForTarget's handling of floating-point constants. This should be fixed. llvm-svn: 179801
* Document how to get "info line" information from "image lookup -v".Jim Ingham2013-04-181-0/+27
| | | | llvm-svn: 179800
* Try to unbreak the lldb-x86_64-linux buildbot after recent ↵Greg Clayton2013-04-182-18/+27
| | | | | | std::auto_ptr/std::unique_ptr changes. llvm-svn: 179799
* Make the TargetIndependent flag have the right boolean value.Bill Wendling2013-04-183-5/+5
| | | | llvm-svn: 179798
* X86: Add an SSE2 lowering for 64 bit compares when pcmpgtq (SSE4.2) isn't ↵Benjamin Kramer2013-04-182-15/+176
| | | | | | | | available. This pattern started popping up in vectorized min/max reductions. llvm-svn: 179797
* Missed some cases when switching over to using our STD_UNIQUE_PTR macros.Greg Clayton2013-04-1810-18/+19
| | | | llvm-svn: 179796
* Make KQueue import the header in the correct path.Filipe Cabecinhas2013-04-181-1/+1
| | | | llvm-svn: 179795
* Comment parsing: simplify code. As a side effect, this also silences GCC'sDmitri Gribenko2013-04-181-14/+10
| | | | | | | | -Wunitnitialized warning. Patch by Rui Ueyama. llvm-svn: 179794
* Fix typoEli Bendersky2013-04-181-1/+1
| | | | llvm-svn: 179793
* <rdar://problem/13627061>Greg Clayton2013-04-181-15/+15
| | | | | | Fixed an issue where "platform process list" help message has options displayed a couple dozen times. llvm-svn: 179792
* Cleanup patch:Bill Wendling2013-04-183-71/+71
| | | | | | | | | | | | | | | Semantics of parameters named Index and Idx were inconsistent between "include/llvm/IR/Attributes.h", "lib/IR/AttributeImpl.h" and "lib/IR/Attributes.cpp": sometimes these were fixed 1-based indexes of IR parameters (or AttributeSet::ReturnIndex for IR return values or AttributeSet::FunctionIndex for IR functions), other times they were the internal slot for storage in the underlying AttributeSetImpl. I renamed usage of the former to "Index" and usage of the latter to "Slot" ("Slot" was already being used consistently for the latter in a subset of cases) Patch by Stephen Lin! llvm-svn: 179791
* This patch addresses two cleanup issues:Bill Wendling2013-04-183-111/+71
| | | | | | | | | | | | | | | | 1. Verify::VerifyParameterAttrs in "lib/IR/Verifier.cpp" and AttrBuilder::removeFunctionOnlyAttrs in "lib/IR/Attributes.cpp" (only called by Verify::VerifyFunctionAttrs) separately maintained a list of function-only attribute types. I've consolidated the logic into a new function used for both cases in "lib/IR/Verifier.cpp", so this logic is in one place (other than the AsmParser front-end) 2. Various functions in "lib/IR/Verifier.cpp" passed AttributeSet around by reference needlessly, as it's just a handle to an immutable pimpl body. Patch by Stephen Lin! llvm-svn: 179790
* Fix a -Wdocumentation warningDmitri Gribenko2013-04-181-1/+1
| | | | llvm-svn: 179789
* Added unit tests for register read (should pass) and the expression ↵Ashok Thirumurthi2013-04-181-1/+57
| | | | | | | | | | interpreter (xfail) after the inferior has crashed. - Thanks to Samuel Jacob for the related reproducer. Reviewed by: Daniel Malea. llvm-svn: 179788
* <rdar://problem/13678882>Greg Clayton2013-04-181-1/+2
| | | | | | Disable "source info" until actually implemented. llvm-svn: 179787
* In the function InstCombiner::visitExtractElementInst() removed the ↵Anat Shemer2013-04-182-4/+16
| | | | | | limitation that extract is promoted over a cast only if the cast has only one use. llvm-svn: 179786
* C API: Fix coding styleTom Stellard2013-04-182-2/+2
| | | | llvm-svn: 179785
* Objective-C parsing [qoi]: Provide good recovery whenFariborz Jahanian2013-04-182-1/+11
| | | | | | | Objective-C dictionary literals has bad syntax for the separator. // rdar://10679157 llvm-svn: 179784
OpenPOWER on IntegriCloud