summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [sanitizer] Fix a crash with DlAddrSymbolizer and unnamed symbolsKuba Brecka2015-11-251-1/+1
| | | | | | Apparently, dladdr() can succeed but return a NULL pointer, in which case strdup will crash. Let's not call strdup on NULL pointers. llvm-svn: 254068
* [MSVC] 'property' with an empty array in array subscript expression.Alexey Bataev2015-11-2521-113/+469
| | | | | | | | | | | | MSVC supports 'property' attribute and allows to apply it to the declaration of an empty array in a class or structure definition. For example: ``` __declspec(property(get=GetX, put=PutX)) int x[]; ``` The above statement indicates that x[] can be used with one or more array indices. In this case, i=p->x[a][b] will be turned into i=p->GetX(a, b), and p->x[a][b] = i will be turned into p->PutX(a, b, i); Differential Revision: http://reviews.llvm.org/D13336 llvm-svn: 254067
* [clang-tidy] code cleanup using isAssignmentOp()Daniel Marjamaki2015-11-251-5/+1
| | | | llvm-svn: 254066
* [ELF] - R_386_COPY relocation implemented (x86)George Rimar2015-11-252-0/+72
| | | | | | | | | Implements R_386_COPY relocation for x86 target. Similar to one for x64 http://reviews.llvm.org/D14090 which did most of job needed. Differential revision: http://reviews.llvm.org/D14958 llvm-svn: 254065
* [PowerPC] Don't generate mfocrf on the e500mcHal Finkel2015-11-252-1/+31
| | | | | | | | | The e500mc does not actually support the mfocrf instruction; update the processor definitions to reflect that fact. Patch by Tom Rix (with some test-case cleanup by me). llvm-svn: 254064
* [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
OpenPOWER on IntegriCloud