summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Enable test_lldbmi_settings_set_target_run_args_before on linuxPavel Labath2016-02-041-1/+0
| | | | | | Test has passed last 200 runs of the build bot. llvm-svn: 259777
* [OPENMP 4.0] Fixed support of array sections/array subscripts.Alexey Bataev2016-02-0410-116/+353
| | | | | | Codegen for array sections/array subscripts worked only for expressions with arrays as base. Patch fixes codegen for bases with pointer/reference types. llvm-svn: 259776
* Mark TestProcessIO as flaky on androidPavel Labath2016-02-041-1/+5
| | | | | | | previously, I have marked only one test as flaky, but now I noticed another test failing with the same error. I am going to assume all of them are flaky. llvm-svn: 259775
* Add verbose logging support to gdb-remote testsPavel Labath2016-02-041-7/+39
| | | | | | | | | | | | | | | | | | Summary: gdb-remote tests are not able to use the same logging mechanisms as the rest of our tests, and currently we get no host logs from them, even though the tests themselves have logging capability. This commit changes that. When user specifies that he would like to log the gdb-remote channel (--channel gdb-remote argument to dotest.py), we write detailed logs to the <TEST_ID>-host.log file, just like we would in the case of regular tests. If this argument is not specified, we only log the serious messages to stderr, which matches the existing behaviour. Reviewers: tfiala, tberghammer Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D16858 llvm-svn: 259774
* [RenderScript] Add command for recalculating allocation detailsEwan Crawford2016-02-042-0/+61
| | | | | | | | Patch replaces the --refresh flag removed in r258800 with it's own command, 'language renderscript allocation refresh'. Since there is no reason this functionality should be tied to another command as an option. The command itself simply re-JITs all our cached information about allocations. llvm-svn: 259773
* ScopInfo: Improve documentation of ScopArrayInfoTobias Grosser2016-02-041-9/+17
| | | | | | | This adds more information about how dimensions are incrementally updated and what exactly the canonical element type is. llvm-svn: 259772
* [X86] Moved SEXT -> SIGN_EXTEND_VECTOR_INREG combine into helper. NFC.Simon Pilgrim2016-02-041-60/+84
| | | | llvm-svn: 259771
* [X86] Use hash table in LEA optimization pass.Andrey Turetskiy2016-02-041-150/+247
| | | | | | | | Use hash table (key is a memory operand) to store found LEA instructions to reduce compile time. Differential Revision: http://reviews.llvm.org/D16404 llvm-svn: 259770
* Add -nocudainc option to CUDA preprocessor test.Samuel Antao2016-02-041-5/+5
| | | | | | | | | If include files are used in the CUDA preprocessor tests it will cause a failure due to a missing header file in hosts that do not match the triple in the test. E.g. powerpc64le have CUDA support but the include files cannot be used for an x86 target. llvm-svn: 259769
* Add 3.9 release notes documentTobias Grosser2016-02-042-0/+14
| | | | llvm-svn: 259768
* Add 'Using Polly with Clang' to SpinxTobias Grosser2016-02-042-0/+154
| | | | llvm-svn: 259767
* cmake: Add a flag to enable LTOJustin Bogner2016-02-042-0/+11
| | | | | | | This adds -DLLVM_ENABLE_LTO, rather than forcing people to manually add -flto to the various _FLAGS variables. llvm-svn: 259766
* Add Sphinx configurationTobias Grosser2016-02-042-0/+250
| | | | | | This just adds the basic configuration with an empty index/welcome page llvm-svn: 259765
* Add basic doxygen infrastructure for PollyTobias Grosser2016-02-043-0/+2409
| | | | llvm-svn: 259764
* [Support] Use range-based for loop. NFCCraig Topper2016-02-041-3/+1
| | | | llvm-svn: 259763
* [Support] Use hexdigit instead of manually coding the same thing. NFCCraig Topper2016-02-041-2/+2
| | | | llvm-svn: 259762
* www: Remove some spacesTobias Grosser2016-02-041-2/+2
| | | | llvm-svn: 259761
* www: Add Michael's thesisTobias Grosser2016-02-041-0/+9
| | | | llvm-svn: 259760
* www: Add Felix-Antoine's master thesisTobias Grosser2016-02-041-0/+8
| | | | llvm-svn: 259759
* www: Drop outdated dragonegg documentationTobias Grosser2016-02-042-73/+0
| | | | | | | | | | Even though the commands still work, dragonegg has not been updated to work with recent versions of LLVM. Consequently, only very old Polly versions (which we do not support any more), can be used in this way. This simplifies our documentation page. llvm-svn: 259758
* Update to isl-0.16.1-20-gee54b48Tobias Grosser2016-02-0415-119/+1875
| | | | | | | | | | | | | | | | | | | | This includes some (optional) improvements to the isl scheduler, which we do not use yet, as well as a fix for a bug previously also affecting Polly: commit 662ee9b7d45ebeb7629b239d3ed43442e25bf87c Author: Sven Verdoolaege <skimo@kotnet.org> Date: Mon Jan 25 16:59:32 2016 +0100 isl_basic_map_realign: perform Gaussian elimination on result Many parts of isl assume that Gaussian elimination has been applied to the equality constraints. In particular singleton_extract_point makes this assumption. The input to singleton_extract_point may have undergone parameter alignment. This parameter alignment (ultimately performed by isl_basic_map_realign) therefore needs to make sure the result preserves this property llvm-svn: 259757
* [PGO] Profile interface cleanupXinliang David Li2016-02-044-25/+38
| | | | | | | - Remove unused valuemapper parameter - add totalcount optional parameter llvm-svn: 259756
* [TSan] Fix PrintMatchedSuppressions: Read hit count for suppression atomicallyMohit K. Bhakkad2016-02-041-2/+2
| | | | | | | | Reviewers: dvyukov. Subscribers: jaydeep, sagar, dsanders, llvm-commits. Differential Revision: http://reviews.llvm.org/D16845 llvm-svn: 259755
* Basic: mark TLS as supported on Windows on ARMSaleem Abdulrasool2016-02-042-1/+5
| | | | | | | LLVM can now lower TLS access as per the MS ABI on ARM. This enables the generation of TLS access for Windows on ARM. llvm-svn: 259751
* PR23057: fix use-after-free due to local token buffer in ↵Alexey Bataev2016-02-042-1/+28
| | | | | | | | | | ParseCXXAmbiguousParenExpression, by Dmitry Polukhin Differential Revision: http://reviews.llvm.org/D16572 A test/Parser/cxx-ambig-paren-expr-asan.cpp M lib/Parse/ParseExprCXX.cpp llvm-svn: 259750
* [NVPTX] Disable performance optimizations when OptLevel==NoneJingyue Wu2016-02-042-21/+48
| | | | | | | | | | Reviewers: jholewinski, tra, eliben Subscribers: jholewinski, llvm-commits Differential Revision: http://reviews.llvm.org/D16874 llvm-svn: 259749
* Use unsigned long long instead of uint64_t to appease botsPete Cooper2016-02-041-1/+1
| | | | llvm-svn: 259748
* Add test missed from r259746Pete Cooper2016-02-041-0/+28
| | | | llvm-svn: 259747
* Add support for the source_version cmdline option.Pete Cooper2016-02-046-0/+67
| | | | | | | | | This is of the form A.B.C.D.E and to match ld64's behaviour, is always output to files, even when the version is 0. rdar://problem/24472630 llvm-svn: 259746
* [asan] fix the non-x86 buildKostya Serebryany2016-02-042-0/+5
| | | | llvm-svn: 259745
* Set S_ATTR_SOME_INSTRUCTIONS on __text section.Pete Cooper2016-02-042-1/+31
| | | | | | | | | ld64 sets both S_ATTR_PURE_INSTRUCTIONS and S_ATTR_SOME_INSTRUCTIONS on __TEXT, __text. We only had the S_ATTR_PURE_INSTRUCTIONS attribute. rdar://problem/24495801 llvm-svn: 259744
* Generate version min load commands when the platform is unknown.Pete Cooper2016-02-049-32/+184
| | | | | | | | | | | In the case where we are emitting to an object file, the platform is possibly unknown, and the source object files contained load commands for version min, we can take the maximum of those min versions and emit in in the output object file. This test also tests r259739. llvm-svn: 259742
* [asan] When catching a signal caused by a memory access, print if it's a ↵Kostya Serebryany2016-02-047-8/+50
| | | | | | READ or a WRITE. This touches win/mac files which I have not tested, if a win/mac bot fails I'll try to quick-fix llvm-svn: 259741
* Test case for PR 26381Nemanja Ivanovic2016-02-041-0/+8
| | | | llvm-svn: 259740
* Default to an unknown OS instead of MacOSX.Pete Cooper2016-02-042-19/+25
| | | | | | | | | | | | Defaulting to unknown matches ld64, but it also makes sure that all of our code can handle not knowing the platform. For example, a later commit will add support for version min load commands with an unknown platform, which is a feature supported by ld64. No test case here. The next commit will have one with the version min code that needed this patch. llvm-svn: 259739
* Fix a little threading thinko in StartPrivateStateThread - don't pass stack ↵Jim Ingham2016-02-042-5/+10
| | | | | | | | | | variables as args to a pthread_create function... <rdar://problem/24485206> llvm-svn: 259738
* Polly tests update contributed by Tobias Grosser for SCEV patch in r259736.Wei Mi2016-02-042-5/+6
| | | | llvm-svn: 259737
* [SCEV] Try to reuse existing value during SCEV expansionWei Mi2016-02-0412-30/+207
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current SCEV expansion will expand SCEV as a sequence of operations and doesn't utilize the value already existed. This will introduce redundent computation which may not be cleaned up throughly by following optimizations. This patch introduces an ExprValueMap which is a map from SCEV to the set of equal values with the same SCEV. When a SCEV is expanded, the set of values is checked and reused whenever possible before generating a sequence of operations. The original commit triggered regressions in Polly tests. The regressions exposed two problems which have been fixed in current version. 1. Polly will generate a new function based on the old one. To generate an instruction for the new function, it builds SCEV for the old instruction, applies some tranformation on the SCEV generated, then expands the transformed SCEV and insert the expanded value into new function. Because SCEV expansion may reuse value cached in ExprValueMap, the value in old function may be inserted into new function, which is wrong. In SCEVExpander::expand, there is a logic to check the cached value to be used should dominate the insertion point. However, for the above case, the check always passes. That is because the insertion point is in a new function, which is unreachable from the old function. However for unreachable node, DominatorTreeBase::dominates thinks it will be dominated by any other node. The fix is to simply add a check that the cached value to be used in expansion should be in the same function as the insertion point instruction. 2. When the SCEV is of scConstant type, expanding it directly is cheaper than reusing a normal value cached. Although in the cached value set in ExprValueMap, there is a Constant type value, but it is not easy to find it out -- the cached Value set is not sorted according to the potential cost. Existing reuse logic in SCEVExpander::expand simply chooses the first legal element from the cached value set. The fix is that when the SCEV is of scConstant type, don't try the reuse logic. simply expand it. Differential Revision: http://reviews.llvm.org/D12090 llvm-svn: 259736
* Fix undefined behavior when compiling in C++14 mode (with sized deletionRichard Smith2016-02-041-0/+8
| | | | | | | enabled): ensure that we do not invoke the sized deallocator for MemoryBuffer subclasses that have tail-allocated data. llvm-svn: 259735
* Fix predefine for __NSConstantString struct typeBen Langmuir2016-02-0411-39/+64
| | | | | | | | | | | | | | | | | Per review feedback the name was wrong and it can be used outside Objective-C. Unfortunately, making the internal struct visible broke some ASTMatchers tests that assumed that the first record decl would be from user code, rather than a builtin type. I'm worried that this will also affect users' code. So this patch adds a typedef to wrap the internal struct and only makes the typedef visible to namelookup. This is sufficient to allow the ASTReader to merge the decls we need without making the struct itself visible. rdar://problem/24425801 llvm-svn: 259734
* [codeview] Don't attempt a cross-section label diffReid Kleckner2016-02-042-5/+82
| | | | | | | | This only comes up when we're trying to find the next .cv_loc label. Fixes PR26467 llvm-svn: 259733
* [libFuzzer] hot fix a testKostya Serebryany2016-02-041-1/+1
| | | | llvm-svn: 259732
* [libFuzzer] don't write the test unit when a leak is detected (since we ↵Kostya Serebryany2016-02-044-0/+16
| | | | | | don't know which unit causes the leak) llvm-svn: 259731
* [SimplifyCFG] Fix for "endless" loop after dead code removal (Alternative toGerolf Hoflehner2016-02-032-2/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | D16251) Summary: This is a simpler fix to the problem than the dominator approach in http://reviews.llvm.org/D16251. It adds only values into the gather() while loop that have been seen before. The actual endless loop is in the constant compare gather() routine in Utils/SimplifyCFG.cpp. The same value ret.0.off0.i is pushed back into the queue: %.ret.0.off0.i = or i1 %.ret.0.off0.i, %cmp10.i Here is what happens at the IR level: for.cond.i: ; preds = %if.end6.i, %if.end.i54 %ix.0.i = phi i32 [ 0, %if.end.i54 ], [ %inc.i55, %if.end6.i ] %ret.0.off0.i = phi i1 [false, %if.end.i54], [%.ret.0.off0.i, %if.end6.i] <<< %cmp2.i = icmp ult i32 %ix.0.i, %11 br i1 %cmp2.i, label %for.body.i, label %LBJ_TmpSimpleNeedExt.exit if.end6.i: ; preds = %for.body.i %cmp10.i = icmp ugt i32 %conv.i, %add9.i %.ret.0.off0.i = or i1 %ret.0.off0.i, %cmp10.i <<< When if.end.i54 gets eliminated which removes the definition of ret.0.off0.i. The result is the expression %.ret.0.off0.i = or i1 %.ret.0.off0.i, %cmp10.i (Note the first ‘or’ operand is now %.ret.0.off0.i, and *NOT* %ret.0.off0.i). And now there is use of .ret.0.off0.i before a definition which triggers the “endless” loop in gather(): while(!DFT.empty()) { V = DFT.pop_back_val(); // V is .ret.0.off0.i if (Instruction *I = dyn_cast<Instruction>(V)) { // If it is a || (or && depending on isEQ), process the operands. if (I->getOpcode() == (isEQ ? Instruction::Or : Instruction::And)) { DFT.push_back(I->getOperand(1)); // This is now .ret.0.off0.i also DFT.push_back(I->getOperand(0)); continue; // “endless loop” for .ret.0.off0.i } Reviewers: reames, ahatanak Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D16839 llvm-svn: 259730
* Add support for -sdk_version cmdline option.Pete Cooper2016-02-036-1/+61
| | | | | | | | | | | | This option is emitted in the min_version load commands. Note, there's currently a difference in behaviour compared to ld64 in that we emit a warning if we generate a min_version load command and didn't give an sdk_version. We need to decide what the correct behaviour is here as its possible we want to emit an error and force clients to provide the option. llvm-svn: 259729
* Bump DiagnosticSemaKinds count; we're close to hitting it.Manman Ren2016-02-031-1/+1
| | | | | | | | | $ grep '= DIAG_START_SEMA' include/clang/Basic/DiagnosticIDs.h DIAG_START_ANALYSIS = DIAG_START_SEMA + 3000 $ grep 'def ' include/clang/Basic/DiagnosticSemaKinds.td | wc -l 2994 llvm-svn: 259728
* [InstrProfiling] Fix a comment (NFC)Vedant Kumar2016-02-031-1/+1
| | | | llvm-svn: 259727
* Unify the target opcode enum in TargetOpcodes.h and the FixedInstrs array inDavid L Kreitzer2016-02-033-142/+158
| | | | | | | | CodeGenTarget.cpp to avoid the ordering dependence. NFCI. Differential Revision: http://reviews.llvm.org/D16826 llvm-svn: 259726
* Minor code cleanups. NFC.Junmo Park2016-02-031-18/+18
| | | | llvm-svn: 259725
* Fix missing module qualification of subprocess.PIPE.Zachary Turner2016-02-031-1/+1
| | | | llvm-svn: 259724
OpenPOWER on IntegriCloud