summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [VFS] Remove setName from the file interface.Benjamin Kramer2015-10-053-46/+74
| | | | | | | This streamlines the interface a bit and makes Status more immutable. No functional change intended. llvm-svn: 249310
* [Support] Add a version of fs::make_absolute with a custom CWD.Benjamin Kramer2015-10-053-2/+33
| | | | | | This will be used soon from clang. llvm-svn: 249309
* The Driver does not set the +strict-align flag when targetingAlexandros Lamprineas2015-10-053-5/+8
| | | | | | | | [ARM] armv6m + netbsd. Tests are misssing for armv6m + darwin as well. Differential Revision: http://reviews.llvm.org/D13217 llvm-svn: 249308
* [asan][mips] Fix ABI incompatibility crash in pthread_create() following ↵Daniel Sanders2015-10-052-1/+2
| | | | | | | | r248325. Like i386, Mips needs a versioned interceptor but must select GLIBC_2.2. llvm-svn: 249307
* [mips][p5600] Add -mcpu=p5600 option.Daniel Sanders2015-10-054-1/+13
| | | | | | | | | | | | Summary: Reviewers: vkalintiris, atanasyan Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D12234 llvm-svn: 249306
* Use better mocks in modernize-make-unique, and fix matcher.Angel Garcia Gomez2015-10-052-4/+15
| | | | | | | | | | | | Summary: Add the second template argument to the unique_ptr mock, and update the matcher so that it only matches against cases where the second argument is the default. Reviewers: klimek Subscribers: alexfh, cfe-commits Differential Revision: http://reviews.llvm.org/D13433 llvm-svn: 249305
* Added missing test for [ARM] AttributeParser. Check that build attributeAlexandros Lamprineas2015-10-052-1/+8
| | | | | | | | Tag_Advanced_SIMD_arch is set correctly when targeting v8.1-a NEON. Differential Revision: http://reviews.llvm.org/D13281 llvm-svn: 249304
* Fix pr24486.Rafael Espindola2015-10-0530-113/+153
| | | | | | | | | | | | | | | | | | This extends the work done in r233995 so that now getFragment (in addition to getSection) also works for variable symbols. With that the existing logic to decide if a-b can be computed works even if a or b are variables. Given that, the expression evaluation can avoid expanding variables as aggressively and that in turn lets the relocation code see the original variable. In order for this to work with the asm streamer, there is now a dummy fragment per section. It is used to assign a section to a symbol when no other fragment exists. This patch is a joint work by Maxim Ostapenko andy myself. llvm-svn: 249303
* Use llvm::errc instead of std::errc.Rafael Espindola2015-10-051-1/+1
| | | | llvm-svn: 249302
* [OpenCL] Fix casting a true boolean to an integer vector.Anastasia Stulova2015-10-052-4/+49
| | | | | | | | | | | | | OpenCL v1.1 s6.2.2: for the boolean value true, every bit in the result vector should be set. This change treats the i1 value as signed for the purposes of performing the cast to integer, and therefore sign extend into the result. Patch by Neil Hickey! http://reviews.llvm.org/D13349 llvm-svn: 249301
* Document a bug in loop-convert and fix one of its subcases.Angel Garcia Gomez2015-10-052-3/+26
| | | | | | | | | | | | Summary: Now that we prioritize copying trivial types over using const-references where possible, I found some cases where, after the transformation, the loop was using the address of the local copy instead of the original object. Reviewers: klimek Subscribers: alexfh, cfe-commits Differential Revision: http://reviews.llvm.org/D13431 llvm-svn: 249300
* [LLDB][MIPS] Skip invalid size watchpoint testcase for MIPSMohit K. Bhakkad2015-10-051-0/+1
| | | | | | | | Reviewers: jaydeep. Subscribers: lldb-commits. Differential Revision: http://reviews.llvm.org/D13335 llvm-svn: 249299
* Remove support for the mips-mti-linux toolchain.Vasileios Kalintiris2015-10-0517-296/+25
| | | | | | | There are two remaining buildbot failures that we'll have to investigate before submitting this again. llvm-svn: 249298
* [ELF2] Add DT_INIT and DT_FINI dynamic table entriesIgor Kudrin2015-10-057-4/+83
| | | | | | | | | | | | | | The entries are added if there are "_init" or "_fini" entries in the symbol table respectively. According to the behavior of ld, entries are inserted even for undefined symbols. Symbol names can be overridden by using -init and -fini command line switches. If used, these switches neither add new symbol table entries nor require those symbols to be resolved. Differential Revision: http://reviews.llvm.org/D13385 llvm-svn: 249297
* Fix test failure on Windows buildbots for the mips-mti-linux toolchain.Vasileios Kalintiris2015-10-051-6/+6
| | | | | | | Try to make the Windows buildbots happy by fixing the regexes that match the paths to CRT files. llvm-svn: 249296
* [ELF2] Add --undefined optionDenis Protivensky2015-10-057-6/+96
| | | | | | | | | Add symbol specified with -u as undefined which may cause additional object files from archives to be linked into the resulting binary. Differential Revision: http://reviews.llvm.org/D13345 llvm-svn: 249295
* Re-commit "Add support for the new mips-mti-linux toolchain."Vasileios Kalintiris2015-10-0517-25/+296
| | | | | | | | | | | r249137 added support for the new mips-mti-linux toolchain. However, the new tests of that commit, broke some buildbots because they didn't use the correct regular expressions to capture the filename of Clang & LLD. This commit re-applies the changes of r249137 and fixes the tests in r249137 in order to match the filenames of the Clang and LLD executable. llvm-svn: 249294
* Fix bug in modernize-use-nullptr.Angel Garcia Gomez2015-10-052-7/+33
| | | | | | | | | | | | | | | | | Summary: https://llvm.org/bugs/show_bug.cgi?id=24960 modernize-use-nullptr would hit an assertion in some cases involving macros and initializer lists, due to finding a node with more than one parent (the two forms of the initializer list). However, this doesn't mean that the replacement is incorrect, so instead of just rejecting this case I tried to find a way to make it work. Looking at the semantic form of the InitListExpr made sense to me (looking at both forms results in false negatives) but I am not sure of the things that we can miss by skipping the syntactic form. Reviewers: klimek Subscribers: cfe-commits, alexfh Differential Revision: http://reviews.llvm.org/D13246 llvm-svn: 249291
* clang-format: Remove sentence in option cost threshold that weakens theDaniel Jasper2015-10-051-2/+0
| | | | | | | statement. Specifically, we don't want people that have already written a patch to just write a style guide for their 1-person project. llvm-svn: 249290
* clang-format: Document threshold for adding new options.Daniel Jasper2015-10-051-0/+22
| | | | llvm-svn: 249289
* Reformat partially.NAKAMURA Takumi2015-10-056-46/+38
| | | | llvm-svn: 249288
* Reformat 3 files in llvm/include/llvm/CodeGen/.NAKAMURA Takumi2015-10-053-178/+167
| | | | llvm-svn: 249287
* Trailing whitespaces.NAKAMURA Takumi2015-10-053-6/+6
| | | | llvm-svn: 249286
* Prune trailing whitespaces in comment lines.NAKAMURA Takumi2015-10-055-6/+6
| | | | llvm-svn: 249285
* Reformat blank lines.NAKAMURA Takumi2015-10-0519-44/+38
| | | | llvm-svn: 249284
* [CMake] Move CLANG_INCLUDE_TESTS in advance of add_subdirectory(tools).NAKAMURA Takumi2015-10-051-4/+4
| | | | | | The target "check-clang-tools" is affected by CLANG_INCLUDE_TESTS but it was undefined in 1st configuration procedure. llvm-svn: 249283
* Module Debugging: Emit (ObjC) function declarations in the module scopeAdrian Prantl2015-10-042-1/+3
| | | | | | when building a module. llvm-svn: 249282
* Fix makefile build on OSX when ARM targets are not enabledKeno Fischer2015-10-041-0/+2
| | | | | | | | | | | | | | | Summary: When LLVM/Clang is built without ARM support, the ios_kext runtime library is not built, but without this patch, the Makefile still tries to copy it. This is a recent regression, because the ios_kext library used to also be built on x86_64. Reviewers: beanz Subscribers: aemerson, cfe-commits, rengolin Differential Revision: http://reviews.llvm.org/D13421 llvm-svn: 249281
* [SelectionDAGBuilder] Remove dead codeDavid Majnemer2015-10-041-1/+1
| | | | | | We already check for LandingPadInst two lines above. llvm-svn: 249280
* Add -f[no-]declspec to control recognition of __declspec as a keywordSaleem Abdulrasool2015-10-0411-10/+68
| | | | | | | | | | | | | | | In versions of clang prior to r238238, __declspec was recognized as a keyword in all modes. It was then changed to only be enabled when Microsoft or Borland extensions were enabled (and for CUDA, as a temporary measure). There is a desire to support __declspec in Playstation code, and possibly other environments. This commit adds a command-line switch to allow explicit enabling/disabling of the recognition of __declspec as a keyword. Recognition is enabled by default in Microsoft, Borland, CUDA, and PS4 environments, and disabled in all other environments. Patch by Warren Ristow! llvm-svn: 249279
* [CMake] [darwin] Removing a line of debug code that I accidentally committed.Chris Bieneman2015-10-041-1/+0
| | | | llvm-svn: 249278
* Remove unused private field introduced by r249270.Teresa Johnson2015-10-041-5/+2
| | | | llvm-svn: 249277
* Remove non-executed statements during SCoP simplifcationJohannes Doerfert2015-10-046-14/+110
| | | | | | | | | | A statement with an empty domain complicates the invariant load hoisting and does not help any subsequent analysis or transformation. In fact it might introduce parameter dimensions or increase the schedule dimensionality. To this end, we remove statements with an empty domain early in the SCoP simplification. llvm-svn: 249276
* [FIX] Domain generation for non-affine loopsJohannes Doerfert2015-10-042-5/+39
| | | | llvm-svn: 249275
* [FIX] Count affine loops correctlyJohannes Doerfert2015-10-0413-50/+244
| | | | | | | The "unprofitable" heuristic was broken and counted boxed loops even though we do not represent and optimize them. llvm-svn: 249274
* [FIX] Approximate non-affine loops correctlyJohannes Doerfert2015-10-043-63/+116
| | | | | | | | | | Before isValidCFG() could hide the fact that a loop is non-affine by over-approximation. This is problematic if a subregion of the loop contains an exit/latch block and is over-approximated. Now we do not over-approximate in the isValidCFG function if we check loop control. If such control is non-affine the whole loop is over-approximated, not only a subregion. llvm-svn: 249273
* [FIX] Check loop latches for valid control too.Johannes Doerfert2015-10-041-6/+7
| | | | | | | | | This patch cannot be tested on its own as the isValidCFG currently hides the fact that control is actually non-affine with over-approximation. This will be corrected in the next patch and a test for non-affine latches will be added. llvm-svn: 249272
* [NFC] Remove unused classesJohannes Doerfert2015-10-042-24/+0
| | | | llvm-svn: 249271
* Support for function summary index bitcode sections and files.Teresa Johnson2015-10-0420-46/+1633
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The bitcode format is described in this document: https://drive.google.com/file/d/0B036uwnWM6RWdnBLakxmeDdOeXc/view For more info on ThinLTO see: https://sites.google.com/site/llvmthinlto The first customer is ThinLTO, however the data structures are designed and named more generally based on prior feedback. There are a few comments regarding how certain interfaces are used by ThinLTO, and the options added here to gold currently have ThinLTO-specific names as the behavior they provoke is currently ThinLTO-specific. This patch includes support for generating per-module function indexes, the combined index file via the gold plugin, and several tests (more are included with the associated clang patch D11908). Reviewers: dexonsmith, davidxl, joker.eph Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D13107 llvm-svn: 249270
* Make ScopAnnotator a function-local variable to ensure it is freed at each runTobias Grosser2015-10-041-3/+1
| | | | | | | | | | | | When the ScopAnnotator was a class member variable some of the maps it contains have not been properly cleared. As a result we had dangling pointers to llvm::Value(s) which got detected by the AssertingVH we recently added. No test case as this issue is hard to reproduce reliably as subsequent optimizations need to delete some of the llvm::Values we still keep in our lists. llvm-svn: 249269
* IRBuilder: Use AssertingVHTobias Grosser2015-10-042-5/+9
| | | | llvm-svn: 249268
* Use AssertingVH for ValueToValue MapsTobias Grosser2015-10-041-1/+2
| | | | | | | | By using AssertingVH we will see assertions in case Values to which still pointers in our maps exists are deleted. This is very useful as we previously had some bugs that were caused by such stale Value pointers. llvm-svn: 249267
* BlockGenerator: Use plain Value * instead of const Value *Tobias Grosser2015-10-042-50/+45
| | | | | | | | | The use of const qualified Value pointers prevents the use of AssertingVH. We could probably think of adding const support to AssertingVH, but as const correctness seems to currently provide limited benefit in Polly, we do not do this yet. llvm-svn: 249266
* BlockGenerators: Use auto to be less sensitive to type changesTobias Grosser2015-10-041-13/+13
| | | | llvm-svn: 249265
* Consolidate the different ValueMapTypes we are usingTobias Grosser2015-10-048-19/+25
| | | | | | | | | | There have been various places where llvm::DenseMap<const llvm::Value *, llvm::Value *> types have been defined, but all types have been expected to be identical. We make this more clear by consolidating the different types and use BlockGenerator::ValueMapT wherever there is a need for types to match BlockGenerator::ValueMapT. llvm-svn: 249264
* [X86][SSE4A] Added shuffle decode tests for 'special case' SSE4A ↵Simon Pilgrim2015-10-041-0/+61
| | | | | | EXTRQI/INSERTQI ops. llvm-svn: 249263
* [SPARCv9] Add support for the rdpr/wrpr instructions.Joerg Sonnenberger2015-10-045-0/+314
| | | | llvm-svn: 249262
* AVX512: Implemented encoding and intrinsics for VPERMILPS/PD instructions.Igor Breger2015-10-0411-61/+1142
| | | | | | | | Added tests for intrinsics and encoding. Differential Revision: http://reviews.llvm.org/D12690 llvm-svn: 249261
* Pass SourceRange by value in a test I missed in r249259.Craig Topper2015-10-041-2/+2
| | | | llvm-svn: 249260
* SourceRanges are small and trivially copyable, don't them by reference.Craig Topper2015-10-0428-76/+73
| | | | llvm-svn: 249259
OpenPOWER on IntegriCloud