summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Allow target to specify about using minimum alignment vs preferred. Takes ↵Chad Rosier2011-07-256-7/+39
| | | | | | | | | care of FIXME: Override "preferred align" for double and long long for ARM apcs-gnu ABI. Also part of rdar://9802874 llvm-svn: 135940
* More refactoring.Evan Cheng2011-07-259-53/+53
| | | | llvm-svn: 135939
* Provide an add-on API to SBValue class by post-processing to provide a wayJohnny Chen2011-07-254-0/+207
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to iterate through an SBValue instance by treating it as the head of a linked list. API program must provide two args to the linked_list_iter() method: the first being the child member name which points to the next item on the list and the second being a Python function which an SBValue (for the next item) and returns True if end of list is reached, otherwise it returns False. For example, suppose we have the following sample program. #include <stdio.h> class Task { public: int id; Task *next; Task(int i, Task *n): id(i), next(n) {} }; int main (int argc, char const *argv[]) { Task *task_head = new Task(-1, NULL); Task *task1 = new Task(1, NULL); Task *task2 = new Task(2, NULL); Task *task3 = new Task(3, NULL); // Orphaned. Task *task4 = new Task(4, NULL); Task *task5 = new Task(5, NULL); task_head->next = task1; task1->next = task2; task2->next = task4; task4->next = task5; int total = 0; // Break at this line Task *t = task_head; while (t != NULL) { if (t->id >= 0) ++total; t = t->next; } printf("We have a total number of %d tasks\n", total); return 0; } The test program produces the following output while exercising the linked_list_iter() SBVAlue API: task_head: TypeName -> Task * ByteSize -> 8 NumChildren -> 2 Value -> 0x0000000106400380 ValueType -> local_variable Summary -> None IsPointerType -> True Location -> 0x00007fff65f06e60 (Task *) next = 0x0000000106400390 (int) id = 1 (Task *) next = 0x00000001064003a0 (Task *) next = 0x00000001064003a0 (int) id = 2 (Task *) next = 0x00000001064003c0 (Task *) next = 0x00000001064003c0 (int) id = 4 (Task *) next = 0x00000001064003d0 (Task *) next = 0x00000001064003d0 (int) id = 5 (Task *) next = 0x0000000000000000 llvm-svn: 135938
* Rename BlockFrequency to BlockFrequencyInfo and MachineBlockFrequency toJakub Staszak2011-07-2510-43/+44
| | | | | | MachineBlockFrequencyInfo. llvm-svn: 135937
* Pick up expected diagnostics not only in the main file but also in the file ↵Axel Naumann2011-07-252-9/+22
| | | | | | | | | where the first diagnostic occurred. Useful if the main file is not relevant (like with cling). By Vassil Vassilev. llvm-svn: 135936
* Fix r135934. Rename was intended, but without additional tests for double.Chad Rosier2011-07-251-13/+1
| | | | llvm-svn: 135935
* Rename an alignment test to be more precise and add another test for the defaultChad Rosier2011-07-253-4/+29
| | | | | | ABI. llvm-svn: 135934
* Python synthetic providers must provide a num_children call; this was not ↵Enrico Granata2011-07-251-4/+5
| | | | | | specified in the docs up to now llvm-svn: 135933
* Update C++0x status for explicit override controls and explicitDouglas Gregor2011-07-251-14/+14
| | | | | | conversion operators, from Jonathan Sauer. llvm-svn: 135932
* Refactor X86 target to separate MC code from Target code.Evan Cheng2011-07-2512-555/+589
| | | | llvm-svn: 135930
* http://llvm.org/bugs/show_bug.cgi?id=10472Howard Hinnant2011-07-251-4/+3
| | | | llvm-svn: 135927
* Changed disabled code into a flag.Bill Wendling2011-07-251-1/+7
| | | | llvm-svn: 135924
* Remove dead variable.Bill Wendling2011-07-251-1/+0
| | | | llvm-svn: 135923
* After we've modified the prolog to save volatile registers, generate the compactBill Wendling2011-07-252-5/+250
| | | | | | | | | | | unwind encoding for that function. This simply crawls through the prolog looking for machine instrs marked as "frame setup". It can calculate from these what the compact unwind should look like. This is currently disabled because of needed linker support. But initial tests look good. llvm-svn: 135922
* Move some ELF directives into ELF asm parser.Jim Grosbach2011-07-255-15/+78
| | | | | | | | | | | | | | The .local, .hidden, .internal, and .protected are not legal for all supported file formats (in particular, they're invalid for MachO). Move the parsing for them into the ELF assembly parser since that's the format they're for. Similarly, .weak is used by COFF and ELF, but not MachO, so move the parsing to the COFF and ELF asm parsers. Previously, using any of these directives on Darwin would result in an assertion failure in the parser; now we get a diagnostic as we should. rdar://9827089 llvm-svn: 135921
* Added clang_getCursorReferenceNameRange to libclang to to retrieve parts ofDouglas Gregor2011-07-2511-228/+439
| | | | | | a cursor reference, from Erik Verbruggen! llvm-svn: 135920
* Builds llvmc and its examples with CMake.Oscar Fuentes2011-07-257-1/+64
| | | | | | Patch by arrowdodger! llvm-svn: 135919
* Fixes VS support for llvmc mcc16 llvmc example.Oscar Fuentes2011-07-251-3/+6
| | | | | | Patch by arrowdodger! llvm-svn: 135918
* Tidy up. 80 columns.Jim Grosbach2011-07-251-5/+10
| | | | llvm-svn: 135917
* new flag -P to type synth add lets you type a Python class interactivelyEnrico Granata2011-07-2513-20/+375
| | | | | | | | added a final newline to fooSynthProvider.py new option to automatically save user input in InputReaderEZ checking for NULL pointers in several new places llvm-svn: 135916
* Rename SourceManager::getInstantiationRange to getExpansionRange.Chandler Carruth2011-07-259-14/+14
| | | | llvm-svn: 135915
* Mechanically rename SourceManager::getInstantiationLoc andChandler Carruth2011-07-2524-67/+67
| | | | | | | | FullSourceLoc::getInstantiationLoc to ...::getExpansionLoc. This is part of the API and documentation update from 'instantiation' as the term for macros to 'expansion'. llvm-svn: 135914
* Add uwtable to the langref.Rafael Espindola2011-07-251-0/+8
| | | | llvm-svn: 135913
* Add an RS_Split2 stage used for loop prevention.Jakob Stoklund Olesen2011-07-251-15/+24
| | | | | | | | | | | | | | | | This mechanism already exists, but the RS_Split2 stage makes it clearer. When live range splitting creates ranges that may not be making progress, they are marked RS_Split2 instead of RS_New. These ranges may be split again, but only in a way that can be proven to make progress. For local ranges, that means they must be split into ranges used by strictly fewer instructions. For global ranges, region splitting is bypassed and the RS_Split2 ranges go straight to per-block splitting. llvm-svn: 135912
* Rename live range stages to better reflect how they are used.Jakob Stoklund Olesen2011-07-251-32/+40
| | | | | | | | | | | | The stage is used to control where a live range is going, not where it is coming from. Live ranges created by splitting will usually be marked RS_New, but some are marked RS_Spill to avoid wasting time trying to split them again. The old RS_Global and RS_Local stages are merged - they are really the same thing for local and global live ranges. llvm-svn: 135911
* Shorten some expressions by using ArrayRef::slice().Frits van Bommel2011-07-253-10/+5
| | | | llvm-svn: 135910
* Updated commentsMarshall Clow2011-07-251-2/+2
| | | | llvm-svn: 135909
* CMake: generalize the system that creates custom targets forOscar Fuentes2011-07-252-9/+25
| | | | | | tablegenning to all libraries and executables. llvm-svn: 135908
* www/get_started.html: Fix a phrase, "in the *build* directory* in the ↵NAKAMURA Takumi2011-07-251-1/+1
| | | | | | instructions of Visual Studio. Thanks to Andreas Bittel to point it out. llvm-svn: 135907
* Remove uses of std::vector from TypeBuilder.Jay Foad2011-07-251-51/+50
| | | | llvm-svn: 135906
* Use ArrayRef in the (protected) constructors of ConstantArray, ↵Jay Foad2011-07-252-30/+15
| | | | | | ConstantStruct and ConstantVector. llvm-svn: 135905
* Convert GetElementPtrInst to use ArrayRef.Jay Foad2011-07-2525-305/+100
| | | | llvm-svn: 135904
* http://llvm.org/bugs/show_bug.cgi?id=10469Howard Hinnant2011-07-242-0/+4
| | | | llvm-svn: 135897
* Optimization of string::operator< by M.E. O'Neill. Discussion in ↵Howard Hinnant2011-07-241-1/+11
| | | | | | http://llvm.org/bugs/show_bug.cgi?id=10461 llvm-svn: 135893
* add link to 2010 dev mtgChris Lattner2011-07-241-2/+3
| | | | llvm-svn: 135892
* objc: clang should warn if redeclaration of methodsFariborz Jahanian2011-07-246-21/+182
| | | | | | | | | declared in protocol in the class qualified by the protocol have type conflicts. To reduce amount of noise, this is done when class is implemented. // rdar://9352731 llvm-svn: 135890
* switch Triple to take twines instead of stringrefs.Chris Lattner2011-07-242-25/+9
| | | | llvm-svn: 135889
* Add Twine support for characters, and switch twine to use a union internallyChris Lattner2011-07-243-54/+122
| | | | | | to eliminate some casting. llvm-svn: 135888
* Never extend live ranges for <undef> uses.Jakob Stoklund Olesen2011-07-241-1/+1
| | | | llvm-svn: 135886
* Correctly handle <undef> tied uses when rewriting after a split.Jakob Stoklund Olesen2011-07-242-8/+29
| | | | | | | | | | | This fixes PR10463. A two-address instruction with an <undef> use operand was incorrectly rewritten so the def and use no longer used the same register, violating the tie constraint. Fix this by always rewriting <undef> operands with the register a def operand would use. llvm-svn: 135885
* http://llvm.org/bugs/show_bug.cgi?id=10461Howard Hinnant2011-07-241-92/+2
| | | | llvm-svn: 135873
* Omit explicit length here, now that I've had a chance to test this with gcc.Frits van Bommel2011-07-241-1/+1
| | | | llvm-svn: 135867
* Set PPCII::MO_DARWIN_STUB only on MacOSX < 10.5.Roman Divacky2011-07-241-2/+2
| | | | llvm-svn: 135866
* Python synthetic children:Enrico Granata2011-07-2426-116/+1299
| | | | | | | | | | | | | | - you can now define a Python class as a synthetic children producer for a type the class must adhere to this "interface": def __init__(self, valobj, dict): def get_child_at_index(self, index): def get_child_index(self, name): then using type synth add -l className typeName (e.g. type synth add -l fooSynthProvider foo) (This is still WIP with lots to be added) A small test case is available also as reference llvm-svn: 135865
* lib/AST/CMakeLists.txt: Update LLVM_USED_LIBS, not to miss symbols with ↵NAKAMURA Takumi2011-07-231-1/+1
| | | | | | building shared lib. Thanks to Ryuta Suzuki. llvm-svn: 135864
* fix PR10415, tidying up IR representation of module level inline asmChris Lattner2011-07-232-0/+11
| | | | | | to avoid extraneous \n's. llvm-svn: 135862
* clarify that opaque is actually a struct type, PR10430Chris Lattner2011-07-231-5/+5
| | | | llvm-svn: 135861
* Extend libclang with clang_equalRanges, from Erik Verbruggen!Douglas Gregor2011-07-234-0/+18
| | | | llvm-svn: 135860
* Add a link-friendly name to the Clang extension acceptance criteriaDouglas Gregor2011-07-231-1/+1
| | | | llvm-svn: 135859
* Document the criteria for evaluating a proposed extension to Clang.Douglas Gregor2011-07-231-1/+30
| | | | llvm-svn: 135858
OpenPOWER on IntegriCloud