summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Make the -verify bits in this test actually test something, and fix a few casesRichard Smith2011-10-201-11/+12
| | | | | | where the test didn't work. llvm-svn: 142563
* Up until now, we have been using pexpect to spawn an lldb process and use ↵Johnny Chen2011-10-201-6/+6
| | | | | | | | | | | | lldb commands to bring the debugger to the desired state. This patch makes BenchBase inherit from TestBase, instead of Base (which is a parent class of TestBase). This is so that we can also enjoy the Pythonic way of bringing the lldb debugger to a desired state before running the benchmark and collect statistics. llvm-svn: 142562
* Modified the ASTDumper to return a "const char *" instead of a copy of theGreg Clayton2011-10-203-29/+37
| | | | | | | | | | std::string and modified all places that used the std::string it returned to use the "const char *". Also modified the expression parser to not crash when a function type fails to copy into the expression AST context. llvm-svn: 142561
* Revamp the script to handle the 'TEST=simple' output.Bill Wendling2011-10-201-74/+67
| | | | llvm-svn: 142559
* "@string = constant i8 0" is a value i8* string of length zero. Analyze thatNick Lewycky2011-10-202-6/+19
| | | | | | correctly in GetStringLength, fixing PR11181! llvm-svn: 142558
* Revert 142337. Thumb1 still doesn't support dynamic stack realignment. :(Chad Rosier2011-10-204-72/+11
| | | | llvm-svn: 142557
* Initialze ScalarEvalution dependency.Devang Patel2011-10-191-0/+1
| | | | | | Patch by Pranav Bhandarkar! llvm-svn: 142556
* Define __STDC__ in -fms-extensions mode; defining it is consistent with gcc, ↵Eli Friedman2011-10-191-1/+1
| | | | | | and not defining it causes the system headers on multiple platforms to break with -fms-extensions because they assume the lack of a definition of __STDC__ implies a traditional (pre-ANSI) preprocessor. PR10324 and <rdar://problem/10313809> . llvm-svn: 142554
* 80 cols (one I created in my last commit, plus a bunch of others that were ↵David Blaikie2011-10-191-24/+39
| | | | | | already there) llvm-svn: 142552
* Don't provide errors for anonymous unions when they're actually anonymous ↵David Blaikie2011-10-192-26/+33
| | | | | | classes. llvm-svn: 142551
* Fix TLS lowering bug. The CopyFromReg must be glued to the TLSCALL. ↵Evan Cheng2011-10-192-1/+19
| | | | | | rdar://10291355 llvm-svn: 142550
* Missed this file when doing r142543 to temporarily relax the expected ↵Johnny Chen2011-10-191-1/+2
| | | | | | substrings for watchpoint creation output. llvm-svn: 142549
* Improve the diagnostic when a comma ends up at the end of a declarator groupRichard Smith2011-10-197-4/+138
| | | | | | | | | instead of a semicolon (as sometimes happens during refactorings). When such a comma is seen at the end of a line, and is followed by something which can't possibly be a declarator (or even something which might be a plausible typo for a declarator), suggest that a semicolon was intended. llvm-svn: 142544
* Temporarily relax the expected substrings for watchpoint creation outputJohnny Chen2011-10-192-6/+12
| | | | | | due a bug in the decl file info of a global variable emitted by clang. llvm-svn: 142543
* Improve code generation for vselect on SSE2:Nadav Rotem2011-10-192-13/+20
| | | | | | | | | When checking the availability of instructions using the TLI, a 'promoted' instruction IS available. It means that the value is bitcasted to another type for which there is an operation. The correct check for the availablity of an instruction is to check if it should be expanded. llvm-svn: 142542
* -Wc++98-compat: warn on nontrivial types used in unions and anonymous structs.Richard Smith2011-10-193-7/+39
| | | | llvm-svn: 142541
* Only warn at self-initialization if some later use is always uninitialized.Matt Beaumont-Gay2011-10-192-3/+22
| | | | llvm-svn: 142538
* Fix parsing of a line with only a # in it.Rafael Espindola2011-10-192-1/+17
| | | | llvm-svn: 142537
* Updating 'update' target to handle svn 1.7 'info' output. Patch by ↵David Blaikie2011-10-191-1/+1
| | | | | | Jean-Danial Dupas! llvm-svn: 142535
* Moved lldb::user_id_t values to be 64 bit. This was going to be needed forGreg Clayton2011-10-1943-234/+347
| | | | | | | | | | | process IDs, and thread IDs, but was mainly needed for for the UserID's for Types so that DWARF with debug map can work flawlessly. With DWARF in .o files the type ID was the DIE offset in the DWARF for the .o file which is not unique across all .o files, so now the SymbolFileDWARFDebugMap class will make the .o file index part (the high 32 bits) of the unique type identifier so it can uniquely identify the types. llvm-svn: 142534
* -Wc++98-compat: diagnose if a reference is bound to a prvalue which does notRichard Smith2011-10-193-66/+173
| | | | | | have an unambiguous accessible copying constructor; this is ill-formed in C++98. llvm-svn: 142533
* Modify lldbtest.Base.runHooks() to now take the following keyword arguments:Johnny Chen2011-10-192-5/+15
| | | | | | | | | | | | child=None, child_prompt=None, use_cmd_api=False By default, expect a pexpect spawned child and child prompt to be supplied (use_cmd_api=False). If use_cmd_api is true, ignore the child and child prompt and use self.runCmd() to run the hooks one by one. Modify existing client to reflect the change. llvm-svn: 142532
* Fix the signatures of vfork, __sigsetjmp and sigsetjmp.Rafael Espindola2011-10-192-4/+4
| | | | | | Patch by Dimitry Andric. llvm-svn: 142531
* Use literal pool loads instead of MOVW/MOVT for materializing global ↵James Molloy2011-10-192-3/+33
| | | | | | | | | | | | | | addresses when optimizing for size. On spec/gcc, this caused a codesize improvement of ~1.9% for ARM mode and ~4.9% for Thumb(2) mode. This is codesize including literal pools. The pools themselves doubled in size for ARM mode and quintupled for Thumb mode, leaving suggestion that there is still perhaps redundancy in LLVM's use of constant pools that could be decreased by sharing entries. Fixes PR11087. llvm-svn: 142530
* Document PasteDavid Greene2011-10-191-0/+4
| | | | | | Document paste as a shorthand for !strconcat. llvm-svn: 142528
* Document NAMEDavid Greene2011-10-191-0/+8
| | | | | | | Document NAME as a special member of def records that should not be defined anywhere else. llvm-svn: 142527
* Add Paste TestDavid Greene2011-10-191-0/+35
| | | | | | This tests TableGen's paste functionality. llvm-svn: 142526
* Implement PasteDavid Greene2011-10-193-28/+67
| | | | | | | | | | | | | | Add a paste operator '#' to take two identifier-like strings and joint them. Internally paste gets represented as a !strconcat() with any necessary casts to string added. This will be used to implement basic for loop functionality as in: for i = [0, 1, 2, 3, 4, 5, 6, 7] { def R#i : Register<...> } llvm-svn: 142525
* Process NAMEDavid Greene2011-10-191-8/+35
| | | | | | | During multiclass def instantiation, replace NAME in any expressions with the value of the def or defm ID. llvm-svn: 142524
* Process Defm Prefix as InitDavid Greene2011-10-192-20/+40
| | | | | | | Parse and process a defm prefix as an Init expression. This allows paste operations to create defm prefixes. llvm-svn: 142523
* Parse Def ID as ValueDavid Greene2011-10-192-14/+42
| | | | | | | Allow def and defm IDs to be general values. We need this for paste functionality. llvm-svn: 142522
* Don't Parse Object Body as a NameDavid Greene2011-10-191-0/+4
| | | | | | | | Stop parsing a value if we are in name parsing mode and we see a left brace. A left brace indicates the start of an object body when we are parsing a name. llvm-svn: 142521
* Use Parse ModeDavid Greene2011-10-191-2/+9
| | | | | | | Augment the value parser to respect the parse mode and not error if an ID doesn't map to an object and we are in name parsing mode. llvm-svn: 142520
* Make ID Parsing More FlexibleDavid Greene2011-10-192-10/+26
| | | | | | | | | | | | | | | | | | | Add a mode control to value and ID parsers. The two modes are: - Parse a value. Expect the parsed ID to map to an existing object. - Parse a name. Expect the parsed ID to not map to any existing object. The first is used when parsing an identifier to be looked up, for example a record field or template argument. The second is used for parsing declarations. Paste functionality implies that declarations can contain arbitrary expressions so we need to be able to call into the general value parser to parse declarations with paste operators. So we need a way to parse a value-like thing without expecting that the result will map to some existing object. This parse mode provides that. llvm-svn: 142519
* Add NAME MemberDavid Greene2011-10-195-2/+16
| | | | | | | | Add a Value named "NAME" to each Record. This will be set to the def or defm name when instantiating multiclasses. This will replace the #NAME# processing hack once paste functionality is in place. llvm-svn: 142518
* Fix Name AccessDavid Greene2011-10-191-2/+3
| | | | | | Get the Record name as a string explicitly to avoid asserts. llvm-svn: 142517
* Fix Name AccessDavid Greene2011-10-191-1/+2
| | | | | | Get the Record name as a string explicitly to avoid asserts. llvm-svn: 142516
* Fix Name AccessDavid Greene2011-10-191-2/+3
| | | | | | Get the Record name as a string explicitly to avoid asserts. llvm-svn: 142515
* Fix Name AccessDavid Greene2011-10-191-1/+2
| | | | | | Get the Record name by string explicitly to avoid potential asserts. llvm-svn: 142514
* Disambiguate Numbers and IdentifiersDavid Greene2011-10-191-1/+37
| | | | | | | | Use lookahead to determine whether a number is really a number or is part of something forming an identifier. This won't come into play until the paste operator is recognized as a unique token. llvm-svn: 142513
* Add PeekDavid Greene2011-10-192-0/+5
| | | | | | | | | | | | | Add a peek function to let the Lexer look at a character arbitrarily far ahead in the stream without consuming anything. We need this to disambiguate numbers and operands of a paste operation. For example: def foo#8i Without lookahead the lexer will treat '8' as a number rather than as part of a string to be pasted to form an identifier. llvm-svn: 142512
* Resolve Record NamesDavid Greene2011-10-191-0/+6
| | | | | | | When resolving Record values, be sure to update the Record name as it may contain references to the value. llvm-svn: 142511
* Allow Names Changes on Unregistered RecordsDavid Greene2011-10-191-4/+3
| | | | | | | | | | | Add Record names to be changed even on Records that aren't yet registered. We need to be able to do this for paste functionality because we do not want to register def names before they are unique and that can only happen once all paste operations are done. This change lets us update Record names formed by paste operations and register the result later. llvm-svn: 142510
* Call Record InitializerDavid Greene2011-10-191-0/+2
| | | | | | Call the common Record initializer code from constructors. llvm-svn: 142509
* Add Name Init Record ConstructorDavid Greene2011-10-191-0/+3
| | | | | | | Add a Record constructor that takes the Record name as an Init. This is more work toward paste functionality. llvm-svn: 142508
* Fix 80-col ViolationDavid Greene2011-10-191-1/+3
| | | | | | Split up the initializer list for Record to avoid 80-col issues. llvm-svn: 142507
* Fix Name AccessDavid Greene2011-10-191-1/+1
| | | | | | Ask for the Record name as a string explicitly to avoid a possible assert. llvm-svn: 142506
* Fix Name AccessDavid Greene2011-10-191-1/+1
| | | | | | | Ask for the Record name as a string explicitly to avoid a possible assert. llvm-svn: 142505
* Fix Name AccessDavid Greene2011-10-191-1/+1
| | | | | | | Ask for the record name as a string explicitly to avoid a potential assert. llvm-svn: 142504
* Fix Name CheckDavid Greene2011-10-191-4/+4
| | | | | | Avoid a potential assert by asking for record names as strings explicitly. llvm-svn: 142503
OpenPOWER on IntegriCloud