summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [StructurizeCFG] Make hasOnlyUniformBranches a non-member function.Justin Lebar2016-11-221-7/+5
| | | | | | | | | | | | Summary: Lets us get rid of one member variable too. Reviewers: arsenm Subscribers: wdng, llvm-commits Differential Revision: https://reviews.llvm.org/D26992 llvm-svn: 287716
* [CUDA] Note in docs that you need to build with -lcudart on MacOSJustin Lebar2016-11-221-0/+4
| | | | | | -lcudart_static doesn't work. We don't know why. llvm-svn: 287715
* Fix memory leak detected by asan.Rui Ueyama2016-11-221-1/+1
| | | | llvm-svn: 287714
* Make diagnostic for use of default member initializer before enclosing class isRichard Smith2016-11-227-43/+49
| | | | | | | complete a little more general; it is produced in other cases than the one that it previously talked about. llvm-svn: 287713
* add and use isBitwiseLogicOp() helper function; NFCISanjay Patel2016-11-224-33/+19
| | | | llvm-svn: 287712
* Accept -script=<file> in addition to -script <file>.Rui Ueyama2016-11-222-1/+2
| | | | | | Fixes PR31126. llvm-svn: 287711
* Before sample pgo annotation, do not inline a function that has no debug ↵Dehao Chen2016-11-224-1/+26
| | | | | | | | info. (NFC) If there is no debug info in the callee, inlining it will not help annotator. This avoids infinite loop as reported in PR/31119. llvm-svn: 287710
* [SCCP] Remove code in visitBinaryOperator (and add tests).Davide Italiano2016-11-222-15/+29
| | | | | | | | | | We visit and/or, we try to derive a lattice value for the instruction even if one of the operands is overdefined. If the non-overdefined value is still 'unknown' just return and wait for ResolvedUndefsIn to "plug in" the correct value. This simplifies the logic a bit. While I'm here add tests for missing cases. llvm-svn: 287709
* TargetSubtargetInfo: Move implementation to lib/CodeGen; NFCMatthias Braun2016-11-223-2/+2
| | | | | | | | | | | | TargetSubtargetInfo is filled with CodeGen specific interfaces nowadays (getInstrInfo(), getFrameLowering(), getSelectionDAGInfo()) most of the tuning flags like enablePostRAScheduler(), getAntiDepBreakMode(), enableRALocalReassignment(), ... also do not seem to be universal enough to make sense outside of CodeGen. Differential Revision: https://reviews.llvm.org/D26948 llvm-svn: 287708
* [InstCombine] change bitwise logic type to eliminate bitcastsSanjay Patel2016-11-222-4/+68
| | | | | | | | | | | | | | | | | | | | In PR27925: https://llvm.org/bugs/show_bug.cgi?id=27925 ...we proposed adding this fold to eliminate a bitcast. In D20774, there was some concern about changing the type of a bitwise op as well as creating bitcasts that might not be free for a target. However, if we're strictly eliminating an instruction (by limiting this to one-use ops), then we should be able to do this in InstCombine. But we're cautiously restricting the transform for now to vector types to avoid possible backend problems. A transform to make sure the logic op is legal for the target should be added to reverse this transform and improve codegen. Differential Revision: https://reviews.llvm.org/D26641 llvm-svn: 287707
* [X86][AVX512DQ] Add fp <-> int tests for AVX512DQ/AVX512DQ+VLSimon Pilgrim2016-11-222-430/+1104
| | | | llvm-svn: 287706
* [LCG] Add a previously missing assert about the relationship of RefSCCs.Chandler Carruth2016-11-221-0/+7
| | | | | | No intended change, everything seems to be in working order already. llvm-svn: 287705
* Fix test to not depend on the path size.Rafael Espindola2016-11-221-3/+12
| | | | llvm-svn: 287704
* Update to isl-0.17.1-284-gbb38638Tobias Grosser2016-11-2211-72/+152
| | | | | | Regular maintenance update with only minor changes. llvm-svn: 287703
* LTO: Remove a now-unused InputFile accessor.Peter Collingbourne2016-11-221-4/+0
| | | | llvm-svn: 287702
* move VerDef finalization before DynStrTabRafael Espindola2016-11-222-4/+13
| | | | llvm-svn: 287701
* Fixed the lost FastMathFlags in GVN(Global Value Numbering).Vyacheslav Klochkov2016-11-222-1/+35
| | | | | | | Reviewer: Hal Finkel. Differential Revision: https://reviews.llvm.org/D26952 llvm-svn: 287700
* [LTO] Remove a check on datalayout.Davide Italiano2016-11-223-15/+15
| | | | | | | | Now that lld switched to lib/LTO, which always calls setDataLayout(), we don't need this check anymore. Thanks to Peter for pointing out! llvm-svn: 287699
* [LCG] Start using SCC relationship predicates in the unittest.Chandler Carruth2016-11-221-2/+26
| | | | | | | | This mostly gives us nice unittesting of the predicates themselves. I'll start using them further in subsequent commits to help test the actual operations performed on the graph. llvm-svn: 287698
* Remove PDBFileBuilder::build() and related functions.Rui Ueyama2016-11-228-111/+0
| | | | | | | | | | | | | | | | | | | PDBFileBuilder supports two different ways to create files. One is PDBFileBuilder::commit. That function takes a filename and write a result to the file. The other is PDBFileBuilder::build. That returns a new PDBFile object. This patch removes the latter because no one is using it and in a real life situation we are very unlikely to need it. Even if you need it, it'd be easy to write a new PDB to a memory buffer and read it back. Removing PDBFileBuilder::build enables us to remove other classes build transitively. Differential Revision: https://reviews.llvm.org/D26987 llvm-svn: 287697
* [sanitizer] Fix the dedup_token_length_test.cc testcase to not fail when ↵Kuba Mracek2016-11-221-7/+5
| | | | | | | | user's home directory contains "bar" Differential Revision: https://reviews.llvm.org/D24605 llvm-svn: 287696
* Fixed the lost FastMathFlags in Reassociate optimization.Vyacheslav Klochkov2016-11-222-0/+20
| | | | | | | Reviewer: Hal Finkel. Differential Revision: https://reviews.llvm.org/D26957 llvm-svn: 287695
* [CodeGen] Add flag to code-generate most memory access expressionsTobias Grosser2016-11-223-4/+86
| | | | | | | | | | | | | | Introduce the new flag -polly-codegen-generate-expressions which forces Polly to code generate AST expressions instead of using our SCEV based access expression generation even for cases where the original memory access relation was not changed and the SCEV based access expression could be code generated without any issue. This is an experimental option for better testing the isl ast expression generation. The default behavior of Polly remains unchanged. We also exclude a couple of cases for which the AST expression is not yet working. llvm-svn: 287694
* Allow libc++ to use modules in C++03.Eric Fiselier2016-11-221-1/+0
| | | | | | | | | Libc++ internal uses <atomic> in C++03 code but the module map forbids its use. This causes the libc++ 'std' module to fail to build in C++03. This patch removes the requirement to fix this issue. llvm-svn: 287693
* Remove '.' from a help message.Rui Ueyama2016-11-221-1/+1
| | | | llvm-svn: 287692
* Remove variable only used in an assertion.John McCall2016-11-221-5/+0
| | | | llvm-svn: 287691
* Attempt to fix stdint/cstdint modules try 2Eric Fiselier2016-11-226-18/+108
| | | | llvm-svn: 287690
* Add test for D21736.Marcin Koscielnicki2016-11-222-7/+13
| | | | | | Differential Revision: http://reviews.llvm.org/D21741 llvm-svn: 287689
* [CodeGen] Insert TargetLibraryInfoWrapperPass before anything else.Marcin Koscielnicki2016-11-221-2/+9
| | | | | | | | | | | | Currently, TargetLibraryInfoWrapperPass is inserted by PMBuilder. However, some passes are inserted manually before the PMBuilder ones - if any of them happens to use TargetLibraryInfoWrapperPass, it'll get a default-constructed one, with an unknown target triple. This happens to InstrProfiling in D21736, breaking it. Differential Revision: http://reviews.llvm.org/D21737 llvm-svn: 287688
* Cleanup module.modulemapEric Fiselier2016-11-221-369/+1
| | | | llvm-svn: 287687
* Restructure DwarfDebug::beginInstruction(). [NFC]Paul Robinson2016-11-221-21/+26
| | | | | | | | Will help a pending patch. Differential Revision: http://reviews.llvm.org/D26982 llvm-svn: 287686
* darwin: Unconditionally pass -lto_library, remove -Wliblto warning.Nico Weber2016-11-223-20/+12
| | | | | | | | | | | | | | | | | | | | | https://reviews.llvm.org/D25932 made it so that clang always checks if libLTO.dylib is present on disk, even if -flto is not being used. The motivation for that change was that if a dependency happens to contain bitcode, ld64 will try to load libLTO without -flto explicitly being enabled. However, the change had the undesirable side effect of warning if libLTO.dylib doesn't exist even if it isn't needed. Change things so that -lto_library is always passes, independent of if it exists or not. ld64 only looks at this flag if it uses LTO. If the dylib exists, all is well. If it doesn't, and LTO is not being used, all is well too. If ld64 does end up using LTO and the dylib does not exist, ld64 will print something like ld: could not process llvm bitcode object file, because foo/libLTO.dylib could not be loaded file 'test.o' for architecture x86_64 https://reviews.llvm.org/D26984 llvm-svn: 287685
* [Triple] Add Facebook vendorShoaib Meenai2016-11-222-0/+3
| | | | | | | | | Add a compiler vendor for Facebook, to enable future vendor-specific behavior. Differential Revision: https://reviews.llvm.org/D25136 llvm-svn: 287684
* Fix build breakage.Rui Ueyama2016-11-223-12/+11
| | | | | | | We cannot have MipsRldMap class and In<ELFT>::MipsRldMap. Renamed the class. llvm-svn: 287683
* [LCG] Add utilities to compute parent and ascestor relationships betweenChandler Carruth2016-11-222-0/+84
| | | | | | | | | | | | | | | | | SCCs. These will be fairly expensive routines to call and might be abused in real code, but are quite useful when debugging or in asserts and are reasonable and well formed properties to query. I've used one of them in an assert that was requested in a code review here. In subsequent commits I'll start using these routines more heavily, for example in unittests etc. But this at least gets the groundwork in place. Differential Revision: https://reviews.llvm.org/D25506 llvm-svn: 287682
* [mips] seb, seh instruction aliasesSimon Dardis2016-11-2214-12/+52
| | | | | | | | | | Add the single operand form. Reviewers: vkalintiris Differential Revision: https://reviews.llvm.org/D26961 llvm-svn: 287681
* Add IntrInaccessibleMemOnly property for intrinsicsAndrew Kaylor2016-11-224-7/+69
| | | | | | Differential Revision: https://reviews.llvm.org/D26485 llvm-svn: 287680
* [PowerPC] Emit VMX loads/stores for aligned ops to avoid adding swaps on LENemanja Ivanovic2016-11-227-65/+106
| | | | | | | | | | | This patch corresponds to review: https://reviews.llvm.org/D26861 It also fixes PR30730. Committing on behalf of Lei Huang. llvm-svn: 287679
* [CostModel][X86] Updated sitofp/uitofp scalar/vector cost testsSimon Pilgrim2016-11-222-1379/+492
| | | | | | | | Better coverage of all legal types + special cases. Removed old fptoui tests which are all handled in fptoui.ll llvm-svn: 287678
* [ELF] Allow `ASSERT` in output section descriptionsMeador Inge2016-11-222-6/+25
| | | | | | | | GNU LD allows `ASSERT` commands to be in output section descriptions. Note that LD also mandates that `ASSERT` commands in this context must end with a semicolon. llvm-svn: 287677
* [X86][SSE] Combine UNPCKL(FHADD,FHADD) -> FHADD for v2f64 shuffles.Simon Pilgrim2016-11-222-39/+24
| | | | | | | | This occurs during UINT_TO_FP v2f64 lowering. We can easily generalize this to other horizontal ops (FHSUB, PACKSS, PACKUS) as required - we are doing something similar with PACKUS in lowerV2I64VectorShuffle llvm-svn: 287676
* [ELF] Convert .rld_map to input sectionEugene Leviant2016-11-224-15/+38
| | | | | | Differential revision: https://reviews.llvm.org/D26958 llvm-svn: 287675
* [clang-rename] Prune away AST nodes more correctly and effectively when ↵Benjamin Kramer2016-11-222-11/+15
| | | | | | | | | | | | | | | | | | looking for a point Due to the way the preprocessor works nodes can be half in a macro or a different file. This means checking the file name of the start location of a Decl is not a correct way of checking if the entire Decl is in that file. Remove that flawed assumption and replace it with a more effective check: If the point we're looking for is *inside* of the begin and end location of a Decl, look inside. This should make clang-rename more reliable (for example macro'd namespaces threw it off before, as seen in the test case) and maybe a little faster by pruning off more stuff that the RecursiveASTVisitor doesn't have to drill into. llvm-svn: 287649
* Re-add "demonstrate new Args API"Zachary Turner2016-11-228-92/+90
| | | | | | This fixes the build breakage due to the use of C++14. llvm-svn: 287647
* [mips] Add support for unaligned load/store macros.Vasileios Kalintiris2016-11-223-96/+763
| | | | | | | | Add missing unaligned store macros (ush/usw) and fix the exisiting implementation of the unaligned load macros in order to generate identical expansions with the GNU assembler. llvm-svn: 287646
* CodeGen: simplify TargetMachine::getSymbol interface. NFC.Tim Northover2016-11-229-25/+24
| | | | | | | | | No-one actually had a mangler handy when calling this function, and getSymbol itself went most of the way towards getting its own mangler (with a local TLOF variable) so forcing all callers to supply one was just extra complication. llvm-svn: 287645
* [X86] Change lowerBuildVectorToBitOp() to take a BuildVectorSDNode. NFC.Zvi Rackover2016-11-221-5/+6
| | | | llvm-svn: 287644
* [X86] Remove dead code from LowerVectorBroadcastZvi Rackover2016-11-221-73/+18
| | | | | | | | | | | | Summary: Splat vectors are canonicalized to BUILD_VECTOR's so the code can be simplified. NFC-ish. Reviewers: craig.topper, delena, RKSimon, andreadb Subscribers: RKSimon, llvm-commits Differential Revision: https://reviews.llvm.org/D26678 llvm-svn: 287643
* [AArch64] Set the max interleave factor for Falkor.Chad Rosier2016-11-221-1/+3
| | | | llvm-svn: 287642
* [AArch64] Maximize 80-column. NFC.Chad Rosier2016-11-221-8/+5
| | | | llvm-svn: 287640
OpenPOWER on IntegriCloud