summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Use autogenerate check in CodeGen/X86/pr16031.ll . NFCAmaury Sechet2017-02-101-14/+17
| | | | llvm-svn: 294761
* [clangd] Move isDone from the JSONOutput to ShutdownHandler.Benjamin Kramer2017-02-103-11/+10
| | | | | | | This is just as easy to check from main but prevents random code from shutting down the server. llvm-svn: 294760
* Fix doc for `-opt-bisect-limit`: the LTO option prefix for lld is -mllvmMehdi Amini2017-02-101-3/+3
| | | | | | Thanks Davide to catch it in my previous patch. llvm-svn: 294759
* libomptarget: Disable on Win32Hans Wennborg2017-02-101-1/+4
| | | | | | | | | It's not supported, and currently breaks the weekly LLVM snapshot builds. Differential Revision: https://reviews.llvm.org/D29801 llvm-svn: 294758
* Add a virtual destructor for LegalizerInfo.Alexander Kornienko2017-02-101-0/+1
| | | | | | | lib/Target/X86/X86TargetMachine.cpp has a code that deletes an instance of a LegalizerInfo descendant via a pointer to base. llvm-svn: 294757
* Check full codegen in CodeGen/X86/i256-add.ll NFCAmaury Sechet2017-02-101-3/+127
| | | | llvm-svn: 294756
* [LV] Remove type restriction for vector phi creationMatthew Simpson2017-02-102-6/+13
| | | | | | | | | We previously only created a vector phi node for an induction variable if its type matched the type of the canonical induction variable. Differential Revision: https://reviews.llvm.org/D29776 llvm-svn: 294755
* [libclang] [OpenCL] Expose half type.Joey Gouly2017-02-104-1/+29
| | | | | | | | | | | | | | | | Expose the half type (fp16) through libclang and the python bindings. It seems CXType_LastBuiltin was not updated in b2ea6d9 ("Enable support for __float128 in Clang", 2016-04-13), so update it now. Add an Index test for OpenCL types; in the future we will add other OpenCL types such as images to this test. Patch by Sven van Haastregt. Differential Revision: https://reviews.llvm.org/D29718 llvm-svn: 294754
* [Hexagon] Replace instruction definitions with auto-generated onesKrzysztof Parzyszek2017-02-10168-14903/+50480
| | | | llvm-svn: 294753
* Move some error handling down to MCStreamer.Rafael Espindola2017-02-1016-34/+37
| | | | | | | | | This makes sure we get the same redefinition rules regardless of who is printing (asm parser, codegen) and to what (asm, obj). This fixes an unintentional regression in r293936. llvm-svn: 294752
* [clang-tidy] Fix handling of function types in google-readability-castingAlexander Kornienko2017-02-102-7/+100
| | | | llvm-svn: 294751
* [X86][SSE] Added chained FDIV test cases for D26855Simon Pilgrim2017-02-101-0/+310
| | | | | | Tests to demonstrate throughput-latency decision between div and rcp on faster hardware such as Haswell llvm-svn: 294750
* [DAGCombine] Allow vector constant folding of any value type before type ↵Simon Pilgrim2017-02-106-171/+18
| | | | | | | | | | | | | | | | legalization The patch comes in 2 parts: 1 - it makes use of the SelectionDAG::NewNodesMustHaveLegalTypes flag to tell when it can safely constant fold illegal types. 2 - it correctly resets SelectionDAG::NewNodesMustHaveLegalTypes at the start of each call to SelectionDAGISel::CodeGenAndEmitDAG so all the pre-legalization stages can make use of it - not just the first basic block that gets handled. Fix for PR30760 Differential Revision: https://reviews.llvm.org/D29568 llvm-svn: 294749
* [X86][SSE] Use SDValue::getConstantOperandVal helper. NFCI.Simon Pilgrim2017-02-101-11/+6
| | | | | | Also reordered an if statement to test low cost comparisons first llvm-svn: 294748
* [clangd] Refactor stream output into a single thread-safe output object.Benjamin Kramer2017-02-105-39/+63
| | | | | | | This abstracts away the passing of raw_ostreams everywhere, thread safety will be used soon. llvm-svn: 294747
* [X86][SSE] Add support for extracting target constants from BUILD_VECTORSimon Pilgrim2017-02-102-12/+27
| | | | | | | In some cases we call getTargetConstantBitsFromNode for nodes that haven't been lowered from BUILD_VECTOR yet Note: We're getting very close to being able to move most of the constant extraction code from getTargetShuffleMaskIndices into getTargetConstantBitsFromNode llvm-svn: 294746
* [X86][SSE] Add missing comment describing combing to SHUFPS. NFCISimon Pilgrim2017-02-101-0/+2
| | | | llvm-svn: 294745
* Really fix windows buildPavel Labath2017-02-101-2/+2
| | | | | | this time I have actually tried that it compiles on windows. llvm-svn: 294744
* Fix darwin and windows builds broken by r294736Pavel Labath2017-02-104-11/+14
| | | | | | Update the platform-specific log classes to match the new interface. llvm-svn: 294743
* UriParser cleanupPavel Labath2017-02-109-48/+28
| | | | | | | - move the header file to the include folder - enclose the class in the proper namespace llvm-svn: 294741
* Wdocumentation fixesSimon Pilgrim2017-02-101-2/+1
| | | | llvm-svn: 294740
* Switch TestPacketSpeedJSON to use the llvm chrono formatterPavel Labath2017-02-102-25/+19
| | | | llvm-svn: 294739
* Add a format_provider for the Timeout classPavel Labath2017-02-107-69/+56
| | | | | | | | | | and use it in the appropriate log statements. Formatting of chrono types in log messages was very clunky. This should make it much nicer to use and give better output. For details of the formatting options see the chrono formatter in llvm. llvm-svn: 294738
* Improve asserts in TestWatchpointIgnoreCountPavel Labath2017-02-101-9/+7
| | | | | | | | This test is flaky on the windows->android bot. Change assertTrue to assertEqual in the hope better error messages will direct us to the problem. llvm-svn: 294737
* Convert Log class to llvm streamsPavel Labath2017-02-1018-119/+139
| | | | | | | | | | | | | | | | | | | | | | | | Summary: This converts LLDB's logging to use llvm streams instead of lldb_private::Stream and friends. The changes are mostly straight-forward and amount to s/lldb_private::Stream/llvm::raw_ostream. The part worth calling out is the rewrite of the StreamCallback class. Previously this class contained a per-thread buffer of data written. I assume this had something to do with it trying to make sure each log line is delivered as a single event, instead of multiple (possibly interleaved) events. However, this is no longer relevant as the Log class already writes things to a temporary buffer and then delivers the message as a single "write", so I have just removed the code in question. Reviewers: zturner, clayborg Subscribers: emaste, lldb-commits, mgorny Differential Revision: https://reviews.llvm.org/D29615 llvm-svn: 294736
* Porting the example illustrating Polly from HTML to reStructuredTextTobias Grosser2017-02-1020-618/+1100
| | | | | | | | | | | | | http://polly.llvm.org/example_manual_matmul.html which illustrates individual passes of Polly, has been ported to reStructuredText and necessary changes have been made to the configuration files used by SPHINX to include the new source as a part of the documentation. Contributed-by: Singapuram Sanjay Srivallabh <singapuram.sanjay@gmail.com> Differential Revision: https://reviews.llvm.org/D25163 llvm-svn: 294735
* [ScopInfo] Use original base address when building ScopArrayInfo [NFC]Tobias Grosser2017-02-101-2/+2
| | | | | | | | | This change clarfies that we want to indeed use the original base address when creating the ScopArrayInfo that corresponds to a given memory access. This change prepares for https://reviews.llvm.org/D28518. llvm-svn: 294734
* [ScopInfo] Use getAccessValue to obtain the accessed valueTobias Grosser2017-02-101-1/+1
| | | | | | | | | | | | | | | This replaces the use of getOriginalAddrPtr, a value that is stored in ScopArrayInfo and might at some point not be unique any more. However, the access value is defined to be unique. This change is an update on r294576, which only clarified that we need the original memory access, but where we still remained dependent to have one base pointer per scop. This change removes unnecessary uses of MemoryAddress::getOriginalBaseAddr() in preparation for https://reviews.llvm.org/D28518. llvm-svn: 294733
* Fix yet another Apple buildit bugEric Fiselier2017-02-101-1/+3
| | | | llvm-svn: 294732
* Attempt to fix Apple buildit botsEric Fiselier2017-02-101-1/+5
| | | | llvm-svn: 294731
* Recommit "Split exception.cpp and new.cpp implementation into different ↵Eric Fiselier2017-02-1017-509/+726
| | | | | | | | | | | | | | | | | | | | | | files for different runtimes." This recommits r294707 with additional fixes. The main difference is libc++ now correctly builds without any ABI library. exception.cpp is a bloody mess. It's full of confusing #ifdef branches for each different ABI library we support, and it's getting unmaintainable. This patch breaks down exception.cpp into multiple different header files, roughly one per implementation. Additionally it moves the definitions of exceptions in new.cpp into the correct implementation header. This patch also removes an unmaintained libc++abi configuration. This configuration may still be used by Apple internally but there are no other possible users. If it turns out that Apple still uses this configuration internally I will re-add it in a later commit. See http://llvm.org/PR31904. llvm-svn: 294730
* [PM] Relax the patterns used in the new test I added because someChandler Carruth2017-02-101-20/+20
| | | | | | compilers don't print the typedef name. llvm-svn: 294729
* [PM] Fix a bug in the new loop PM when handling functions with no loops.Chandler Carruth2017-02-104-5/+287
| | | | | | | | | | | | | | | | | | | | | | | | | Without any loops, we don't even bother to build the standard analyses used by loop passes. Without these, we can't run loop analyses or invalidate them properly. Unfortunately, we did these things in the wrong order which would allow a loop analysis manager's proxy to be built but then not have the standard analyses built. When we went to do the invalidation in the proxy thing would fall apart. In the test case provided, it would actually crash. The fix is to carefully check for loops first, and to in fact build the standard analyses before building the proxy. This allows it to correctly trigger invalidation for those standard analyses. An alternative might seem to be to look at whether there are any loops when doing invalidation, but this doesn't work when during the loop pipeline run we delete the last loop. I've even included that as a test case. It is both simpler and more robust to defer building the proxy until there are definitely the standard set of analyses and indeed loops. This bug was uncovered by enabling GlobalsAA in the pipeline. llvm-svn: 294728
* Revert "Split exception.cpp and new.cpp implementation into different files ↵Eric Fiselier2017-02-1017-724/+508
| | | | | | | | for different runtimes." The compiler-rt CMake configuration needs some tweaking before this can land. llvm-svn: 294727
* add #ifdef, fix compilation error in case LLVM_BUILD_GLOBAL_ISEL=OFFIgor Breger2017-02-101-0/+2
| | | | llvm-svn: 294726
* Fix doc for `-opt-bisect-limit`: the LTO option is linker specificMehdi Amini2017-02-101-1/+4
| | | | llvm-svn: 294725
* [X86][GlobalISel] Add general-purpose Register BankIgor Breger2017-02-1011-12/+546
| | | | | | | | | | | | | | | | | Summary: [X86][GlobalISel] Add general-purpose Register Bank. Add trivial handling of G_ADD legalization . Add Regestry Bank selection for COPY and G_ADD instructions Reviewers: rovka, zvi, ab, t.p.northover, qcolombet Reviewed By: qcolombet Subscribers: qcolombet, mgorny, dberris, kristof.beyls, llvm-commits Differential Revision: https://reviews.llvm.org/D29771 llvm-svn: 294723
* [XRay][graph] Disambiguate name of type from member nameDean Michael Berris2017-02-101-17/+17
| | | | | | | | Follow-up to D29005. Differential Revision: https://reviews.llvm.org/D29005 llvm-svn: 294722
* Properly escape ShellTest subsitutions on Windows. Try 2Eric Fiselier2017-02-101-5/+6
| | | | llvm-svn: 294721
* test: XFAIL windows for non-portable testSaleem Abdulrasool2017-02-101-0/+1
| | | | | | | | This test validates that the lock_guard is declared variadically across C++03 and C++11. Given the lack of stable ABI on Windows and the fact that the RTTI encoding on Windows is different, XFAIL it on that target. llvm-svn: 294720
* test: fix test under WindowsSaleem Abdulrasool2017-02-101-1/+1
| | | | | | | When running the test under clang-cl, we do not report `__GNUC__`, which is needed to supress the warnings which are being treated as errors. llvm-svn: 294719
* properly escape compiler path in .sh.cpp testsEric Fiselier2017-02-101-1/+1
| | | | llvm-svn: 294718
* [XRay] A graph Class for the llvm-xray graphDean Michael Berris2017-02-106-96/+873
| | | | | | | | | | | | | | | | | | | Summary: In preparation for graph comparison and filtering, this is a library for representing graphs in LLVM. This will enable easier encapsulation and reuse of graphs in llvm-xray. Depends on D28999, D28225 Reviewers: dblaikie, dberris Reviewed By: dberris Subscribers: mgorny, llvm-commits Differential Revision: https://reviews.llvm.org/D29005 llvm-svn: 294717
* test: allow -target usage on WindowsSaleem Abdulrasool2017-02-101-2/+6
| | | | | | | | When running the tests on Windows with a debug build, _DEBUG must be added to the flags prior to the -target as the forced inclusion of a header will prevent the compile test for the flag to fail. llvm-svn: 294716
* [LoopUnswitch] Remove BFI usage (dead code)Philip Reames2017-02-102-95/+0
| | | | | | | | Chandler mentioned at the last social that the need for BFI in the new pass manager was causing a slight hiccup for this pass. Given this code has been checked in, but off for over a year, it makes sense to just remove it for now. Note that there's nothing wrong with the general idea - it's actually a quite good one - and once we have the infrastructure in place to implement this without the full recompuation on every loop, we absolutely should. llvm-svn: 294715
* Revert "[XRay] A graph Class for the llvm-xray graph"Dean Michael Berris2017-02-106-869/+96
| | | | | | Broke tests, reverting. llvm-svn: 294714
* [XRay] A graph Class for the llvm-xray graphDean Michael Berris2017-02-106-96/+869
| | | | | | | | | | | | | | | | | | | Summary: In preparation for graph comparison and filtering, this is a library for representing graphs in LLVM. This will enable easier encapsulation and reuse of graphs in llvm-xray. Depends on D28999, D28225 Reviewers: dblaikie, dberris Reviewed By: dberris Subscribers: mgorny, llvm-commits Differential Revision: https://reviews.llvm.org/D29005 llvm-svn: 294713
* Correctly default to using the system libc++abi on Apple.Eric Fiselier2017-02-102-11/+8
| | | | | | | This patch fixes a regression where libc++ didn't correctly select the system libc++abi when no in-tree version was found. llvm-svn: 294712
* [SelectionDAG] Dump the DAG after legalizing vector ops and after the second ↵Craig Topper2017-02-101-0/+6
| | | | | | | | | | | | | | | | | | | | | type legalization Summary: With -debug, we aren't dumping the DAG after legalizing vector ops. In particular, on X86 with AVX1 only, we don't dump the DAG after we split 256-bit integer ops into pairs of 128-bit ADDs since this occurs during vector legalization. I'm only dumping if the legalize vector ops changes something since we don't print anything during legalize vector ops. So this dump shows up right after the first type-legalization dump happens. So if nothing changed this second dump is unnecessary. Having said that though, I think we should probably fix legalize vector ops to log what its doing. Reviewers: RKSimon, eli.friedman, spatel, arsenm, chandlerc Reviewed By: RKSimon Subscribers: wdng, llvm-commits Differential Revision: https://reviews.llvm.org/D29554 llvm-svn: 294711
* opt-viewer: fix HtmlFormatter encodingAdam Nemet2017-02-101-1/+1
| | | | | | | | | | | | | | | | Summary: Small fix to HtmlFormatter, defaults to ascii encoding, so utf-8 output may get `UnicodeEncodeError: 'ascii' codec can't encode character ... ordinal not in range(128)` during write. Patch by Brian Cain! Reviewers: anemet, fhahn Reviewed By: anemet Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D29802 llvm-svn: 294710
OpenPOWER on IntegriCloud