summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Verifier: Sink filename check into visitMDCompositeType(), NFCDuncan P. N. Exon Smith2015-07-241-19/+6
| | | | | | | | We really only want to check this for unions and classes (all the other tags have been ruled out), so simplify the check and move it to the right place. llvm-svn: 243150
* Verifier: Remove unnecessary references to DW_TAG_subroutine_type, NFCDuncan P. N. Exon Smith2015-07-241-2/+0
| | | | | | | | | Remove unnecessary references to `DW_TAG_subroutine_type` in `visitDICompositeType()` and `visitDIDerivedTypeBase()`, since `visitDISubroutineType()` doesn't call either of those (and shouldn't, since subroutine types are really quite special). llvm-svn: 243149
* DI: Clarify isUnsignedDIType(), NFCDuncan P. N. Exon Smith2015-07-241-17/+18
| | | | | | | | | | | | Refactor `isUnsignedDIType()` to deal with `DICompositeType` explicitly. Since `DW_TAG_subroutine_type` isn't handled here (the assertions about tags rule it out), this allows strengthening the `dyn_cast` to `DIDerivedType`. Besides making the code clearer, this it removes a use of `DIDerivedTypeBase`. llvm-svn: 243148
* [libunwind] Flip order of extern "C" and attribute(visibility)Renato Golin2015-07-241-1/+1
| | | | | | | GCC doesn't seems to like having the attribute before extern, but Clang accepts it either way. This patch makes it compile on both. llvm-svn: 243147
* Add const to some Type* parameters which didn't need to be mutable. NFC.Pete Cooper2015-07-242-10/+10
| | | | | | | We were only getting the size of the type which doesn't need to modify the type. llvm-svn: 243146
* Remove unused variable. NFC.Diego Novillo2015-07-241-1/+0
| | | | llvm-svn: 243145
* Base the sys-root/mingw/include path on sysroot and not on /usr.Yaron Keren2015-07-242-2/+2
| | | | | | Thanks to Richard Smith for pointing this out! llvm-svn: 243144
* DI: Strengthen some dyn_casts to DIDerivedType, NFCDuncan P. N. Exon Smith2015-07-241-2/+2
| | | | | | | | The surrounding code proves in both cases that these must be `DIDerivedType` if they're `DIDerivedTypeBase`, so strengthen the `dyn_cast`s to the more specific type. llvm-svn: 243143
* Compile fix; add missing ISL filesMichael Kruse2015-07-242-0/+662
| | | | | | The last ISL update added two files that we must also add to Polly. llvm-svn: 243142
* Remove the user-count threshold when analyzing read attributesJingyue Wu2015-07-241-3/+0
| | | | | | | | | | | | | | | | | | | | | | | Summary: This threshold limited FunctionAttrs ability to prove arguments to be read-only. In NVPTX, a specialized instruction ld.global.nc can be used to load memory with non-coherent texture cache. We notice that in SHOC [1] benchmark, some function arguments are not marked with readonly because FunctionAttrs reaches a hardcoded threshold when analysis uses. Removing this threshold won't cause significant regression in compilation time, because the worst-case time complexity of the algorithm is still O(# of instructions) for each parameter. Patched by Xuetian Weng. [1] https://github.com/vetter/shoc Reviewers: nlewycky, jingyue, nicholas Subscribers: nicholas, test, llvm-commits Differential Revision: http://reviews.llvm.org/D11311 llvm-svn: 243141
* [RewriteStatepointsForGC] Adjust naming scheme to be more stablePhilip Reames2015-07-248-28/+33
| | | | | | The names for instructions inserted were previous dependent on iteration order. By deriving the names from the original instructions, we can avoid instability in tests without resorting to ordered traversals. It also makes the IR mildly easier to read at large scale. llvm-svn: 243140
* [asan] Only link liblog on Android when it exists.Evgeniy Stepanov2015-07-244-4/+4
| | | | | | With r242975, liblog is only used on certain older platforms. llvm-svn: 243139
* DI: Strengthen block-byref cast to DIDerivedType, NFCDuncan P. N. Exon Smith2015-07-241-1/+1
| | | | | | | This code is visiting the members of a block-byref, and we know those are all `DIDerivedType`. Strengthen the cast. llvm-svn: 243138
* [asan] Fix android system property access on aarch64.Evgeniy Stepanov2015-07-241-4/+4
| | | | | | | __system_property_get is gone from the NDK headers and libs in 64-bit toolchains, but it is still exported by platform libc.so. llvm-svn: 243137
* Use foreach loops for StructType::elements(). NFC.Pete Cooper2015-07-243-8/+8
| | | | | | | | | | | | We had a few places where we did for (unsigned i = 0, e = STy->getNumElements(); i != e; ++i) { but those could instead do for (auto *EltTy : STy->elements()) { llvm-svn: 243136
* Add const to a bunch of Type* in DataLayout. NFC.Pete Cooper2015-07-242-31/+31
| | | | | | | | Almost all methods in DataLayout took mutable pointers but didn't need to. These were only accessing constant methods of the types, or using the Type* to key a map. Neither of these needs a mutable pointer. llvm-svn: 243135
* DI: Only DICompositeType has getElements(), NFCDuncan P. N. Exon Smith2015-07-242-2/+2
| | | | | | | | There is an assertion inside `DICompositeTypeBase::getElements()` that `this` is not a `DISubroutineType`, leaving only `DICompositeType`. Make that clear at the call sites. llvm-svn: 243134
* Correct x86_64 Android fp128 mangled nameChih-Hung Hsieh2015-07-242-0/+26
| | | | | | | | | | These changes are for Android x86_64 targets to be compatible with current Android g++. https://llvm.org/bugs/show_bug.cgi?id=23897 Use 'g' and 'Cg' for "long double" and "long double _Complex" mangled type names. Differential Revision: http://reviews.llvm.org/D11466 llvm-svn: 243133
* Fix double implementation of logTom Stellard2015-07-244-3/+73
| | | | | | We need to use M_LOG2E instead of M_LOG2E_F. llvm-svn: 243132
* Implement accurate log2 functionTom Stellard2015-07-248-6/+517
| | | | | | | | | Use the implementation was ported from the AMD builtin library rather than LLVM Intrinsics. This has been tested with piglit, OpenCV, and the ocl conformance tests. llvm-svn: 243131
* Use llvm intrinsics for native_log and native_log2Tom Stellard2015-07-249-2/+216
| | | | llvm-svn: 243130
* DI: Make StaticDataMemberCache type-safe, NFCDuncan P. N. Exon Smith2015-07-242-3/+4
| | | | | | | Change `StaticDataMemberCache` to store references to `DIDerivedType` directly, and remove now-unnecessary casts from the accessors. llvm-svn: 243129
* MIR Parser: Run the machine verifier after initializing machine functions.Alex Lorenz2015-07-243-4/+31
| | | | llvm-svn: 243128
* [RuntimeDyld] MachO: Add support for ARM scattered vanilla relocations.Lang Hames2015-07-245-38/+53
| | | | llvm-svn: 243126
* Test commit.Chih-Hung Hsieh2015-07-241-3/+3
| | | | llvm-svn: 243125
* MIR Tests: Add liveins and successors to make tests pass with machine verifier.Alex Lorenz2015-07-2410-0/+15
| | | | | | | | This commit adds the liveins and successors properties to machine basic blocks in some of the MIR tests to ensure that the tests will pass when the MIR parser will run the machine verifier after initializing a machine function. llvm-svn: 243124
* MIR Tests: Make the basic block successor test an X86 specific test.Alex Lorenz2015-07-242-58/+80
| | | | | | | | | | | This commit moves and transforms the generic test 'CodeGen/MIR/successor-basic-blocks.mir' into an X86 specific test 'CodeGen/MIR/X86/successor-basic-blocks.mir'. This change is required in order to enable the machine verifier for the MIR parser, as the machine verifier verifies that the machine basic blocks contain instructions that actually determine the machine basic block successors. llvm-svn: 243123
* AVX-512: Implemented encoding , DAG lowering and intrinsics for Integer ↵Igor Breger2015-07-2418-137/+4657
| | | | | | | | | | Truncate with/without saturation Added tests for DAG lowering ,encoding and intrinsic Differential Revision: http://reviews.llvm.org/D11218 llvm-svn: 243122
* Update for r243115 which changed the DataLayout API on TargetMachine butChandler Carruth2015-07-241-2/+1
| | | | | | didn't update the gold-plugin. llvm-svn: 243121
* [test] Attempt to fix failing test in non-darwin bots.Argyrios Kyrtzidis2015-07-241-2/+2
| | | | llvm-svn: 243120
* [code-completion] Strip outer nullability annotations when completing method ↵Argyrios Kyrtzidis2015-07-243-9/+14
| | | | | | | | | | | | implementations. The outer nullability is transferred from the declaration to the implementation so including them is redundant. The inner ones are not transferred so they are kept to match the exact types. When we transfer the inner ones as well adding them in the implementation will become redundant and we should strip those as well. rdar://21737451 llvm-svn: 243119
* Bind to the loopback when we are expecting a connection from 127.0.0.1 so we ↵Greg Clayton2015-07-241-9/+18
| | | | | | | | don't set off firewall protections. <rdar://problem/17897318> llvm-svn: 243118
* test-release.sh: Defer test errors until the endHans Wennborg2015-07-241-4/+27
| | | | | | | | | | | | | This makes the script run to the end and produce tarballs even on test failures, and then highlights any errors afterwards. (I first tried just storing the errors in a global variable, but that didn't work as the "test_llvmCore" function invocation is actually running as a sub-shell.) Differential Revision: http://reviews.llvm.org/D11478 llvm-svn: 243116
* LLVM API Change: the Module always owns the DataLayoutMehdi Amini2015-07-249-38/+24
| | | | | From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 243115
* Remove access to the DataLayout in the TargetMachineMehdi Amini2015-07-2417-61/+75
| | | | | | | | | | | | | | | | | | | | | | Summary: Replace getDataLayout() with a createDataLayout() method to make explicit that it is intended to create a DataLayout only and not accessing it for other purpose. This change is the last of a series of commits dedicated to have a single DataLayout during compilation by using always the one owned by the module. Reviewers: echristo Subscribers: jholewinski, llvm-commits, rafael, yaron.keren Differential Revision: http://reviews.llvm.org/D11103 (cherry picked from commit 5609fc56bca971e5a7efeaa6ca4676638eaec5ea) From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 243114
* fix wrong comment; NFCSanjay Patel2015-07-241-1/+1
| | | | llvm-svn: 243113
* Correcting some comments. (1) the function is named throughUsingDecl() and ↵Aaron Ballman2015-07-241-3/+1
| | | | | | not throughUsingDeclaration(). (2) Testing shows that this does work for shadowed variables as well as shadowed functions. I could not find an example where this matcher was failing. NFC. llvm-svn: 243111
* Update isl to isl-0.15-86-g595055eTobias Grosser2015-07-2421-391/+352
| | | | | | | Besides a couple of cleanups and refactorings in isl, this change set fixes a couple of bugs in isl, that can cause issues during code generation. llvm-svn: 243110
* Silence a "not all control paths return a value" warning from MSVC. Should ↵Aaron Ballman2015-07-241-1/+2
| | | | | | also silence a -Wreturn-type warning. NFC intended. llvm-svn: 243109
* Visual Studio is more permissive than other compilers; amends r243107 to fix ↵Aaron Ballman2015-07-241-1/+1
| | | | | | a compile error. llvm-svn: 243108
* Add an AST matcher, isFinal(), for testing whether a method or class ↵Aaron Ballman2015-07-244-0/+62
| | | | | | declaration are marked final. llvm-svn: 243107
* llvm/test/tools/dsymutil/ARM/lit.local.cfg: Fix possibly typo, s/X86/ARM/.NAKAMURA Takumi2015-07-241-1/+1
| | | | llvm-svn: 243106
* Apparently some of the bots add .svn dirs inside the test/Driver/Inputs Yaron Keren2015-07-241-22/+28
| | | | | | directory structure. Try to make mingw toolchain resilient to such surprises. llvm-svn: 243105
* Initialize variable to prevent garbage values (RenderScriptRuntime)Ewan Crawford2015-07-241-1/+1
| | | | | | | | | | | The kernels_found variable is not initialized, so if it is not assigned true on line 823, then it will be a garbage value in the branch condition on line 828. This patch initializes the variable to false. Patch by neilparikh. Reviewers: domipheus Differential Revision: http://reviews.llvm.org/D11323 llvm-svn: 243104
* [ARM] - Fix lowering of shufflevectors in AArch32Luke Cheeseman2015-07-245-38/+221
| | | | | | | | | | | | | | | | | | | Some shufflevectors are currently being incorrectly lowered in the AArch32 backend as the existing checks for detecting the NEON operations from the shufflevector instruction expects the shuffle mask and the vector operands to be of the same length. This is not always the case as the mask may be twice as long as the operand; here only the lower half of the shufflemask gets checked, so provided the lower half of the shufflemask looks like a vector transpose (or even is just all -1 for undef) then the intrinsics may get incorrectly lowered into a vector transpose (VTRN) instruction. This patch fixes this by accommodating for both cases and adds regression tests. Differential Revision: http://reviews.llvm.org/D11407 llvm-svn: 243103
* Revert "Fix an issue where LLDB would run out of stack space ..."Pavel Labath2015-07-245-14/+12
| | | | | | | | | | This commit introduced an infinite recursion in ValueObjectChild::CanUpdateWithInvalidExecutionContext (because FollowParentChain also considers the current object), which broke nearly all the tests. Ignoring the current object removes the recursion, but two tests still time out (TestDataFormatterLibcxxList.py and TestValueObjectRecursion.py) for some reason. Reverting for now. llvm-svn: 243102
* Try to appease clang buildbot by forcing libstdc++ in mingw.cpp test.Yaron Keren2015-07-241-6/+6
| | | | llvm-svn: 243101
* When lowering vector shifts a check is performed to see if the value to shift byLuke Cheeseman2015-07-243-17/+27
| | | | | | | | | | | | is an immediate, in this check the value is negated and stored in and int64_t. The value can be -2^63 yet the result cannot be stored in an int64_t and this gives some undefined behaviour causing failures. The negation is only necessary when the values is within a certain range and so it should not need to negate -2^63, this patch introduces this and also a regression test. Differential Revision: http://reviews.llvm.org/D11408 llvm-svn: 243100
* Improve C++ function name handling and step-in avoid regerxp handlingTamas Berghammer2015-07-246-17/+78
| | | | | | | | | | | | | | | | | | | If the function is a template then the return type is part of the function name. This CL fixes the parsing of these function names in the case when the return type contains ':'. The name of free functions in C++ don't have context part. Fix the logic geting the function name without arguments out from a full function name to handle this case. Change the handling of step-in-avoid-regexp to match the value against the function name without it's arguments and return value. This is required because the default regex ("^std::") would match any template function returning an std object. Fifferential revision: http://reviews.llvm.org/D11461 llvm-svn: 243099
* Add extensive tests for the mingw toolchain and remove trailing slash from Arch.Yaron Keren2015-07-2431-88/+99
| | | | | | | | Address Richard Smith comments: remove the trailing seperator from the Arch variable, implement six mingw_* trees under tools/clangtest/Driver/Inputs and merge linux and Windows tests into a universal test that uses these trees. llvm-svn: 243098
OpenPOWER on IntegriCloud