summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* gtest - Make a `PythonTestSuite` base class for setup / teardown.Zachary Turner2015-11-134-17/+74
| | | | | | | | This allows other potential unit test suites (of which one is forthcoming in a subsequent patch) to re-use the same initialization and teardown of the GIL. llvm-svn: 252993
* Delete `PyObjectToString` and use `PythonObject::Str()`.Zachary Turner2015-11-131-43/+12
| | | | | | | The latter function, from PythonDataObjects, is Python 3 ready and the former was not. llvm-svn: 252992
* Fix buildJonathan Roelofs2015-11-131-1/+1
| | | | llvm-svn: 252991
* Provide a way to specify inliner's attribute compatibility and merging.Akira Hatanaka2015-11-139-45/+230
| | | | | | | | | | | | | | | | | | This reapplies r252949. I've changed the type of FuncName to be std::string instead of StringRef in emitFnAttrCompatCheck. Original commit message for r252949: Provide a way to specify inliner's attribute compatibility and merging rules using table-gen. NFC. This commit adds new classes CompatRule and MergeRule to Attributes.td, which are used to generate code to check attribute compatibility and merge attributes of the caller and callee. rdar://problem/19836465 llvm-svn: 252990
* [Hexagon] Adding relaxation functionality to backend and test.Colin LeMahieu2015-11-133-3/+56
| | | | llvm-svn: 252989
* [WebAssembly] Un-mangle the conversion instruction names.Dan Gohman2015-11-131-75/+75
| | | | | | | | This arranges the types in the LLVM instruction names in the same order that they appear in the WebAssembly opcode names, and eliminates double-underscores. llvm-svn: 252988
* [WebAssembly] Rename BR_IF_ to BR_IFDan Gohman2015-11-133-6/+6
| | | | | | | With MC-based instruction printing, we no longer need instruction names to mangle in hints about how they should be printed. llvm-svn: 252987
* Add support for function attribute 'disable_tail_calls'.Akira Hatanaka2015-11-138-7/+142
| | | | | | | | | | | | | | | | | | | | | | The ``disable_tail_calls`` attribute instructs the backend to not perform tail call optimization inside the marked function. For example, int callee(int); int foo(int a) __attribute__((disable_tail_calls)) { return callee(a); // This call is not tail-call optimized. } Note that this attribute is different from 'not_tail_called', which prevents tail-call optimization to the marked function. rdar://problem/8973573 Differential Revision: http://reviews.llvm.org/D12547 llvm-svn: 252986
* [WebAssembly] Remove unneeded TODO items. NFC.Dan Gohman2015-11-132-19/+0
| | | | llvm-svn: 252985
* [WebAssembly] Tidy up and update a TODO item. NFC.Dan Gohman2015-11-131-14/+9
| | | | llvm-svn: 252984
* [WinEH] Find root frame correctly in CLR funcletsJoseph Tremoulet2015-11-135-27/+146
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The value that the CoreCLR personality passes to a funclet for the establisher frame may be the root function's frame or may be the parent funclet's (mostly empty) frame in the case of nested funclets. Each funclet stores a pointer to the root frame in its own (mostly empty) frame, as does the root function itself. All frames allocate this slot at the same offset, measured from the post-prolog stack pointer, so that the same sequence can accept any ancestor as an establisher frame parameter value, and so that a single offset can be reported to the GC, which also looks at this slot. This change allocate the slot when processing function entry, and records its frame index on the WinEHFuncInfo object, then inserts the code to set/copy it during prolog emission. Reviewers: majnemer, AndyAyers, pgavlin, rnk Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D14614 llvm-svn: 252983
* [elf2] get{Local,Global}DynamicReloc -> is{LocalGlobal}DynamicReloc.Michael J. Spencer2015-11-134-8/+12
| | | | llvm-svn: 252982
* [scan-build] Create share directory similar to scan-view'sJonathan Roelofs2015-11-134-10/+10
| | | | llvm-svn: 252981
* Revert "Another little stepping optimization: if any of the source step ↵Ying Chen2015-11-131-9/+2
| | | | | | | | | | commands are running through a range " - Revert because this commit introduce several failures in lldb test suite - http://lab.llvm.org:8011/builders/lldb-x86_64-ubuntu-14.04-cmake/builds/8391 - This reverts commit 78943bb678c2893703ee4e8b41969372740c8a6f. llvm-svn: 252980
* [elf2] Implement global dynamic tls.Michael J. Spencer2015-11-137-9/+72
| | | | llvm-svn: 252979
* ELF2: Add comments and reorganize option list a bit.Rui Ueyama2015-11-131-5/+9
| | | | llvm-svn: 252978
* [scan-view] Rename 'Resources' --> 'share'Jonathan Roelofs2015-11-136-10/+10
| | | | llvm-svn: 252977
* compiler-rt: add make solution to bootstrap mingw-w64Martell Malone2015-11-131-0/+30
| | | | | | Differential Revision: http://reviews.llvm.org/D14290 llvm-svn: 252976
* [WebAssembly] Introduce a new pseudo-operand for unused expression results.Dan Gohman2015-11-136-12/+40
| | | | llvm-svn: 252975
* X86-FMA3: Implemented commute transformations FMA*_Int instructions.Vyacheslav Klochkov2015-11-134-172/+515
| | | | | | | | | | It made it possible to apply the memory folding optimization for the 2nd operand of FMA*_Int instructions. Reviewer: Quentin Colombet Differential Revision: http://reviews.llvm.org/D14550 llvm-svn: 252973
* clang/test/Driver/mips-mti-linux.c: Remove XFAIL. It shouldn't fail for ↵NAKAMURA Takumi2015-11-121-1/+1
| | | | | | | | targeting win32. I will remove REQUIRES later. llvm-svn: 252972
* Remove -Wobjc-weak-compat; there isn't a compelling use case for this.John McCall2015-11-123-20/+15
| | | | llvm-svn: 252971
* [SimplifyLibCalls] Make a function shorter. NFC.Davide Italiano2015-11-121-10/+2
| | | | llvm-svn: 252970
* [Hexagon] Adding checks for values out of operand range and correct ↵Colin LeMahieu2015-11-122-0/+82
| | | | | | new-value producer usage. llvm-svn: 252969
* [Hexagon] Adding test to make sure labels and register pairs are correctly ↵Colin LeMahieu2015-11-121-0/+26
| | | | | | parsed. llvm-svn: 252968
* Avoid duplicated diagnostic when lookup for a nested-name-specifier fails ↵Richard Smith2015-11-123-5/+7
| | | | | | due to ambiguity. llvm-svn: 252967
* [CMake] [Darwin] Forcing -fPIC on for all darwin builtins except macho_embeddedChris Bieneman2015-11-121-1/+2
| | | | | | We need to add -fPIC to the flags for the builtins in case PIC was turned off at a higher level. We also want to set ENABLE_PIC to Off when building the macho_embedded builtins so the top-level settings don't impact that build. llvm-svn: 252966
* [CMake] [Darwin] [Builitins] Removing muloti4 from the blacklists for arm.Chris Bieneman2015-11-122-2/+0
| | | | llvm-svn: 252965
* [CMake] [Darwin] [Builtins] Sorting and uniquing blacklists. NFC.Chris Bieneman2015-11-122-92/+10
| | | | llvm-svn: 252964
* Another little stepping optimization: if any of the source step commands are ↵Jim Ingham2015-11-121-2/+9
| | | | | | | | | | | | | | | | | | | | | running through a range of addresses, and the range has no branches, instead of running to the last instruction and single-stepping over that, run to the first instruction after the end of the range. If there are no branches in the current range, then the bytes right after it have to be in the current function, and have to be instructions not data in code, so this is safe. And it cuts down one extra stepi per source range step. Incidentally, this also works around a bug in the llvm Intel assembler where it treats the "rep" prefix as a separate instruction from the repeated instruction. If that were at the end of a line range, then we would put a trap in place of the repeated instruction, which is undefined behavior. Current processors just ignore the repetition in this case, which changes program behavior. Since there would never be a line range break after the rep prefix, always doing the range stepping to the beginning of the new range avoids this problem. <rdar://problem/23461686> llvm-svn: 252963
* specify triple and tighten checks using update_llc_test_checks.pySanjay Patel2015-11-121-61/+62
| | | | llvm-svn: 252962
* Mark clang/test/Driver/ms-bitfields.c as REQUIRES:clang-driver.NAKAMURA Takumi2015-11-121-0/+2
| | | | llvm-svn: 252961
* [modules] Simplify and generalize the existing rule for finding hiddenRichard Smith2015-11-1215-72/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | declarations in redeclaration lookup. A declaration is now visible to lookup if: * It is visible (not in a module, or in an imported module), or * We're doing redeclaration lookup and it's externally-visible, or * We're doing typo correction and looking for unimported decls. We now support multiple modules having different internal-linkage or no-linkage definitions of the same name for all entities, not just for functions, variables, and some typedefs. As previously, if multiple such entities are visible, any attempt to use them will result in an ambiguity error. This patch fixes the linkage calculation for a number of entities where we previously didn't need to get it right (using-declarations, namespace aliases, and so on). It also classifies enumerators as always having no linkage, which is a slight deviation from the C++ standard's definition, but not an observable change outside modules (this change is being discussed on the -core reflector currently). This also removes the prior special case for tag lookup, which made some cases of this work, but also led to bizarre, bogus "must use 'struct' to refer to type 'Foo' in this scope" diagnostics in C++. llvm-svn: 252960
* DR407: Rationalize how we handle tags being hidden by typedefs. Even withRichard Smith2015-11-123-27/+48
| | | | | | | | | | | | | | | | | | DR407, the C++ standard doesn't really say how this should work. Here's what we do (which is consistent with DR407 as far as I can tell): * When performing name lookup for an elaborated-type-specifier, a tag declaration hides a typedef declaration that names the same type. * When performing any other kind of lookup, a typedef declaration hides a tag declaration that names the same type. In any other case where lookup finds both a typedef and a tag (that is, when they name different types), the lookup will be ambiguous. If lookup finds a tag and a typedef that name the same type, and finds anything else, the lookup will always be ambiguous (even if the other entity would hide the tag, it does not also hide the typedef). llvm-svn: 252959
* [Windows] Fix halt_on_error-1.c test on Windows with %env_asan_optsReid Kleckner2015-11-121-2/+2
| | | | llvm-svn: 252958
* Revert r240335.Richard Smith2015-11-127-14/+7
| | | | | | | | | | | | | | | This failed to solve the problem it was aimed at, and introduced just as many issues as it resolved. Realistically, we need to deal with the possibility that multiple modules might define different internal linkage symbols with the same name, and this isn't a problem unless two such symbols are simultaneously visible. The case where two modules define equivalent internal linkage symbols is handled by r252063: if lookup finds multiple sufficiently-similar entities from different modules, we just pick one of them as an extension (but we keep them separate). llvm-svn: 252957
* Revert "Remove unnecessary call to getAllocatableRegClass"Tom Stellard2015-11-126-17/+23
| | | | | | | | | | | | | This reverts commit r252565. This also includes the revert of the commit mentioned below in order to avoid breaking tests in AMDGPU: Revert "AMDGPU: Set isAllocatable = 0 on VS_32/VS_64" This reverts commit r252674. llvm-svn: 252956
* Additional tests from r252690 that I forgot to 'svn add'.Richard Smith2015-11-122-0/+45
| | | | | | From a patch by Nicholas Allegra! llvm-svn: 252955
* Add debug trace message for hierarchical barrierJonathan Peyton2015-11-121-0/+2
| | | | | | Trace when thread is waiting at join phase for oncore children. llvm-svn: 252954
* Remove outdated commentJonathan Peyton2015-11-121-3/+0
| | | | llvm-svn: 252953
* Fix for ittnotify loop reportingJonathan Peyton2015-11-121-1/+3
| | | | | | | | Fix ittnotify loop metadata reporting for schedule(runtime) and chunked schedule set via OMP_SCHEDULE. The bug was that chunk=1 reported always. llvm-svn: 252952
* Revert r252949.Akira Hatanaka2015-11-129-230/+45
| | | | | | It broke some of the bots including clang-x64-ninja-win7. llvm-svn: 252951
* Implement RegisterContext for Mini Dumps.Adrian McCarthy2015-11-1216-307/+304
| | | | | | Differential Revision: http://reviews.llvm.org/D14591 llvm-svn: 252950
* Provide a way to specify inliner's attribute compatibility and mergingAkira Hatanaka2015-11-129-45/+230
| | | | | | | | | | | | rules using table-gen. NFC. This commit adds new classes CompatRule and MergeRule to Attributes.td, which are used to generate code to check attribute compatibility and merge attributes of the caller and callee. rdar://problem/19836465 llvm-svn: 252949
* Revert r243347 "Add TargetTransformInfo::isZExtFree."Sanjoy Das2015-11-124-19/+0
| | | | | | | | | | | r243347 was intended to support a change to LSR (r243348). That change to LSR has since had to be reverted (r243939) because it was buggy, and now the code added in r243347 is untested and unexercised. Given that, I think it is appropriate to revert r243347 for now, with the intent of adding it back in later if I get around to checking in a fixed version of r243348. llvm-svn: 252948
* [ImplicitNulls] Fix wrapping by breaking up a condition, NFCSanjoy Das2015-11-121-4/+4
| | | | llvm-svn: 252947
* [ImplicitNull] Extract out a HazardDetector class, NFCSanjoy Das2015-11-121-53/+96
| | | | | | This will make later functional changes easier to follow. llvm-svn: 252946
* disabling sancov tests: too many failures on different platforms.Mike Aizatsky2015-11-122-0/+0
| | | | | | Differential Revision: http://reviews.llvm.org/D14624 llvm-svn: 252945
* sancov tests - platform independent separatorsMike Aizatsky2015-11-121-4/+4
| | | | llvm-svn: 252943
* [FIX] Bail if access function is not divisible by element size.Johannes Doerfert2015-11-123-5/+38
| | | | llvm-svn: 252942
OpenPOWER on IntegriCloud