summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [llvm-dwarfdump] - Attemp to fix BB after r310915.George Rimar2017-08-151-1/+1
| | | | | | | Now MIPS one is unhappy: http://lab.llvm.org:8011/builders/llvm-mips-linux/builds/2221 llvm-svn: 310928
* Remove -finclude-default-header in OpenCL atomic testsYaxun Liu2017-08-153-8/+67
| | | | | | Differential Revision: https://reviews.llvm.org/D36676 llvm-svn: 310927
* [Doc] Update LangRef for new Module Flag BehaviorSteven Wu2017-08-151-0/+4
| | | | | | | | | | | | | | | | Summary: Add the documentation for the new module flag behavior. The new ModFlagBehavior is added in r303590. Reviewers: tejohnson Reviewed By: tejohnson Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D36557 llvm-svn: 310926
* Remove SymbolTable::findInCurrentDSO.Rui Ueyama2017-08-153-12/+6
| | | | | | | This function doesn't seem to add value to the symbol table as it is easy to write code without it. llvm-svn: 310925
* [OpenCL] Support variable memory scope in atomic builtinsYaxun Liu2017-08-1510-87/+350
| | | | | | Differential Revision: https://reviews.llvm.org/D36580 llvm-svn: 310924
* [llvm-dwarfdump] - Refactor section name/uniqueness gathering.George Rimar2017-08-154-18/+26
| | | | | | | | | | | As was requested in D36313 thread, with this patch section names and uniqueness calculated once, and not every time when a range is dumped. Differential revision: https://reviews.llvm.org/D36740 llvm-svn: 310923
* Revert r310919 - [globalisel][tablegen] Support zero-instruction emission.Daniel Sanders2017-08-154-170/+61
| | | | | | | | | | As expected, this failed on the windows bots but the instrumentation showed something interesting. The ADD8ri and INC8r rules are never directly compared on the windows machines. That implies that the issue lies in transitivity of the Compare predicate. I believe I've already verified that but maybe I missed something. llvm-svn: 310922
* Allow pretty platform names in availability attributesAlex Lorenz2017-08-156-15/+31
| | | | | | rdar://32076651 llvm-svn: 310921
* [OPENMP] Fix compiler crash on argument translate for NVPTX.Alexey Bataev2017-08-152-0/+24
| | | | | | | | When translating arguments for NVPTX target it is not taken into account that function may have variable number of arguments. Patch fixes this problem. llvm-svn: 310920
* Re-commit with some instrumentation: [globalisel][tablegen] Support ↵Daniel Sanders2017-08-154-61/+170
| | | | | | | | | | | | | | | | | | | | | | | | | zero-instruction emission. Summary: Support the case where an operand of a pattern is also the whole of the result pattern. In this case the original result and all its uses must be replaced by the operand. However, register class restrictions can require a COPY. This patch handles both cases by always emitting the copy and leaving it for the register allocator to optimize. The previous commit failed on the windows bots and this one is likely to fail on those same bots. However, the added instrumentation should reveal a particular isHigherPriorityThan() evaluation which I'm expecting to expose that these machines are weighing priority of two rules differently from the non-windows machines. Reviewers: ab, t.p.northover, qcolombet, rovka, aditya_nandakumar Subscribers: javed.absar, kristof.beyls, igorb, llvm-commits Differential Revision: https://reviews.llvm.org/D36084 llvm-svn: 310919
* [DebugInfo] - Attemp to fix BB after r310915.George Rimar2017-08-151-0/+1
| | | | | | | | | | | | | | | | | Not sure what BB does not like. While building module 'LLVM_DebugInfo_DWARF' imported from /home/buildbot/modules-slave-2/clang-x86_64-linux-selfhost-modules-2/llvm.src/lib/DebugInfo/DWARF/DWARFAbbreviationDeclaration.cpp:10: In file included from <module-includes>:7: In file included from /home/buildbot/modules-slave-2/clang-x86_64-linux-selfhost-modules-2/llvm.src/include/llvm/DebugInfo/DWARF/DWARFContext.h:29: /home/buildbot/modules-slave-2/clang-x86_64-linux-selfhost-modules-2/llvm.src/include/llvm/DebugInfo/DWARF/DWARFObject.h:30:17: error: declaration of 'object' must be imported from module 'LLVM_Object.Decompressor' before it is required virtual const object::ObjectFile *getFile() const { return nullptr; } ^ /home/buildbot/modules-slave-2/clang-x86_64-linux-selfhost-modules-2/llvm.src/include/llvm/Object/Decompressor.h:18:11: note: previous declaration is here namespace object { http://lab.llvm.org:8011/builders/clang-x86_64-linux-selfhost-modules-2/builds/10766 llvm-svn: 310918
* [RISCV] Add RISCVInstPrinter and basic MC assembler testsAlex Bradbury2017-08-1511-4/+237
| | | | | | | | | With the addition of RISCVInstPrinter, it is now possible to test the basic operation of the RISCV MC layer. Differential Revision: https://reviews.llvm.org/D23564 llvm-svn: 310917
* [Sema] Silence -Wobjc-missing-property-synthesis for unavailable propertiesAlex Lorenz2017-08-152-2/+16
| | | | | | rdar://30296911 llvm-svn: 310916
* [llvm-dwarfdump] - Print section name and index when dumping .debug_info rangesGeorge Rimar2017-08-155-21/+81
| | | | | | | | | Teaches llvm-dwarfdump to print section index and name of range when it dumps .debug_info. Differential revision: https://reviews.llvm.org/D36313 llvm-svn: 310915
* [RISCV] Recognize new relocation typesAlex Bradbury2017-08-151-0/+9
| | | | | | | | | | | This patch adds all RISC-V relocation types, as of binutils 2.29. Note that R_RISCV32_PCREL is not currently documented in the RISC-V ELF PSABI. Differential Revision: https://reviews.llvm.org/D36455 Patch by Chih-Mao Chen (@PkmX) llvm-svn: 310914
* Revert: Enable profile on NetBSDKamil Rytarowski2017-08-152-2/+2
| | | | | | | | Requested by V.Kumar. Not all tests pass. llvm-svn: 310912
* [OpenCL] Allow targets to select address space per typeSven van Haastregt2017-08-159-45/+82
| | | | | | | | | | | | | Generalize getOpenCLImageAddrSpace into getOpenCLTypeAddrSpace, such that targets can select the address space per type. No functional changes intended. Initial patch by Simon Perretta. Differential Revision: https://reviews.llvm.org/D33989 llvm-svn: 310911
* [LV] Minor savings to Sink casts to unravel first order recurrenceAyal Zaks2017-08-153-3/+7
| | | | | | | | | Two minor savings: avoid copying the SinkAfter map and avoid moving a cast if it is not needed. Differential Revision: https://reviews.llvm.org/D36408 llvm-svn: 310910
* [Polly] Move ScopStmt::checkForReductions to islpp. NFC.Tobias Grosser2017-08-151-18/+11
| | | | | | | | Reviewers: grosser, bollu Differential Revision: https://reviews.llvm.org/D36714 llvm-svn: 310908
* Revert r310857 due to internal test failureXinliang David Li2017-08-153-36/+13
| | | | llvm-svn: 310907
* Propagate error in LazyEmittingLayer::removeModule.Frederich Munch2017-08-151-5/+5
| | | | | | | | | | | | | | | Summary: Besides being the better thing to do, not doing so will triggers an assert with LLVM_ENABLE_ABI_BREAKING_CHECKS. Reviewers: lhames Reviewed By: lhames Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D36700 llvm-svn: 310906
* Avoid PointerIntPair of constexpr EvalInfo structsReid Kleckner2017-08-151-13/+11
| | | | | | | | | | | | | | They are stack allocated, so their alignment is not to be trusted. 32-bit MSVC only guarantees 4 byte stack alignment, even though alignof would tell you otherwise. I tried fixing this with __declspec align, but that apparently upsets GCC. Hopefully this version will satisfy all compilers. See PR32018 for some info about the mingw issues. Should supercede https://reviews.llvm.org/D34873 llvm-svn: 310905
* [SLPVectorizer] Replace VL[0] to VL0 with assert, add propagateIRFlags extra ↵Dinar Temirbulatov2017-08-151-7/+7
| | | | | | | | parameter VL0, replace E->Scalars[0] to VL0, NFCI. llvm-svn: 310904
* Revert "Fix LLVMgold plugin name/path for non-Linux."Dan Albert2017-08-151-14/+2
| | | | | | Broke a test. Will fix the test and re-land later. llvm-svn: 310903
* [CMake] Include LLVMFuzzer in Fuchsia toolchainPetr Hosek2017-08-151-0/+1
| | | | | | Differential Revision: https://reviews.llvm.org/D36541 llvm-svn: 310901
* [CMake] Add install target for LLVMFuzzerPetr Hosek2017-08-141-0/+21
| | | | | | | | This allows including LLVMFuzzer as distribution component. Differential Revision: https://reviews.llvm.org/D36540 llvm-svn: 310897
* Add missing dependency in ICP. (NFC)Dehao Chen2017-08-141-4/+9
| | | | llvm-svn: 310896
* Fix LLVMgold plugin name/path for non-Linux.Dan Albert2017-08-141-2/+14
| | | | | | | | | | | | | | | | | | Summary: It's only named LLVMgold.so on Linux. Fix the name for Windows and Darwin. Also fix the path for Windows so binutils doesn't have to. Reviewers: srhines, pirama Reviewed By: srhines Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D35739 llvm-svn: 310895
* [MachineOutliner] Only outline candidates of length >= 2Jessica Paquette2017-08-141-0/+7
| | | | | | | | | Since we don't factor in instruction lengths into outlining calculations right now, it's never the case that a candidate could have length < 2. Thus, we should quit early when we see such candidates. llvm-svn: 310894
* [InstSimplify] Teach decomposeBitTestICmp to handle non-canonical comparesCraig Topper2017-08-142-20/+36
| | | | | | | | This adds support non-canonical compare predicates. InstSimplify can't rely on canonicalization to have occurred. Differential Revision: https://reviews.llvm.org/D36646 llvm-svn: 310893
* Remove checks for debug info intrinsics in use lists, NFCReid Kleckner2017-08-143-4/+0
| | | | | | | These haven't done anything since debug info intrinsics stopped appearing in Value use lists in 2014. llvm-svn: 310892
* [MIPS] Implement support for -mstack-alignment.John Baldwin2017-08-147-16/+36
| | | | | | | | | | | | | | | | | | | | | Summary: This is modeled on the implementation for x86 which stores the command line option in a 'StackAlignOverride' field in MipsSubtarget and then uses this to compute a 'stackAlignment' value in MipsSubtarget::initializeSubtargetDependencies. The stackAlignment() method in MipsSubTarget is renamed to getStackAlignment() and returns the computed 'stackAlignment'. Reviewers: sdardis Reviewed By: sdardis Subscribers: llvm-commits, arichardson Differential Revision: https://reviews.llvm.org/D35874 llvm-svn: 310891
* [builtins] fix build error on non-ARM for r310884Weiming Zhao2017-08-141-0/+2
| | | | llvm-svn: 310890
* Recommit r310869, "[InstSimplify][InstCombine] Modify the interface of ↵Craig Topper2017-08-147-67/+65
| | | | | | | | | | | | | | | | | | | | decomposeBitTestICmp and use it in the InstSimplify" This recommits r310869, with the moved files and no extra changes. Original commit message: This addresses a fixme in InstSimplify about using decomposeBitTest. This also fixes InstSimplify to handle ugt and ult compares too. I've modified the interface a little to return only the APInt version of the mask that InstSimplify needs. InstCombine now has a small wrapper routine to create a Constant out of it. I've also dropped the returning of 0 since InstSimplify doesn't need that. So InstCombine creates a zero constant itself. I also had to make decomposeBitTest support vectors since InstSimplify needs that. As InstSimplify can't use something from the Transforms library, I've moved the CmpInstAnalysis code to the Analysis library. Differential Revision: https://reviews.llvm.org/D36593 llvm-svn: 310889
* [InlineCost] Refactor the checks for different analyses to be a bit moreChandler Carruth2017-08-142-64/+64
| | | | | | | | | | | | | | | | | | | localized to the code that uses those analyses. Technically, this can change behavior as we no longer require the existence of the ProfileSummaryInfo analysis to use local profile information via BFI. We didn't actually require the PSI to have an interesting profile though, so this only really impacts the behavior in non-default pass pipelines. IMO, this makes it substantially less surprising how everything works -- before an analysis that wasn't actually used had to exist to trigger *any* profile aware inlining. I think the new organization makes it more obvious where various checks for profile signals happen. Differential Revision: https://reviews.llvm.org/D36710 llvm-svn: 310888
* [analyzer] Fix SimpleSValBuilder::simplifySValAlexander Shaposhnikov2017-08-142-1/+9
| | | | | | | | | | This diff fixes a crash (triggered assert) on the newly added test case. In the method Simplifier::VisitSymbolData we check the type of S and return Loc/NonLoc accordingly. Differential revision: https://reviews.llvm.org/D36564 llvm-svn: 310887
* Update comments as the function does not write to the first page anymore.Rui Ueyama2017-08-141-19/+15
| | | | | | Also refactored the code a bit. llvm-svn: 310886
* Add strictfp attribute to prevent unwanted optimizations of libm callsAndrew Kaylor2017-08-1422-83/+172
| | | | | | Differential Revision: https://reviews.llvm.org/D34163 llvm-svn: 310885
* [builtins][ARM] Select correct code fragments when compiling for ↵Weiming Zhao2017-08-1416-128/+95
| | | | | | | | | | | | | | | | | | | | | | | | | Thumb1/Thum2/ARM ISA Summary: Value of __ARM_ARCH_ISA_THUMB isn't based on the actual compilation mode (-mthumb, -marm), it reflect's capability of given CPU. Due to this: •use tbumb and thumb2 insteand of __ARM_ARCH_ISA_THUMB •use '.thumb' directive consistently in all affected files •decorate all thumb functions using DEFINE_COMPILERRT_THUMB_FUNCTION() (This is based off Michal's patch https://reviews.llvm.org/D30938) Reviewers: dim, rengolin, compnerd, strejda Reviewed By: compnerd Subscribers: peter.smith, kubamracek, mgorny, javed.absar, kristof.beyls, jamesduley, aemerson, llvm-commits Differential Revision: https://reviews.llvm.org/D31220 llvm-svn: 310884
* Fix a cmake typo.Evgeniy Stepanov2017-08-141-2/+2
| | | | | | Also add "libc++" to list of property values (AFAIK that only affects the cmake gui). llvm-svn: 310883
* [libFuzzer] try to use less RAM while processing the initial corpusKostya Serebryany2017-08-141-1/+2
| | | | llvm-svn: 310881
* [libFuzzer] explicitly use -fsanitize-coverage=trace-pc-guard in ↵Kostya Serebryany2017-08-143-7/+7
| | | | | | test/dump_coverage.test; mark print_coverage/dump_coverage as To-be-deprecated llvm-svn: 310877
* IPRA: Allow target to enable IPRA by defaultMatt Arsenault2017-08-143-6/+16
| | | | llvm-svn: 310876
* IPRA: Run RegUsageInfoPropagate much laterMatt Arsenault2017-08-141-3/+3
| | | | | | | | | | | | | | This was running immediately after isel, before isel pseudos were even expanded which is really unreasonable. Move this to before pre-reglloc passes in case some other pre-regalloc pass wants to use the updated regmask info. Fixes one of the reasons IPRA doesn't do anything on AMDGPU currently. Tests will be included with future patch after a few more are fixed. llvm-svn: 310875
* [Sema] Improve some -Wunguarded-availability diagnosticsErik Pilkington2017-08-145-106/+95
| | | | | | | rdar://33543523 Differential revision: https://reviews.llvm.org/D36200 llvm-svn: 310874
* Revert r310869 "[InstSimplify][InstCombine] Modify the interface of ↵Craig Topper2017-08-147-41/+223
| | | | | | | | decomposeBitTestICmp and use it in the InstSimplify" Failed to add the two files that moved. And then added an extra change I didn't mean to while trying to fix that. Reverting everything. llvm-svn: 310873
* Revert r310870 "[InstCombine][InstSimplify] 'git add' two files that moved ↵Craig Topper2017-08-142-208/+0
| | | | | | | | in r310869." An extra change crept in here. llvm-svn: 310872
* [COFF] Add support for aligncomm directivesMartin Storsjo2017-08-149-1/+129
| | | | | | | | | | | | | | These are emitted for comm symbols in object files, when targeting a GNU environment. Alternatively, just ignore them since we already align CommonChunk to the natural size of the content (up to 32 bytes). That would only trade away the possibility to overalign small symbols, which doesn't sound like something that might not need to be handled? Differential Revision: https://reviews.llvm.org/D36304 llvm-svn: 310871
* [InstCombine][InstSimplify] 'git add' two files that moved in r310869.Craig Topper2017-08-142-0/+208
| | | | llvm-svn: 310870
* [InstSimplify][InstCombine] Modify the interface of decomposeBitTestICmp and ↵Craig Topper2017-08-147-223/+41
| | | | | | | | | | | | | | | | use it in the InstSimplify This addresses a fixme in InstSimplify about using decomposeBitTest. This also fixes InstSimplify to handle ugt and ult compares too. I've modified the interface a little to return only the APInt version of the mask that InstSimplify needs. InstCombine now has a small wrapper routine to create a Constant out of it. I've also dropped the returning of 0 since InstSimplify doesn't need that. So InstCombine creates a zero constant itself. I also had to make decomposeBitTest support vectors since InstSimplify needs that. As InstSimplify can't use something from the Transforms library, I've moved the CmpInstAnalysis code to the Analysis library. Differential Revision: https://reviews.llvm.org/D36593 llvm-svn: 310869
OpenPOWER on IntegriCloud