summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [X86] Support for C calling convention only for MCU target.Alexey Bataev2015-11-252-10/+76
| | | | | | | For MCU only C calling convention is allowed, all other calling conventions are not supported. Differential Revision: http://reviews.llvm.org/D14864 llvm-svn: 254063
* Accept any stack offset, including none, here.Eric Christopher2015-11-251-1/+1
| | | | llvm-svn: 254062
* Fix some places where we were assuming that memory type had been legalizedEric Christopher2015-11-254-10/+56
| | | | | | | | | | to a simple type when lowering a truncating store of a vector type. In this case for an EVT we'll return Expand as we should in all of the cases anyhow. The testcase triggered at the one in VectorLegalizer::LegalizeOp, inspection found the rest. llvm-svn: 254061
* [X86][AVX] Regenerate Splat OptSize testsSimon Pilgrim2015-11-251-66/+116
| | | | | | Tidied up triple and regenerate tests using update_llc_test_checks.py llvm-svn: 254060
* AVX-512: Fixed a bug in VPERMT2* intrinsic.Elena Demikhovsky2015-11-254-1010/+2482
| | | | | | | | | It was wrong order of operands (from intrinsic to DAG node). I added more strict type specification for instruction selection. Differential Revision: http://reviews.llvm.org/D14942 llvm-svn: 254059
* [asan] Fix the atos-symbolizer-dyld-root-path.cc test caseKuba Brecka2015-11-251-4/+5
| | | | | | | | Due to a typo, atos-symbolizer-dyld-root-path.cc is currently being skipped all the time. There's a few more typos/copy-paste-errors. Let's fix them and enable this test. Differential Revision: http://reviews.llvm.org/D14951 llvm-svn: 254058
* [PGO] Convert InstrProfRecord based serialization methods to use common C ↵Xinliang David Li2015-11-252-48/+109
| | | | | | | | | | | | | | | | methods 1. Convert serialization methods using InstrProfRecord as source into C (impl) interfaces using Closure. 2. Reimplement InstrProfRecord serialization method to use new C interface as dummy wrapper. Now it is ready to implement wrapper for runtime value profile data. (The new code need better source location -- but not changed in this patch to minimize diffs. ) llvm-svn: 254057
* [PGO] convert a subset of C++ interfaces into C (for sharing) (NFC)Xinliang David Li2015-11-252-45/+36
| | | | llvm-svn: 254056
* Move member functions closer to others of the same class (NFC)Xinliang David Li2015-11-251-14/+16
| | | | llvm-svn: 254055
* AsmParser: Make the code for parsing unnamed aliases more closely resemble ↵Peter Collingbourne2015-11-253-21/+30
| | | | | | | | | | that for unnamed globals. This fixes parsing of forward references to unnamed aliases. While here, remove an unnecessary isa check. llvm-svn: 254054
* Fix typo that was being SFINAE'd away (and apparently GCC 4.7.2 ↵Richard Smith2015-11-251-2/+2
| | | | | | rejects-valid on this). llvm-svn: 254053
* Follow-up to r254049; remove function I missed in the revert.Hans Wennborg2015-11-251-9/+0
| | | | llvm-svn: 254052
* Add missing documentation. (NFC)Xinliang David Li2015-11-251-3/+22
| | | | llvm-svn: 254051
* Silence a -Wmissing-braces warning in the tests; mbstate_t is defined ↵Marshall Clow2015-11-251-0/+8
| | | | | | differently on different C libraries. llvm-svn: 254050
* Revert r254031: "ELF2: LinkerScript: lookup absolute paths under sysroot"Hans Wennborg2015-11-252-18/+3
| | | | | | | | | | | | | | | | The test fails on Windows: Command 34: "ld.lld" "-o" "D:\src\llvm\build.release\tools\lld\test\ELF\Output\l inkerscript.s.tmp2" "D:\src\llvm\build.release\tools\lld\test\ELF\Output\linkers cript.s.tmp.dir/xyz.script" "--sysroot=D:\src\llvm\build.release\tools\lld\test\ ELF\Output\linkerscript.s.tmp.dir" Command 34 Result: 1 Command 34 Output: Command 34 Stderr: Unable to find /libxyz.a llvm-svn: 254049
* Doxygen: Use mathjax to create formulas.Matthias Braun2015-11-251-1/+1
| | | | | | | | | | | The main motivation is to not require a latex installation when building the documentation. I would also expect a better image quality and the ability to copy&paste from formulas with a javascript based solution for displaying the math. Differential Revision: http://reviews.llvm.org/D14960 llvm-svn: 254048
* [OperandBundles] Extract duplicated code into a helper function, NFCSanjoy Das2015-11-254-10/+24
| | | | llvm-svn: 254047
* [InstCombine] Don't drop operand bundlesSanjoy Das2015-11-253-3/+33
| | | | | | | | | | Reviewers: majnemer Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D14857 llvm-svn: 254046
* Fix function naming (NFC)Xinliang David Li2015-11-251-2/+2
| | | | llvm-svn: 254045
* Revert r253528: "[X86] Enable shrink-wrapping by default."Hans Wennborg2015-11-253-11/+6
| | | | | | | | | This caused PR25607 and also caused Chromium to crash on start-up. (Also had to update test/CodeGen/X86/avx-splat.ll, which was committed after shrink wrapping was enabled.) llvm-svn: 254044
* Fix an asan error where NumElements > 32 for at least one case inKaelyn Takata2015-11-251-2/+3
| | | | | | test/CodeGen/X86/avg.ll. llvm-svn: 254043
* Revert r254021Rong Xu2015-11-2418-355/+0
| | | | llvm-svn: 254042
* Teach RAV to pass its DataRecursionQueue to derived classes if they ask for it,Richard Smith2015-11-242-27/+30
| | | | | | | | to allow them to explicitly opt into data recursion despite having overridden Traverse*Stmt or Traverse*Expr. Use this to reintroduce data recursion to the one place that lost it when DataRecursiveASTVisitor was removed. llvm-svn: 254041
* [PGO] Revert revision r254021,r254028,r254035Rong Xu2015-11-2421-1479/+2
| | | | | | Revert the above revision due to multiple issues. llvm-svn: 254040
* ELF: Omit PT_GNU_STACK segment if -z execstack is provided.Rui Ueyama2015-11-242-43/+28
| | | | | | | | | In the previous patch (r254003), I made the linker emit PT_GNU_STACK unconditionally. But sometimes you want to have a control over the presence of the segment. With this patch, you can omit the segment by passing -z execstack option. llvm-svn: 254039
* [PGO] Add mapper callback to interfaces retrieving value data for site (NFC)Xinliang David Li2015-11-242-19/+28
| | | | | | | This allows cleaner implementation and merging retrieving/mapping in one pass. llvm-svn: 254038
* Another hack to fix the build bot.Zachary Turner2015-11-241-1/+1
| | | | | | | | | This script really should not be assuming every subdirectory is a language directory for swig generation. Using a hack to get this working for now, but this should be solved once this script is re-written similar to how prepare_bindings was. llvm-svn: 254037
* [ThinLTO] Add option to limit importing based on instruction countTeresa Johnson2015-11-242-4/+21
| | | | | | | | Add a simple initial heuristic to control importing based on the number of instructions recorded in the function's summary. Add option to control the limit, and test using option. llvm-svn: 254036
* [PGO] Relax test cases in PGO instrumentationRong Xu2015-11-247-31/+11
| | | | | | | | | | | Fix buildbot failure for clang-x86_64-linux-selfhost-modules. http://lab.llvm.org:8011/builders/clang-x86_64-linux-selfhost-modules/builds/8866 The failing test cases are newly added from r254021. It seems the IR has a different order in this platform. In this patch, I temporarily relax the test case to make the build green. I'll have a complete fix (more robust way to test) soon. llvm-svn: 254035
* SamplePGO - Add test for hot/cold inlined functions.Diego Novillo2015-11-242-18/+48
| | | | | | | | | | | | | | | | | | | | | | | When the original binary is executed and sampled, the resulting profile contains information on the original inline stack. We currently follow the original inline plan if we notice that the inlined callsite has more than 0 samples to it. A better way is to determine whether the callsite is actually worth inlining. If the callsite accumulates a small fraction of the samples spent in the parent function, then we don't want to bother inlining it (as it means that the callsite is actually cold). This patch introduces a threshold expressed in percentage of samples in relation to the parent function. If the callsite uses less than N% of the total samples used by its parent, the original inline decision is not re-applied. I've set the threshold to the very arbitrary value of 5%. I'm yet to do any actual experiments to see what's a good value. I wanted to separate the basic mechanism from the tuning. llvm-svn: 254034
* Fix build after swig_bot_lib changes.Zachary Turner2015-11-241-1/+1
| | | | llvm-svn: 254033
* ELF2: Factor out isUnderSysroot from readLinkerScript. NFC.Rui Ueyama2015-11-241-7/+10
| | | | llvm-svn: 254032
* ELF2: LinkerScript: lookup absolute paths under sysrootSimon Atanasyan2015-11-242-3/+24
| | | | | | | | | | | | | In case a sysroot prefix is configured, and the filename starts with the '/' character, and the script being processed was located inside the sysroot prefix, the file's name will be looked for in the sysroot prefix. Otherwise, the linker falls to the common lookup scheme. https://www.sourceware.org/binutils/docs-2.24/ld/File-Commands.html Differential Revision: http://reviews.llvm.org/D14916 llvm-svn: 254031
* Remove undefined behavior from tests; specifically, ensure that the value ↵Marshall Clow2015-11-2414-49/+59
| | | | | | type of the allocators match the value type of the containers llvm-svn: 254030
* [X86][SSE] Regenerate PMUL testsSimon Pilgrim2015-11-241-75/+222
| | | | | | Tidied up triple and regenerate tests using update_llc_test_checks.py llvm-svn: 254029
* [PGO] Fix build errors in x86_64-darwinRong Xu2015-11-242-3/+3
| | | | | | Fix buildbot failure for x86_64-darwin due to r254021 llvm-svn: 254028
* [msan] Relax origin-alignment test.Evgeniy Stepanov2015-11-241-5/+4
| | | | | | | | | Change origin-alignment test to test only the alignment of the origin store, and not the exact instruction sequence used to compute the address. This makes the test less fragile and, in particular, lets it pass both with the old and new MSan ABIs. llvm-svn: 254027
* swig-bot - Close the socket when shutting down.Zachary Turner2015-11-241-5/+10
| | | | llvm-svn: 254026
* Include config settings in the archive, and extract on the remote.Zachary Turner2015-11-244-6/+81
| | | | llvm-svn: 254025
* Make swig_bot server support Ctrl+CZachary Turner2015-11-242-10/+21
| | | | llvm-svn: 254024
* swig_bot remote path connection / preliminary implementation.Zachary Turner2015-11-245-24/+276
| | | | | | | | | | | | | | | With this patch, the client will package up all the required inputs into a compressed zip file, establish a connection to the server, send the input to the server, and wait for the server to send a response (in this case the response is just echoed back to the client). This gets the network communication in place, and in a subsequent patch I will follow up with the code that actually runs swig on the server and sends back the output instead of echoing back the input. llvm-svn: 254023
* First implementation of swig_bot.pyZachary Turner2015-11-245-0/+183
| | | | | | | | | | | | | | | | | | | | | | This version supports local generation only. It's intentionally stupid, and does not support any kind of dependency checking. If you run the script, it's going to call SWIG. While this is a slow process, we are going to combine the use of the swig bot with checked in static bindings, meaning that it won't be terribly important to only regenerate the bindings when the input files have actually changed. A side benefit of this is that the implementation is drastically simpler. This is all experimental at the moment, but it duplicates a lot of the logic currently found in prepare_bindings.py. There was not a good way to reuse some of the logic without invasive changes on that script, and since this script is still experimental, it makes sense to just copy them over, and if / when this becomes more mature, we can get rid of the other ones. llvm-svn: 254022
* [PGO] MST based PGO instrumentation infrastructureRong Xu2015-11-2439-2/+1854
| | | | | | | | | | | | This patch implements a minimum spanning tree (MST) based instrumentation for PGO. The use of MST guarantees minimum number of CFG edges getting instrumented. An addition optimization is to instrument the less executed edges to further reduce the instrumentation overhead. The patch contains both the instrumentation and the use of the profile to set the branch weights. Differential Revision: http://reviews.llvm.org/D12781 llvm-svn: 254021
* [ThinLTO] Refactor function body scan during importing into helper (NFC)Teresa Johnson2015-11-241-36/+27
| | | | llvm-svn: 254020
* [OpenMP] Parsing and sema support for num_teams clauseKelvin Li2015-11-2416-9/+274
| | | | | | http://reviews.llvm.org/D14802 llvm-svn: 254019
* Fix sphinx-build error when building documentation.Xinliang David Li2015-11-241-16/+10
| | | | | | | Consolidate the description of -binary/-text option description to avoid duplicate ID error by sphinux-build. llvm-svn: 254018
* [RuntimeDyld] Fix a class of arithmetic errors introduced in r253918Sanjoy Das2015-11-241-4/+4
| | | | | | | | | | | r253918 had refactored expressions like "A - B.Address + C" to "A - B.getAddressWithOffset(C)". This is incorrect, since the latter really computes "A - B.Address - C". None of the tests I can run locally on x86 broke due to this bug, but it is the current suspect for breakage on the AArch64 buildbots. llvm-svn: 254017
* [X86][FMA] Optimize FNEG(FMA) PatternsSimon Pilgrim2015-11-242-0/+97
| | | | | | | | | | X86 needs to use its own FMA opcodes, preventing the standard FNEG(FMA) pattern table recognition method used by other platforms. This patch adds support for lowering FNEG(FMA(X,Y,Z)) into a single suitably negated FMA instruction. Fix for PR24364 Differential Revision: http://reviews.llvm.org/D14906 llvm-svn: 254016
* [compiler-rt] [msan] Couple of fixes for msan with libc++Adhemerval Zanella2015-11-241-3/+13
| | | | | | | | | | | | This patch adds some fixes for MSAN with libc++ for aarch64: 1. Adds the libmsan_loadable name for aarch64. 2. Fixes some pthread_attr_setstacksize for aarch64, since glibc sets the mininum stack size to be higher than the x86_64 default (16KB vs 128KB). 3. Fixes a swprintf null char constant definition. llvm-svn: 254015
* Replace [=] lambda capture with [&] per David Blaikieþ suggestion.Yaron Keren2015-11-241-1/+1
| | | | llvm-svn: 254013
OpenPOWER on IntegriCloud