summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [RegBankSelect] Introduce a command line option to override the running mode.Quentin Colombet2016-06-081-0/+14
| | | | | | | | | | When the command line option is set, it overrides any thing that the target may have set. The rationale is that we get what we asked for. Options are respectively regbankselect-fast and regbankselect-greedy for fast and greedy mode. llvm-svn: 272158
* [RegBankSelect] Explain what it would take to support non-copyQuentin Colombet2016-06-081-0/+9
| | | | | | | | | | | repairing. Copies are easy because we repair only when there is a mismatch. For non-copy repairing, i.e., cases that involves breaking down or gathering up the value, one of the operand may not have a register bank yet. Thus, derivate a cost from that, requires more work. llvm-svn: 272157
* Prune away some unused using decls. NFC.Benjamin Kramer2016-06-085-13/+0
| | | | | | Found by clang's misc-unused-using-decls. llvm-svn: 272156
* [clang-tidy] misc-argument-comment: don't bail out when an argument is a ↵Alexander Kornienko2016-06-083-13/+16
| | | | | | | | macro expansion (e.g. NULL). Add CHECK-FIX tests. llvm-svn: 272155
* [ARM] MSR instructions implicitly set CPSROliver Stannard2016-06-083-0/+59
| | | | | | | | | | | | | | | The MSR instructions can write to the CPSR, but we did not model this fact, so we could emit them in the middle of IT blocks, changing the condition flags for later instructions in the block. The tests use two calls to llvm.write_register.i32 because it is valid to use these instructions at the end of an IT block, which if conversion does do in some cases. With two calls, the first clobbers the flags, so a branch has to be used to make the second one conditional. Differential Revision: http://reviews.llvm.org/D21139 llvm-svn: 272154
* [OpenCL] Fix __builtin_astype for vec3 types.Yaxun Liu2016-06-083-38/+117
| | | | | | | | __builtin_astype does not generate correct LLVM IR for vec3 types. This patch inserts bitcasts to/from vec4 when necessary in addition to generating vector shuffle. Sema and codegen tests are added. Differential Revision: http://reviews.llvm.org/D20133 llvm-svn: 272153
* [include-fixer] Keep dot dot in SymbolInfo file paths.Haojian Wu2016-06-084-8/+13
| | | | | | | | | | | | | | | | | | Summary: Currently, removing dot dot in header's path doesn't make include-fixer minimize path correctly in some cases, for example, specify a relative search path based on the build directory("-I../include/"). Besides, removing dot dot can break symbolic link directories. So don't removing it for now. Reviewers: ioeric, bkramer Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D21132 llvm-svn: 272152
* [include-fixer] explicitly set minimize-paths in test.Eric Liu2016-06-081-1/+1
| | | | llvm-svn: 272151
* Patch ready for #2436Marshall Clow2016-06-081-1/+1
| | | | llvm-svn: 272150
* [Sparc] Complex return value ABI compliance.Chris Dewhurst2016-06-081-0/+45
| | | | | | | | | | | | According to the Sparc V8 ABI, complex numbers should be passed and returned as pairs of registers: https://docs.oracle.com/cd/E26502_01/html/E28387/gentextid-2734.html This fix ensures this is the case. Without this, complex numbers are returned as a struct of two floats, which breaks the ABI rules. Differential Review: http://reviews.llvm.org/D20955 llvm-svn: 272149
* [Sparc] Complex return value ABI compliance.Chris Dewhurst2016-06-081-0/+19
| | | | | | | | | | | | According to the Sparc V8 ABI, complex numbers should be passed and returned as pairs of registers: https://docs.oracle.com/cd/E26502_01/html/E28387/gentextid-2734.html This fix ensures this is the case. Without this, complex numbers are returned as a struct of two floats, which breaks the ABI rules. Differential Review: http://reviews.llvm.org/D20955 llvm-svn: 272148
* [lit] Ensure we get bytes when reading redirected output files.Daniel Dunbar2016-06-081-1/+1
| | | | llvm-svn: 272147
* Move a function declaration to a header.Rui Ueyama2016-06-082-2/+1
| | | | llvm-svn: 272146
* Support: correct AArch64 TargetParser implementationSaleem Abdulrasool2016-06-082-20/+62
| | | | | | | | | | | | | | | | | | | | | | | The architecture enumeration is shared across ARM and AArch64. However, the data is not. The code incorrectly would index into the array using the architecture index which was offset by the ARMv7 architecture enumeration. We do not have a marker for indicating the architectural family to which the enumeration belongs so we cannot be clever about offsetting the index (at least it is not immediately apparent to me). Instead, fall back to the tried-and-true method of slowly iterating the array (its not a large array, so the impact of this is not too high). Because of the incorrect indexing, if we were lucky, we would crash, but usually we would return an invalid StringRef. We did not have any tests for the AArch64 target parser previously;. Extend the previous tests I had added for ARM to cover AArch64 for ensuring that we return expected StringRefs. Take the opportunity to change some iterator types to references. This work is needed to support parsing `.arch name` directives in the AArch64 target asm parser. llvm-svn: 272145
* [clang-tidy] correct clang-tidy-diff.py help messageAlexander Kornienko2016-06-081-5/+5
| | | | | | | | | | | | | | | | Summary: Looks like the original code was copied from clang-format-diff.py. Update help message to make it clang-tidy specific. Reviewers: klimek, alexfh Subscribers: Eugene.Zelenko, cfe-commits Patch by Igor Sugak! Differential Revision: http://reviews.llvm.org/D21050 llvm-svn: 272144
* clang-format: [JS] fix a FIXME.Martin Probst2016-06-081-1/+1
| | | | llvm-svn: 272143
* clang-format: [JS] fix an assertion failure caused by shrinking sources.Martin Probst2016-06-082-2/+28
| | | | | | | | | | | | | | | | | | Summary: The JavaScript import sorter has a corner condition that can cause the overall source text length to shrink. This change circumvents the issue by appending trailing space in the line after the import blocks to match at least the previous source code length. This needs a better long term fix, but this fixes the immediate issue. Reviewers: alexeagle, djasper Subscribers: klimek Differential Revision: http://reviews.llvm.org/D21108 llvm-svn: 272142
* [AVX512] Emit select instruction instead of using x86 specific instrinsics.Igor Breger2016-06-0810-283/+274
| | | | | | | | This will allow us to remove the x86 instrinics from the backend. Differential Revision: http://reviews.llvm.org/D21060 llvm-svn: 272141
* [PM] LoopSimplify. Remove unneeded pass dependencies. NFCI.Davide Italiano2016-06-081-3/+0
| | | | llvm-svn: 272140
* [PM/SimplifyCFG] Preserve GlobalsAA even if the IR is mutated.Davide Italiano2016-06-081-4/+5
| | | | llvm-svn: 272139
* [mips] Add a proper file header in MipsFastISel.cppVasileios Kalintiris2016-06-081-2/+15
| | | | llvm-svn: 272138
* [ELF] - Removed includeInGnuHashTable() function. NFC.George Rimar2016-06-081-6/+1
| | | | | | | It was one line global static function that looks nicer to inline, patch do that. llvm-svn: 272137
* Correcting a typo in a comment; NFC.Aaron Ballman2016-06-081-1/+1
| | | | llvm-svn: 272136
* [Hexagon] Modify HexagonExpandCondsets to handle subregistersKrzysztof Parzyszek2016-06-081-507/+454
| | | | | | | | | Also, switch to using functions from LiveIntervalAnalysis to update live intervals, instead of performing the updates manually. Re-committing r272045. llvm-svn: 272135
* [ELF] - Fixed mistype in comment. NFC.George Rimar2016-06-081-1/+1
| | | | llvm-svn: 272134
* [ELF] Replace getELFRelocationTypeName() calls with getRelName(). NFC.George Rimar2016-06-082-11/+9
| | | | | | That made few places in code a bit shorter. llvm-svn: 272133
* [include-fixer] do not add enum forward declaration into symbol index table.Eric Liu2016-06-082-4/+9
| | | | llvm-svn: 272132
* [ELF] Simplify shouldMerge() result calculation. NFC.George Rimar2016-06-081-4/+1
| | | | llvm-svn: 272131
* [ELF] - Replaced one more hardcode with named constant. NFC.George Rimar2016-06-081-2/+1
| | | | llvm-svn: 272130
* [ELF] - Replaced hardcode with named constants. NFC.George Rimar2016-06-082-3/+3
| | | | llvm-svn: 272129
* [clang-tidy] misc-macro-parentheses - avoid adding parentheses in variable ↵Daniel Marjamaki2016-06-082-2/+53
| | | | | | | | | | | | | | declarations Fixes bugzilla issues 26273 and 27399 Reviewers: alexfh Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D20853 llvm-svn: 272128
* [ARM] Remove redundant check. NFCDiana Picus2016-06-081-1/+1
| | | | | | isSwift is tested earlier and known to be false when we reach this code. llvm-svn: 272127
* Avoid copies of std::strings and APInt/APFloats where we only read from itBenjamin Kramer2016-06-0823-41/+41
| | | | | | | | As suggested by clang-tidy's performance-unnecessary-copy-initialization. This can easily hit lifetime issues, so I audited every change and ran the tests under asan, which came back clean. llvm-svn: 272126
* clang-format: Fix incorrect calculation of "length" of /**/ comments.Daniel Jasper2016-06-082-3/+14
| | | | | | This could lead to column limit violations. llvm-svn: 272125
* clang-format: Fix bug in function ref qualifier identification.Daniel Jasper2016-06-082-4/+2
| | | | | | | | | | | | | | .. and simplify it. Before: void A::f()&& {} void f() && {} After: void A::f() && {} void f() && {} llvm-svn: 272124
* [Clang][AVX512][BUILTIN]Adding intrinsics for range_round_{sd|ss}Michael Zuckerman2016-06-083-0/+80
| | | | | | Differential Revision: http://reviews.llvm.org/D21002 llvm-svn: 272123
* [AVX512] Fix cvtusi2sd instruction Opcode, it should be 0x7B instead of 0x2A.Igor Breger2016-06-081-1/+1
| | | | llvm-svn: 272122
* Add doxygen comments to xmmintrin.h's intrinsics.Ekaterina Romanova2016-06-081-0/+944
| | | | | | | | | | | | | Only half of the intrinsics in this file is documented here. The patch for the o ther half will be sent out later. The doxygen comments are automatically generated based on Sony's intrinsics docu ment. I got an OK from Eric Christopher to commit doxygen comments without prior code review upstream. llvm-svn: 272121
* [ELF] - Tweak verneed.s test to use new llvm-readobj functionalityGeorge Rimar2016-06-081-25/+78
| | | | | | | | | | | Previously this test performed check of binary data. Since llvm-readobj currently able to dump all 3 types of version relative sections, that can be used to make this test more transparent. Patch do that. Differential revision: http://reviews.llvm.org/D21024 llvm-svn: 272120
* [AVX512] Reformat macro intrinsics, ensure arguments have proper typecasts, ↵Craig Topper2016-06-082-329/+260
| | | | | | ensure result is typecasted back to the generic types. llvm-svn: 272119
* [X86] Put parentheses around macro arguments in intrinsics.Craig Topper2016-06-081-8/+10
| | | | llvm-svn: 272118
* Make LiveDebugValues preserve CFGMatt Arsenault2016-06-081-0/+1
| | | | llvm-svn: 272117
* [libFuzzer] add 'weak' back to __sanitizer_malloc_hook and __sanitizer_free_hookKostya Serebryany2016-06-081-0/+2
| | | | llvm-svn: 272116
* AMDGPU: Verify subtarget specific builtinsMatt Arsenault2016-06-087-70/+133
| | | | | | Cleanup setup of subtarget features. llvm-svn: 272091
* [libFuzzer] add a test that is built w/o coverage instrumentation but has ↵Kostya Serebryany2016-06-085-1/+27
| | | | | | the coverage rt (it should now fail with a descriptive message) llvm-svn: 272090
* [profile] Un-hide two symbolsVedant Kumar2016-06-082-3/+2
| | | | | | | | | | | - lprofCurFilename was intended to have external visibility. This is pending further discussion. - The raw version number doesn't need to be hidden: hiding it may make it easier to accidentally combine FE/IR profiles. See the mailing list discussion on r272081. llvm-svn: 272089
* [libFuzzer] docs: merge two lines with cmake instructions, add ↵Kostya Serebryany2016-06-081-6/+5
| | | | | | -DLLVM_ENABLE_ASSERTIONS=ON llvm-svn: 272088
* Revive the error message from "process load" and SBProcess::LoadImage.Jim Ingham2016-06-081-1/+1
| | | | | | | | | | | IsPointedCString has problems with ValueObjects of type eTypeHostAddress. We should figure out the right thing to do in that case, but the test is silly here because we're reading a type we've defined, so we know it is a const char *, and if the memory is good, we won't be able to read any characters, when we do ReadPointedString. <rdar://problem/26612812> llvm-svn: 272087
* [AArch64][RegisterBankInfo] Use the generic implementation of copyCost.Quentin Colombet2016-06-081-1/+2
| | | | | | Long term we may want to give high cost at FPR to/from GPR copies. llvm-svn: 272086
* [RegisterBankInfo] Adapt the copy cost logic to give something sane by default.Quentin Colombet2016-06-081-1/+5
| | | | | | | | The generic implementation stated that all copies were free, which is unlikely. Now, only the copies within the same register bank are free. We assume they will get coalesced. llvm-svn: 272085
OpenPOWER on IntegriCloud