summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Trivial simplificationRui Ueyama2014-05-071-5/+1
| | | | llvm-svn: 208145
* Expand nested input elements.Rui Ueyama2014-05-064-25/+41
| | | | | | | | Previously only the toplevel elements were expanded by expandElements(). Now we recursively call getReplacements() to expand input elements even if they are in, say, in a group. llvm-svn: 208144
* [Support/MemoryBuffer] Remove the assertion that the file size did not shrink.Argyrios Kyrtzidis2014-05-061-3/+0
| | | | | | This can happen in practice with the user changing files and we can recover from it. llvm-svn: 208143
* Rename "secondary initializer" -> "convenience initializer" in the warnings, ↵Argyrios Kyrtzidis2014-05-062-9/+9
| | | | | | which is a more correct and consistent term. llvm-svn: 208142
* Fix ASan init function detection after clang r208128.Nico Weber2014-05-061-3/+24
| | | | llvm-svn: 208141
* AST: Update reference temporary manglingDavid Majnemer2014-05-0610-161/+163
| | | | | | | | | | | | | | | Summary: Update our mangling to match the discussion on cxx-abi-dev. This involves using a seq-id instead of an optional number. Reviewers: rsmith Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D3631 llvm-svn: 208140
* Special case aliases in GlobalValue::getSection.Rafael Espindola2014-05-063-3/+8
| | | | | | | | This is similar to the getAlignment patch, but is done just for completeness. It looks like we never call getSection on an alias. All the tests still pass if the if is replaced with an assert. llvm-svn: 208139
* Add testcase for r208062.Nick Lewycky2014-05-061-1/+11
| | | | llvm-svn: 208138
* Update an embarassing out-of-date comment.Andrew Trick2014-05-061-5/+6
| | | | llvm-svn: 208137
* tblgen: Modularize the diagnostic emitterTobias Grosser2014-05-061-88/+198
| | | | | | | | | | | | | | | | | | | Replace a large monolitic function, with per-table functions which all nicely fit on my screen. I also added documentation to each function that describes what kind of tables are generated and which information is contained and switched to range based for loops. Finally, I run clang-format over the moved code. I spent a significant amount of time to understand this code when reasoning about possible extensions to the diagnostic interface to support 'remark' diagnostics. This change will definitely help such an implementation, but already by itself it will save other people a lot of time when trying to understand this functionality. Even though the patch touches the full function, it is mostly mechanical. No functional change intended. The generated tblgen files are identical. llvm-svn: 208136
* On single threaded systems, turn mutexes into nopsJonathan Roelofs2014-05-066-8/+96
| | | | | | http://reviews.llvm.org/D3386 llvm-svn: 208135
* Use a range based for loop for the SubtargetFeatures print function.Eric Christopher2014-05-061-2/+2
| | | | llvm-svn: 208132
* Revert "Try simplifying LexicalScopes ownership again."David Blaikie2014-05-062-135/+130
| | | | | | | | | Speculatively reverting due to a suspicious failure on a Windows buildbot. This reverts commit 10c37a012ea11596d44cd9059fe09c959caf30c8. llvm-svn: 208131
* Fix odd formatting that snuck into last patch.Eric Christopher2014-05-061-3/+3
| | | | llvm-svn: 208130
* If a function needs a frame pointer, but r11 (aka fp) has not been used,Joerg Sonnenberger2014-05-066-36/+42
| | | | | | | | remove it from the list of unspilled registers. Otherwise the following attempt to keep the stack aligned by picking an extra GPR register to spill will not work as it picks up r11. llvm-svn: 208129
* Include translation unit filename in global ctor symbol names.Nico Weber2014-05-069-17/+30
| | | | | | | | | | | | | | | | | This makes it easier to see where a global ctor comes from, and it also makes ASan's init order analyzer output easier to understand. gcc does this too, but only in -fPIC mode for some reason. Don't do this for constructors with explicit init priority. Also prepend "sub_" before the 'I', that way regular constructors stay lexicographically after symbols with init priority (because ord('s') > ord('I')). gold seems to ignore the name of constructor symbols, and ld only looks at the symbol if it includes an init priority, which this patch doesn't change. Before: __GLOBAL_I_a Now: __GLOBAL_sub_I_myfile.cc llvm-svn: 208128
* ArrayRef-ize the Feature and Processor tables for SubtargetFeatures.Eric Christopher2014-05-065-98/+73
| | | | | | | | This removes arguments passed everywhere and allows the use of standard iteration over lists. Should be no functional change. llvm-svn: 208127
* Copy the full TailCallKind in CallInst::clone_implReid Kleckner2014-05-062-1/+34
| | | | | | | Split from the musttail inliner change. This will be covered by an opt test when the inliner change lands. llvm-svn: 208126
* Tests no longer uses getNextInputElement, so make it private.Rui Ueyama2014-05-061-3/+3
| | | | llvm-svn: 208124
* Add a test for notifyProgress().Rui Ueyama2014-05-061-0/+8
| | | | llvm-svn: 208123
* Do not make -pass-remarks additive.Diego Novillo2014-05-062-11/+8
| | | | | | | | | | | | | | | | | | | | | | | | Summary: When I initially introduced -pass-remarks, I thought it would be a neat idea to make it additive. So, if one used it as: $ llc -pass-remarks=inliner --pass-remarks=loop.* the compiler would build the regular expression '(inliner)|(loop.*)'. The more I think about it, the more I regret it. This is not how other flags work. The standard semantics are right-to-left overrides. This is how clang interprets -Rpass. And I think the two should be compatible in this respect. Reviewers: qcolombet Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D3614 llvm-svn: 208122
* Remove unused variable.Rui Ueyama2014-05-061-1/+0
| | | | llvm-svn: 208121
* Fix copypaste error.Rui Ueyama2014-05-061-1/+1
| | | | llvm-svn: 208120
* s/My/Test/ as these classes are for tests.Rui Ueyama2014-05-061-11/+13
| | | | llvm-svn: 208119
* Make the test even more readable.Rui Ueyama2014-05-061-202/+80
| | | | llvm-svn: 208118
* control-D on empty line to quit lldb stopped working in Release builds on ↵Greg Clayton2014-05-061-1/+2
| | | | | | | | MacOSX. <rdar://problem/16822217> llvm-svn: 208117
* Simplify unit test code.Rui Ueyama2014-05-061-20/+6
| | | | llvm-svn: 208116
* TTI: Estimate @llvm.fmuladd cost as fmul + fadd when FMA's aren't legal on ↵Benjamin Kramer2014-05-062-1/+35
| | | | | | the target. llvm-svn: 208115
* Reapply: DebugInfo: Emit the definition of enums when the definition ↵David Blaikie2014-05-066-1/+105
| | | | | | | | | | | | | | | | | | | preceeds the declaration and initial use. Reverting r208106 to reapply r208065 with a fix for the regression. The issue was that the enum tried to be built even if the declaration hadn't been constructed for debug info - presenting problems for enum templates and typedefs of enums with names for linkage purposes. Original commit message: This regressed a little further 208055 though it was already a little broken. While the requiresCompleteType optimization should be implemented here. Future (possibly near future) work. llvm-svn: 208114
* Remove meaningless return value in test.Rui Ueyama2014-05-061-2/+1
| | | | llvm-svn: 208112
* Replace copypasta with function calls to make tests intelligible.Rui Ueyama2014-05-061-95/+30
| | | | llvm-svn: 208111
* Fix leak in ObjCSelfInitChecker, found by LSan.Nico Weber2014-05-061-19/+18
| | | | | | | | BugReport doesn't take ownership of the bug type, so let the checker own the the bug type. (Requires making the bug type mutable, which is icky, but which is also what other checkers do.) llvm-svn: 208110
* Don't return value rather than always returning true.Rui Ueyama2014-05-063-12/+11
| | | | | | | addInputElement() never fails, and no one checks its return value except tests. Let's simplify the signature. llvm-svn: 208109
* Fix a leak found by LSan: ConsumedBlockInfo owns its StateMapsArray entries.Nico Weber2014-05-061-1/+2
| | | | | | | | | (I tried converting StateMapsArray to a vector<unique_ptr> and changing the types of getInfo() and addInfo() to take unique_ptrs. This mostly worked, except for the three-argument form of addInfo() which I found confusing enough that I went with this simpler fix for now.) llvm-svn: 208108
* [X86] Improve the lowering of BITCAST dag nodes from type f64 to type v2i32 ↵Andrea Di Biagio2014-05-063-3/+124
| | | | | | | | | | | | | | | | | | | | (and vice versa). Before this patch, the backend always emitted a store+load sequence to bitconvert from f64 to i64 the input operand of a ISD::BITCAST dag node that performed a bitconvert from type MVT::f64 to type MVT::v2i32. The resulting i64 node was then used to build a v2i32 vector. With this patch, the backend now produces a cheaper SCALAR_TO_VECTOR from MVT::f64 to MVT::v2f64. That SCALAR_TO_VECTOR is then followed by a "free" bitcast to type MVT::v4i32. The elements of the resulting v4i32 are then extracted to build a v2i32 vector (which is illegal and therefore promoted to MVT::v2i64). This is in general cheaper than emitting a stack store+load sequence to bitconvert the operand from type f64 to type i64. llvm-svn: 208107
* Revert "DebugInfo: Emit the definition of enums when the definition preceeds ↵David Blaikie2014-05-065-87/+1
| | | | | | | | | | | the declaration and initial use." This is breaking the compiler-rt build. Reverting while I investigate/fix. This reverts commit r208065. llvm-svn: 208106
* Add driver support for AArch64 Fedora.Tilmann Scheller2014-05-067-2/+21
| | | | | | Reviewed by Eric Christopher. llvm-svn: 208105
* Implememting named register intrinsicsRenato Golin2014-05-0629-0/+376
| | | | | | | | | | | This patch implements the infrastructure to use named register constructs in programs that need access to specific registers (bare metal, kernels, etc). So far, only the stack pointer is supported as a technology preview, but as it is, the intrinsic can already support all non-allocatable registers from any architecture. llvm-svn: 208104
* Special case aliases in GlobalValue::getAlignment.Rafael Espindola2014-05-064-4/+22
| | | | | | | | | An alias has the address of what it points to, so it also has the same alignment. This allows a few optimizations to see past aliases for free. llvm-svn: 208103
* Have the SubtargetFeature help routine just not return a number andEric Christopher2014-05-062-7/+12
| | | | | | | | fall back to the normal path without a cpu. While doing this fix llc to just exit when we don't have a module to process instead of asserting. llvm-svn: 208102
* Remove a method that no one is using.Rui Ueyama2014-05-062-16/+0
| | | | llvm-svn: 208101
* Update comment for ObjCImplementationDecl's handling of instance variables.Jordan Rose2014-05-061-4/+7
| | | | | | No functionality change. llvm-svn: 208099
* Add some details to the llvm-cov documentation. <rdar://problem/15819496>Bob Wilson2014-05-061-13/+96
| | | | llvm-svn: 208098
* Fix PR 19663. Some calls to find(vector<bool>) were returning iterators that ↵Marshall Clow2014-05-062-2/+4
| | | | | | were subtly invalid (didn't compare equal). Thanks to Erik Verbruggen for the report (and diagnosis) llvm-svn: 208096
* Be more strict about not allowing setSection on aliases.Rafael Espindola2014-05-062-5/+6
| | | | llvm-svn: 208095
* Be more strict about not calling setAlignment on global aliases.Rafael Espindola2014-05-062-6/+15
| | | | | | | The fact that GlobalAlias::setAlignment exists at all is a side effect of how the classes are organized, it should never be used. llvm-svn: 208094
* clang-format: [JS] Keep space after closure style comments.Daniel Jasper2014-05-062-2/+6
| | | | | | | | | | Before: var x = /** @type {foo} */ (bar); After: var x = /** @type {foo} */(bar); llvm-svn: 208093
* [asan] introduce interface function __sanitizer_verify_contiguous_container ↵Kostya Serebryany2014-05-064-7/+50
| | | | | | to verify annotations in vector-like containers llvm-svn: 208092
* AArch64/ARM64: implement diagnosis of unpredictable loads & storesTim Northover2014-05-063-21/+70
| | | | llvm-svn: 208091
* clang-format: [JS] Keep space between 'return' and '['.Daniel Jasper2014-05-062-3/+8
| | | | llvm-svn: 208090
OpenPOWER on IntegriCloud