summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Fix decoding tests for fixed MSR encodings.Owen Anderson2011-10-202-55/+5
| | | | llvm-svn: 142624
* Remove unused include of sys/uio.h in MemoryBuffer.cpp. It was not correctly ↵David Meyer2011-10-201-1/+0
| | | | | | protected by ifdef either. llvm-svn: 142623
* Fix tests for corrected MSR encodings.Owen Anderson2011-10-201-18/+18
| | | | llvm-svn: 142622
* Disable the PPC hazard recognizer. It currently only supportsDan Gohman2011-10-201-2/+8
| | | | | | top-down scheduling and top-down scheduling is going away. llvm-svn: 142621
* Delete the list-tdrr scheduler. Top-down schedulers are going awayDan Gohman2011-10-203-209/+11
| | | | | | because they don't support physical register dependencies. llvm-svn: 142620
* Separate out ARM MSR instructions into M-class versions and AR-class ↵Owen Anderson2011-10-201-4/+42
| | | | | | versions. This fixes some roundtripping failures. llvm-svn: 142618
* Add missing operand. <rdar://problem/10313323>Bill Wendling2011-10-201-1/+2
| | | | llvm-svn: 142615
* Also compare the built dragonegg objects between phases 2 and 3.Duncan Sands2011-10-201-1/+2
| | | | llvm-svn: 142608
* Reset the system compiler each time we start a new flavour. OtherwiseDuncan Sands2011-10-201-2/+3
| | | | | | | | | | the last compiler built for the previous flavour is used for the next, for example the Debug clang compiler was being used for the initial build of the Release LLVM. Flavors should be independent of each other. This especially matters if the compiler built for the previous flavour doesn't actually work! llvm-svn: 142607
* Haven't yet found a nice way to handle TargetData verification in theLang Hames2011-10-202-38/+109
| | | | | | | | AsmParser. This patch adds validation for target data layout strings upon construction of TargetData objects. An attempt to construct a TargetData object from a malformed string will trigger an assertion. llvm-svn: 142605
* Revert r142579, "Fix a type in the legalization of CONCAT_VECTORS". This is Chad Rosier2011-10-201-1/+1
| | | | | | | causing one of the unit tests to infinitely loop, which resulted in the buildbots stalling. llvm-svn: 142604
* As Evan suggested, loads from constant pool are safe to speculate.Devang Patel2011-10-201-5/+5
| | | | llvm-svn: 142593
* Add a comment.Devang Patel2011-10-201-1/+3
| | | | llvm-svn: 142592
* Tidy up. Trailing whitespace.Jim Grosbach2011-10-201-2/+2
| | | | llvm-svn: 142591
* ARM VLD1/VST1 (one register, no writeback) assembly parsing and encoding.Jim Grosbach2011-10-203-228/+226
| | | | llvm-svn: 142583
* Tidy up formatting.Jim Grosbach2011-10-201-46/+59
| | | | llvm-svn: 142582
* ARM VTBX (one register) assembly parsing and encoding.Jim Grosbach2011-10-202-16/+15
| | | | llvm-svn: 142581
* Fix a type in the legalization of CONCAT_VECTORS.Nadav Rotem2011-10-201-1/+1
| | | | llvm-svn: 142579
* Add support for testing dragonegg. This is disabled by default.Duncan Sands2011-10-201-37/+174
| | | | | | | In fact this commit is not intended to change anything unless you use one of the new command line flags. llvm-svn: 142577
* Comment out or remove unused parameter names so as to avoid a slew ofDuncan Sands2011-10-201-63/+69
| | | | | | compiler warnings. llvm-svn: 142574
* Avoid warnings about the parameter G being unused.Duncan Sands2011-10-201-1/+1
| | | | llvm-svn: 142573
* Refactor code from inlining and globalopt that checks whether a function ↵Eli Friedman2011-10-206-7/+52
| | | | | | definition is unused, and enhance it so it can tell that functions which are only used by a blockaddress are in fact dead. This probably doesn't happen much on most code, but the Linux kernel's _THIS_IP_ can trigger this issue with blockaddress. (GlobalDCE can also handle the given tescase, but we only run that at -O3.) Found while looking at PR11180. llvm-svn: 142572
* Remove useless code.Eli Friedman2011-10-201-6/+0
| | | | llvm-svn: 142570
* A FIXME about block addresses and indirectbr.Eli Friedman2011-10-201-0/+6
| | | | llvm-svn: 142569
* Simplify; no intended functional change.Eli Friedman2011-10-201-10/+3
| | | | llvm-svn: 142567
* 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
* Fix TLS lowering bug. The CopyFromReg must be glued to the TLSCALL. ↵Evan Cheng2011-10-192-1/+19
| | | | | | rdar://10291355 llvm-svn: 142550
* 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
* 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
* 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
OpenPOWER on IntegriCloud