summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [pdb] Handle stream index errors better.Zachary Turner2016-06-0818-236/+336
| | | | | | | Reviewed By: ruiu Differential Revision: http://reviews.llvm.org/D21128 llvm-svn: 272172
* Remove a patch .rej file.Rui Ueyama2016-06-081-11/+0
| | | | llvm-svn: 272171
* [AArch64][RegisterBankInfo] G_OR are fine on either GPR or FPR.Quentin Colombet2016-06-083-1/+166
| | | | | | | | | | Teach AArch64RegisterBankInfo that G_OR can be mapped on either GPR or FPR for 64-bit or 32-bit values. Add test cases demonstrating how this information is used to coalesce a computation on a single register bank. llvm-svn: 272170
* [RegBankSelect] Use RegisterBankInfo applyMapping method.Quentin Colombet2016-06-081-11/+8
| | | | | | | The RegBankSelect pass can now rely on the target to do the remapping of the instructions. llvm-svn: 272169
* [NFC] "#include <ciso646>" is unnecessary, because "and", "or" were replacedRoman Gareev2016-06-081-1/+0
| | | | | | by "&&", "||". llvm-svn: 272168
* [profile] Hide some external symbols in InstrProfData.incVedant Kumar2016-06-082-17/+31
| | | | | | Differential Revision: http://reviews.llvm.org/D21116 llvm-svn: 272167
* [ProfileData] Update llvm's copy of InstrProfData.incVedant Kumar2016-06-081-19/+31
| | | | | | | The new version of the header introduces the INSTR_PROF_VISIBILITY macro. See http://reviews.llvm.org/D21116 for more details. llvm-svn: 272166
* [RegisterBankInfo] Implement the method to apply a mapping.Quentin Colombet2016-06-082-0/+61
| | | | | | | | | Now, the target will be able to provide its how implementation to remap an instruction. This open the way to crazier optimizations, but to beginning with, we will be able to handle something else than the default mapping. llvm-svn: 272165
* [RegBankSelect] Use the OperandMapper class to hold remap information.Quentin Colombet2016-06-081-10/+8
| | | | | | | | | Now that we have an entity that hold the remap information the rewritting should be easier to do. No functional changes. llvm-svn: 272164
* [RegBankSelect] Use const_iterator instead of iterator for repairReg.Quentin Colombet2016-06-082-5/+6
| | | | | | | The repairing code has no reason to change the source or destination of the registers. llvm-svn: 272163
* [profile] Pass extra build flags (feature enabling macros) to Darwin buildXinliang David Li2016-06-082-2/+1
| | | | | | Differential Revision: http://reviews.llvm.org/D21119 llvm-svn: 272162
* [RegisterBankInfo] Introduce OperandsMapper class.Quentin Colombet2016-06-082-0/+170
| | | | | | | This helper class is used to encapsulate the necessary information to remap an instruction. llvm-svn: 272161
* [Target] Introduce a generic opcode for bitwise OR: G_OR.Quentin Colombet2016-06-085-7/+25
| | | | | | This G_OR is used in GlobalISel to represent bitwise OR. llvm-svn: 272160
* [Sema] Don't permit catching variably modified typesDavid Majnemer2016-06-083-0/+21
| | | | | | | | Variably modified types shouldn't be permitted in catch clauses. This fixes PR28047. llvm-svn: 272159
* [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
OpenPOWER on IntegriCloud