summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Test commitErik Pilkington2016-04-261-0/+1
| | | | llvm-svn: 267604
* Call repl in getSymbolBody. NFC.Rafael Espindola2016-04-265-7/+7
| | | | | | Every caller was doing it. llvm-svn: 267603
* Move utility functions to DriverUtils.cpp.Rui Ueyama2016-04-263-28/+32
| | | | llvm-svn: 267602
* Try to get at_file_missing.c passing after LLVM r267556.Nico Weber2016-04-261-2/+2
| | | | | | | | | | r267556 made backslashes escape the next character unconditionally in rsp files. This test echos a path into a rsp file, and paths contain backslashes on Windows. Since it's not important for this test to get the filename from the rsp file, just pass it regularly. llvm-svn: 267601
* Handle Windows drive letters and ".." for --reproduce.Rui Ueyama2016-04-262-34/+54
| | | | | | | | | | | | | | | | When --reproduce <path> is given, then we need to concatenate input file paths to the given path to save input files to the directory. Previously, path concatenation didn't handle Windows drive letters so it could generate invalid paths such as "C:\D:\foo". It also didn't handle ".." path components, so it could produce some bad paths such as "foo/../../etc/passwd". In this patch, Windows drive letters and ".." are removed before concatenating paths. Differential Revision: http://reviews.llvm.org/D19551 llvm-svn: 267600
* Try to get ResponseFile.ll passing on Windows after r267556.Nico Weber2016-04-261-2/+4
| | | | llvm-svn: 267599
* Remove more unused variables.Zachary Turner2016-04-261-3/+0
| | | | llvm-svn: 267598
* Masked Store in Loop Vectorizer - bugfixElena Demikhovsky2016-04-262-13/+55
| | | | | | | | Fixed a bug in loop vectorization with conditional store. Differential Revision: http://reviews.llvm.org/D19532 llvm-svn: 267597
* PM: Port Internalize to the new pass managerJustin Bogner2016-04-268-105/+136
| | | | llvm-svn: 267596
* [llvm-pdbdump] Fix version reading on big endian systems.Zachary Turner2016-04-261-1/+2
| | | | llvm-svn: 267595
* UtilityFunction::MakeFunctionCaller uses the Error to report failure,Jim Ingham2016-04-261-0/+3
| | | | | | | | but when there's was no process it was just returning an null pointer and not setting the error. I don't have a scenario where this might go wrong, just code inspection... llvm-svn: 267594
* Add optimization bisect opt-in calls for Hexagon passesAndrew Kaylor2016-04-2618-1/+52
| | | | | | Differential Revision: http://reviews.llvm.org/D19509 llvm-svn: 267593
* [clang-tidy] Now adding correct misc-move-const-arg documentation ;]Alexander Kornienko2016-04-263-21/+20
| | | | | | + brushed the code a bit and renamed the test file to match the check name llvm-svn: 267592
* Apparently XFAIL tests that are supposed to fail to compile can be ↵Marshall Clow2016-04-267-14/+28
| | | | | | problematic. They still get compiled, and if the compile succeeds, the buildbots complain. Replace the XFAIL with #error. llvm-svn: 267591
* [OpenCL] Add predefined macros.Yaxun Liu2016-04-265-14/+81
| | | | | | | | | | | | OpenCL spec requires __OPENCL_C_VERSION__ to be defined based on -cl-std option. This patch implements that. The patch also defines __FAST_RELAXED_MATH__ based on -cl-fast-relaxed-math option. Also fixed a test using -std=c99 for OpenCL program. Limit allowed language standard of OpenCL to be OpenCL standards. Differential Revision: http://reviews.llvm.org/D19071 llvm-svn: 267590
* Fix warnings and -Werror build on clang.Zachary Turner2016-04-262-2/+2
| | | | llvm-svn: 267589
* Make test/ELF/reproduces.s test to work on Windows.Rui Ueyama2016-04-261-18/+13
| | | | | | | | | | Previously, the test didn't work on Windows because it tried to concatenate two (possibly) absolute paths. If two paths are absolute paths that have drive letters, then the result would become something like C:\foo\D:\bar. That's not a valid path. I changed the test to use relative paths. llvm-svn: 267588
* [clang-tidy] Added misc-move-const-arg docs.Alexander Kornienko2016-04-262-1/+17
| | | | llvm-svn: 267587
* [sanitizers] [NFC] Add defines for the various PowerPC ABIs.Marcin Koscielnicki2016-04-264-6/+37
| | | | | | Differential Revision: http://reviews.llvm.org/D19542 llvm-svn: 267586
* Parse and dump PDB DBI Stream Header InformationZachary Turner2016-04-2611-17/+296
| | | | | | | | | | | | | | | | | | The DBI stream contains a lot of bookkeeping information for other streams. In particular it contains information about section contributions and linked modules. This patch is a first attempt at parsing some of the information out of the DBI stream. It currently only parses and dumps the headers of the DBI stream, so none of the module data or section contribution data is pulled out. This is just a proof of concept that we understand the basic properties of the DBI stream's metadata, and followup patches will try to extract more detailed information out. Differential Revision: http://reviews.llvm.org/D19500 Reviewed By: majnemer, ruiu llvm-svn: 267585
* [CMake] Use just-built clang and build iOS support when building stage2Chris Bieneman2016-04-261-0/+3
| | | | | | The Apple stage2 build should include compiler-rt iOS libraries and be built with the stage2 compiler. This matches Apple's production clang builds. llvm-svn: 267584
* [Tail duplication] Handle source registers with subregistersKrzysztof Parzyszek2016-04-263-37/+155
| | | | | | | | | | | | | | When a block is tail-duplicated, the PHI nodes from that block are replaced with appropriate COPY instructions. When those PHI nodes contained use operands with subregisters, the subregisters were dropped from the COPY instructions, resulting in incorrect code. Keep track of the subregister information and use this information when remapping instructions from the duplicated block. Differential Revision: http://reviews.llvm.org/D19337 llvm-svn: 267583
* Reapply: "ARM: put correct symbol index on indirect pointers in __thread_ptr.""Tim Northover2016-04-263-3/+8
| | | | | | | A latent bug in llvm-objdump used the wrong format specifier on 32-bit targets, causing the test to fail. This fixes the issue. llvm-svn: 267582
* Internalize: More consistent file header and include guards. NFCJustin Bogner2016-04-261-4/+4
| | | | | | Match the style here to the other headers in Transforms/IPO. llvm-svn: 267581
* [SimplifyLibCalls] sprintf doesn't copy null bytesDavid Majnemer2016-04-262-5/+7
| | | | | | | | | | sprintf doesn't read or copy the terminating null byte from it's string operands. sprintf will append it's own after processing all of the format specifiers. This fixes PR27526. llvm-svn: 267580
* Swift Calling Convention: use %RAX for sret.Manman Ren2016-04-264-20/+40
| | | | | | | We don't need to copy the sret argument into %rax upon return. rdar://25671494 llvm-svn: 267579
* tests: tweak MIR for ARM tests to correct MI issuesSaleem Abdulrasool2016-04-262-5/+7
| | | | | | | | | The Machine Instruction Verifier flagged some issues in the serialized MIR. Adjust the input to correct them. Fixes the remaining portion of PR27480. llvm-svn: 267578
* test: remove some bleeding whitespaceSaleem Abdulrasool2016-04-262-57/+57
| | | | | | Kill bleeding whitespace. NFC llvm-svn: 267577
* [Release notes] Mention Clang-tidy misc-fold-init-type check.Eugene Zelenko2016-04-262-4/+10
| | | | | | Highlighting consistency in Clang-tidy misc-fold-init-type check documentation. llvm-svn: 267576
* [CMake] [PR27403] Fix COMPILER_RT_ENABLE_IOS when using Xcode from the App ↵Chris Bieneman2016-04-262-2/+6
| | | | | | | | | | Store. This change modifies find_darwin_sdk_dir to set a variable if a Darwin "Internal" SDK is present which allows CMake to disable components that require internal-only APIs. This mechanism is then used to disable TSan when an internal SDK is not present. llvm-svn: 267575
* [clang-tidy] New checker for redundant expressions.Etienne Bergeron2016-04-268-0/+318
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This checker finds redundant expression on both side of a binary operator. The current implementation provide a function to check whether expressions are equivalent. This implementation is able to recognize the common subset encounter in C++ program. Side-effects like "x++" are not considered to be equivalent. There are many False Positives related to macros and to floating point computations (detecting NaN). The checker is ignoring these cases. Example: ``` if( !dst || dst->depth != desired_depth || dst->nChannels != desired_num_channels || dst_size.width != src_size.width || dst_size.height != dst_size.height ) <<--- bug { ``` Reviewers: alexfh Subscribers: danielmarjamaki, fahlgren, jordan_rose, zaks.anna, Eugene.Zelenko, cfe-commits Differential Revision: http://reviews.llvm.org/D19451 llvm-svn: 267574
* [AMDGPU] Move reserved vgpr count for trap handler usage to ↵Konstantin Zhuravlyov2016-04-266-9/+20
| | | | | | | | SIMachineFunctionInfo + minor commenting changes Differential Revision: http://reviews.llvm.org/D19537 llvm-svn: 267573
* [CodeGenPrepare] use branch weight metadata to decide if a select should be ↵Sanjay Patel2016-04-268-41/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | turned into a branch This is part of solving PR27344: https://llvm.org/bugs/show_bug.cgi?id=27344 CGP should undo the SimplifyCFG transform for the same reason that earlier patches have used this same mechanism: it's possible that passes between SimplifyCFG and CGP may be able to optimize the IR further with a select in place. For the TLI hook default, >99% taken or not taken is chosen as the default threshold for a highly predictable branch. Even the most limited HW branch predictors will be correct on this branch almost all the time, so even a massive mispredict penalty perf loss would be overcome by the win from all the times the branch was predicted correctly. As a follow-up, we could make the default target hook less conservative by using the SchedMachineModel's MispredictPenalty. Or we could just let targets override the default by implementing the hook with that and other target-specific options. Note that trying to statically determine mispredict rates for close-to-balanced profile weight data is generally impossible if the HW is sufficiently advanced. Ie, 50/50 taken/not-taken might still be 100% predictable. Finally, note that this patch as-is will not solve PR27344 because the current __builtin_unpredictable() branch weight default values are 4 and 64. A proposal to change that is in D19435. Differential Revision: http://reviews.llvm.org/D19488 llvm-svn: 267572
* Fix build broken due to order of initialization problem.Zachary Turner2016-04-262-4/+5
| | | | llvm-svn: 267571
* [clang-tidy] Enhance misc-suspicious-string-compare to move down ↵Etienne Bergeron2016-04-263-36/+93
| | | | | | | | | | | | | | | | | | | | | | false-positives. Summary: The checker was noisy when running over llvm code base. This patch is impriving the way string-compare functions are matched. 1) By default, do not report !strcmp(...) unless it's activate by the user, 2) Only match suspicious expression over a subset of expression (binary operator), 3) Added matching of macro wrapper used with clang on linux. See bug: 27465. Reviewers: alexfh Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D19497 llvm-svn: 267570
* Remove unnecessary function type directives for ifuncs.Peter Collingbourne2016-04-267-13/+0
| | | | llvm-svn: 267569
* Don't gc symbols that have to go in the dynamic symbol table.Rafael Espindola2016-04-262-4/+37
| | | | | | | | | We were only doing it for .so and --export-dynamic, but those are not the only ways a symbol ends up in the dynamic symbol table. Problem diagnostic and earlier patch version by Peter Collingbourne. llvm-svn: 267568
* #include <test_macros.h> in all the regex tests, and remove all mentions of ↵Marshall Clow2016-04-26140-31/+149
| | | | | | __cpluplus (use TEST_STD_VERS and/or XFAIL instead). No functional change llvm-svn: 267567
* ELF: Treat IFunc definitions in DSOs as functions.Peter Collingbourne2016-04-263-1/+23
| | | | | | Differential Revision: http://reviews.llvm.org/D19517 llvm-svn: 267566
* [ELF] Avoid polluting source directory with temp files.Davide Italiano2016-04-261-7/+7
| | | | llvm-svn: 267565
* Refactor some more PDB reading code into DebugInfoPDB.Zachary Turner2016-04-269-143/+307
| | | | | | | Differential Revision: http://reviews.llvm.org/D19445 Reviewed By: David Majnemer llvm-svn: 267564
* [AMDGPU] Reserve VGPRs for trap handler usage if instructedKonstantin Zhuravlyov2016-04-267-1/+85
| | | | | | Differential Revision: http://reviews.llvm.org/D19235 llvm-svn: 267563
* Fix send and receive of ACK byte in test infrastructure for Python 3.5Adrian McCarthy2016-04-262-6/+2
| | | | | | | | Python 3.5 is pickier about the distinction between chars and bytes (and strings and bytearrays) than Python 2.7. Differential Revision: http://reviews.llvm.org/D19510 llvm-svn: 267562
* [SPIR] Remove an assert mandating SPIR for OpenCL sources only.Anastasia Stulova2016-04-261-1/+0
| | | | | | | | | SPIR target can be used for C/C++ inputs too (i.e. in OpenCL compatible mode for the libs creation). Patch by Neil Henning! Review: http://reviews.llvm.org/D19478 llvm-svn: 267561
* [OpenMP] Improve mappable expressions Sema.Samuel Antao2016-04-265-168/+817
| | | | | | | | | | | | | | | Summary: This patch adds logic to save the components of mappable expressions in the clause that uses it, so that they don't have to be recomputed during codegen. Given that the mappable components are (will be) used in several clauses a new geneneric implementation `OMPMappableExprListClause` is used that extends the existing `OMPVarListClause`. This patch does not add new tests. The goal is to preserve the existing functionality while storing more info in the clauses. Reviewers: hfinkel, carlo.bertolli, arpith-jacob, kkwli0, ABataev Subscribers: cfe-commits, caomhin Differential Revision: http://reviews.llvm.org/D19382 llvm-svn: 267560
* Allow unsigned comparisonsJohannes Doerfert2016-04-268-70/+107
| | | | | | | | With this patch we will optimistically assume that the result of an unsigned comparison is the same as the result of the same comparison interpreted as signed. llvm-svn: 267559
* Handle --as-needed with symbols, not relocations.Rafael Espindola2016-04-262-8/+30
| | | | | | This matches the behavior of both gold and bfd. llvm-svn: 267558
* Update test after LLVM r267556.Nico Weber2016-04-262-3/+4
| | | | llvm-svn: 267557
* Use gcc's rules for parsing gcc-style response filesNico Weber2016-04-262-12/+10
| | | | | | | | | | | | | | | | | | | | | | | | | In gcc, \ escapes every character in response files. It is true that this makes it harder to mention Windows files in rsp files, but not doing this means clang disagrees with gcc, and also disagrees with the shell (on non-Windows) which rsp file quoting is supposed to match. clang isn't free to choose what to do here. In general, the idea for response files is to take bits of your command line and write them to a file unchanged, and have things work the same way. Since the command line would've been interpreted by the shell, things in the rsp file need to be subject to the same shell quoting rules. People who want to put Windows-style paths in their response files either need to do any of: * escape their backslashes * or use clang-cl which uses cl.exe/cmd.exe quoting rules * pass --rsp-quoting=windows to clang to tell it to use cl.exe/cmd.exe quoting rules for response files. Fixes PR27464. http://reviews.llvm.org/D19417 llvm-svn: 267556
* Store the binding in the Symbol.Rafael Espindola2016-04-266-13/+48
| | | | | | | This remove a fixme, cleans up the weak undef interaction with archives and lets us keep weak undefs still weak if they resolve to shared. llvm-svn: 267555
OpenPOWER on IntegriCloud