- Oct 20, 2011
-
-
Duncan Sands authored
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
-
Lang Hames authored
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
-
Chad Rosier authored
causing one of the unit tests to infinitely loop, which resulted in the buildbots stalling. llvm-svn: 142604
-
Devang Patel authored
llvm-svn: 142593
-
Devang Patel authored
llvm-svn: 142592
-
Jim Grosbach authored
llvm-svn: 142591
-
Jim Grosbach authored
llvm-svn: 142583
-
Jim Grosbach authored
llvm-svn: 142582
-
Jim Grosbach authored
llvm-svn: 142581
-
Nadav Rotem authored
llvm-svn: 142579
-
Duncan Sands authored
In fact this commit is not intended to change anything unless you use one of the new command line flags. llvm-svn: 142577
-
Duncan Sands authored
compiler warnings. llvm-svn: 142574
-
Duncan Sands authored
llvm-svn: 142573
-
Eli Friedman authored
Refactor code from inlining and globalopt that checks whether a function 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
-
Eli Friedman authored
llvm-svn: 142570
-
Eli Friedman authored
llvm-svn: 142569
-
Eli Friedman authored
llvm-svn: 142567
-
Bill Wendling authored
llvm-svn: 142559
-
Nick Lewycky authored
correctly in GetStringLength, fixing PR11181! llvm-svn: 142558
-
Chad Rosier authored
llvm-svn: 142557
-
Devang Patel authored
Patch by Pranav Bhandarkar! llvm-svn: 142556
-
-
- Oct 19, 2011
-
-
Nadav Rotem authored
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
-
Rafael Espindola authored
llvm-svn: 142537
-
David Blaikie authored
llvm-svn: 142535
-
James Molloy authored
Use literal pool loads instead of MOVW/MOVT for materializing global 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
-
David Greene authored
Document paste as a shorthand for !strconcat. llvm-svn: 142528
-
David Greene authored
Document NAME as a special member of def records that should not be defined anywhere else. llvm-svn: 142527
-
David Greene authored
This tests TableGen's paste functionality. llvm-svn: 142526
-
David Greene authored
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
-
David Greene authored
During multiclass def instantiation, replace NAME in any expressions with the value of the def or defm ID. llvm-svn: 142524
-
David Greene authored
Parse and process a defm prefix as an Init expression. This allows paste operations to create defm prefixes. llvm-svn: 142523
-
David Greene authored
Allow def and defm IDs to be general values. We need this for paste functionality. llvm-svn: 142522
-
David Greene authored
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
-
David Greene authored
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
-
David Greene authored
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
-
David Greene authored
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
-
David Greene authored
Get the Record name as a string explicitly to avoid asserts. llvm-svn: 142517
-
David Greene authored
Get the Record name as a string explicitly to avoid asserts. llvm-svn: 142516
-
David Greene authored
Get the Record name as a string explicitly to avoid asserts. llvm-svn: 142515
-