summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [mips] Split Instruction.Predicates into smaller lists and re-join them with ↵Daniel Sanders2014-05-077-77/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | | !listconcat Summary: The overall idea is to chop the Predicates list into subsets that are usually overridden independently. This allows subclasses to partially override the predicates of their superclasses without having to re-add all the existing predicates. This patch starts the process by moving HasStdEnc into a new EncodingPredicates list and almost everything else into AdditionalPredicates. It has revealed a couple likely bugs where 'let Predicates' has removed the HasStdEnc predicate. No functional change (confirmed by diffing tablegen-erated files). Depends on D3549, D3506 Reviewers: vmedic Differential Revision: http://reviews.llvm.org/D3550 llvm-svn: 208184
* [tablegen] Add !listconcat operator with the similar semantics as !strconcatDaniel Sanders2014-05-078-4/+63
| | | | | | | | | | | | | | | | | | | | Summary: It concatenates two or more lists. In addition to the !strconcat semantics the lists must have the same element type. My overall aim is to make it easy to append to Instruction.Predicates rather than override it. This can be done by concatenating lists passed as arguments, or by concatenating lists passed in additional fields. Reviewers: dsanders Reviewed By: dsanders Subscribers: hfinkel, llvm-commits Differential Revision: http://reviews.llvm.org/D3506 llvm-svn: 208183
* Replace llvm::IRBuilder with PollyIRBuilderTobias Grosser2014-05-071-3/+3
| | | | | Contributed-by: Yabin Hu <yabin.hwu@gmail.com> llvm-svn: 208182
* Remove unnecessary explicit typing in std::make_pairTobias Grosser2014-05-072-4/+3
| | | | | Contributed-by: Yabin Hu <yabin.hwu@gmail.com> llvm-svn: 208181
* Add the missing 'LoopToScev' parameterTobias Grosser2014-05-071-1/+1
| | | | | Contributed-by: Yabin Hu <yabin.hwu@gmail.com> llvm-svn: 208180
* [mips] Move HasStdEnc to the front of the predicates lists.Daniel Sanders2014-05-075-61/+61
| | | | | | | | | | | | | | | | | | Summary: This will make it easier to prove that a more complicated change in the following commit is non-functional. No functional change. Depends on D3506 Reviewers: vmedic Reviewed By: vmedic Differential Revision: http://reviews.llvm.org/D3549 llvm-svn: 208179
* Use nullptr instead of 0 for const char * value.Yaron Keren2014-05-071-5/+5
| | | | llvm-svn: 208178
* [BUG][REFACTOR]Zinovy Nis2014-05-074-43/+49
| | | | | | | | | 1) Fix for printing debug locations for absolute paths. 2) Location printing is moved into public method DebugLoc::print() to avoid re-inventing the wheel. Differential Revision: http://reviews.llvm.org/D3513 llvm-svn: 208177
* clang-format: Be slightly more aggressive on single-line functions.Daniel Jasper2014-05-072-2/+11
| | | | | | | | | | | | | | So that JS functions can also be merged into a single line. Before: var func = function() { return 1; }; After: var func = function() { return 1; }; llvm-svn: 208176
* clang-format: Fix corner cases for comments in if conditions.Daniel Jasper2014-05-073-3/+21
| | | | | | | | | | | | Before: if ( // a x + 3) { .. After: if ( // a x + 3) { .. llvm-svn: 208175
* Print stats on displayed and ignored warnings.Alexander Kornienko2014-05-078-26/+83
| | | | | | | | | | | | | | | | Summary: Also displays a hint to use -header-filter='.*' in case any warnings are in non-user code. This will help discoverability of this option. Reviewers: klimek Reviewed By: klimek Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D3621 llvm-svn: 208174
* Second patch of patch series that improves MergeFunctions performance time ↵Stepan Dyatkovskiy2014-05-071-4/+278
| | | | | | | | | | | | | | | | | from O(N*N) to O(N*log(N)). The idea is to introduce total ordering among functions set. It allows to build binary tree and perform function look-up procedure in O(log(N)) time. This patch description: Introduced total ordering among constants implemented in cmpConstants method. Method performs lexicographical comparison between constants represented as hypothetical numbers of next format: <bitcastability-trait><raw-bit-contents> Please, read cmpConstants declaration comments for more details. llvm-svn: 208173
* [asan] Include asm instrumentation source in Makefile build.Evgeniy Stepanov2014-05-071-3/+5
| | | | llvm-svn: 208172
* Work-around MSVS build breakage due to r208148Timur Iskhodzhanov2014-05-071-2/+4
| | | | llvm-svn: 208171
* Drop libgcc and default to libc++ for NetBSD/ARM on 6.99.40+.Joerg Sonnenberger2014-05-074-12/+57
| | | | | | | Don't bother with keeping the old support for x86_64 in 6.99.23+, just use a single range. Update test cases for the always-on --eh-frame-hdr. llvm-svn: 208170
* Also recognize Big Endian ARM variants.Joerg Sonnenberger2014-05-071-0/+2
| | | | llvm-svn: 208169
* clang-format: Fix bad space before braced initializer.Daniel Jasper2014-05-072-1/+3
| | | | | | | | | | Before: new int {1}; After: new int{1}; llvm-svn: 208168
* [asan] Add a flag to control asm instrumentation.Evgeniy Stepanov2014-05-075-5/+12
| | | | | | With this change, asm instrumentation is disabled by default. llvm-svn: 208167
* Allow using normal .eh_frame based unwinding on ARM. Use the sameJoerg Sonnenberger2014-05-075-1/+307
| | | | | | encodings as x86. Use this exception model for NetBSD. llvm-svn: 208166
* [OPENMP] Fixed checking for mangled names in parallel_codegen.cpp testAlexey Bataev2014-05-071-12/+12
| | | | llvm-svn: 208165
* Fix up indentation and fix an 80 column violation.Craig Topper2014-05-071-19/+20
| | | | llvm-svn: 208164
* [C++11] Use 'nullptr'.Craig Topper2014-05-0723-317/+321
| | | | llvm-svn: 208163
* [OPENMP] Fixed problem with temp removal on some platforms in codegen for ↵Alexey Bataev2014-05-073-12/+7
| | | | | | '#pragma omp parallel' llvm-svn: 208162
* PR19562: Fix memory leak when ObjC interface types cause the creation of ↵David Blaikie2014-05-071-1/+5
| | | | | | further interfaces. llvm-svn: 208161
* Fixing tests to account for LLVM r208159.David Blaikie2014-05-072-5/+5
| | | | llvm-svn: 208160
* PR19562: DebugInfo temporary MDNode leak: Don't include a temporary node to ↵David Blaikie2014-05-071-2/+1
| | | | | | | | | | replace with a variable list for methods, since they're always declarations and thus never include variables This field is used for a list of variables to ensure they are not lost during optimization (they're only included when optimizations are enabled). llvm-svn: 208159
* [C++11] Add NArySCEV->Operands iterator rangeTobias Grosser2014-05-072-8/+11
| | | | llvm-svn: 208158
* [obj2yaml] Recognize input file format using llvm::object::ObjectFileSimon Atanasyan2014-05-076-25/+126
| | | | | | | | | | | interface methods isCOFF(). The '-coff' command line option has been removed. It was not used in any test cases. The patch reviewed by Michael Spencer. llvm-svn: 208157
* [OPENMP] Temporarily disable test parallel_codegen.cppAlexey Bataev2014-05-071-0/+2
| | | | llvm-svn: 208156
* [analyzer] Use a lazily-initialized BugType in ObjCSelfInitChecker.Jordan Rose2014-05-071-10/+6
| | | | | | Follow-up to Nico's leak-stopping patch in r208110. llvm-svn: 208155
* [analyzer] Functions marked __attribute__((const)) don't modify any memory.Jordan Rose2014-05-072-0/+34
| | | | | | | | | This applies to __attribute__((pure)) as well, but 'const' is more interesting because many of our builtins are marked 'const'. PR19661 llvm-svn: 208154
* ARM: mark additional instructions as MachineFrameSetupSaleem Abdulrasool2014-05-071-5/+10
| | | | | | | | Mark up additional instructions which are part of the function prologue as MachineFrameSetup. These instructions are part of the function prologue, emitted by the PEI pass to setup the stack for use in the activating frame. llvm-svn: 208153
* ARM: fix WoA PEI instruction selectionSaleem Abdulrasool2014-05-072-1/+29
| | | | | | | | | | | The ARM::BLX instruction is an ARM mode instruction. The Windows on ARM target is limited to Thumb instructions. Correctly use the thumb mode tBLXr instruction. This would manifest as an errant write into the object file as the instruction is 4-bytes in length rather than 2. The result would be a corrupted object file that would eventually result in an executable that would crash at runtime. llvm-svn: 208152
* llvm-cov: Document --no-output in the command guideJustin Bogner2014-05-071-0/+5
| | | | llvm-svn: 208151
* If an instantiation of a template is required to be a complete type, checkRichard Smith2014-05-0711-42/+120
| | | | | | | whether the definition of the template is visible rather than checking whether the instantiated definition happens to be in an imported module. llvm-svn: 208150
* llvm-cov: Handle missing source files as GCOV doesJustin Bogner2014-05-076-14/+133
| | | | | | | | | | | If the source files referenced by a gcno file are missing, gcov outputs a coverage file where every line is simply /*EOF*/. This also occurs for lines in the coverage that are past the end of a file that is found. This change mimics gcov. llvm-svn: 208149
* llvm-cov: Implement --no-outputJustin Bogner2014-05-075-22/+66
| | | | | | | | In gcov, there's a -n/--no-output option, which disables the writing of any .gcov files, so that it emits only the summary info on stdout. This implements the same behaviour in llvm-cov. llvm-svn: 208148
* Clean up some existing keyword tests in the test/Lexer directory by using theYunzhong Gao2014-05-074-19/+34
| | | | | | | | pre-defined __is_identifier() macro. Differential Revision: http://reviews.llvm.org/D3460 llvm-svn: 208147
* Try harder to ensure a strict weak ordering of overload candidates thatKaelyn Takata2014-05-072-6/+23
| | | | | | have arity mismatches. llvm-svn: 208146
* 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
OpenPOWER on IntegriCloud