summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [x86] add an SSE1 run for these testsSanjay Patel2016-04-011-105/+106
| | | | | | | | Note however that this is identical to the existing SSE2 run. What we really want is yet another run for an SSE2 machine that also has fast unaligned 16-byte accesses. llvm-svn: 265167
* Simplify if. NFC.Rafael Espindola2016-04-011-8/+7
| | | | llvm-svn: 265166
* Guard xunit result test class and test method name access to prevent testbot ↵Todd Fiala2016-04-011-2/+2
| | | | | | | | breakage http://llvm.org/bugs/show_bug.cgi?id=27179 llvm-svn: 265165
* [X86][SSE] Regenerated vec_setcc tests.Simon Pilgrim2016-04-011-111/+131
| | | | llvm-svn: 265164
* [X86][SSE] Regenerated the vec_set tests.Simon Pilgrim2016-04-0113-128/+214
| | | | | | Replaced lots of dodgy greps with actual codegen llvm-svn: 265163
* [CrashReproducer] Add -fmodule-cache-path to reproducer scriptBruno Cardoso Lopes2016-04-016-0/+18
| | | | | | | | The cc1 invocation in the reproducer script should contain a valid path in -fmodule-cache-path; for that reuse "<name>.cache/module" dir we already use to dump the vfs and modules. llvm-svn: 265162
* [x86] avoid intermediate splat for non-zero memsets (PR27100)Sanjay Patel2016-04-012-19/+12
| | | | | | | | | | | | | | | | | Follow-up to http://reviews.llvm.org/D18566 and http://reviews.llvm.org/D18676 - where we noticed that an intermediate splat was being generated for memsets of non-zero chars. That was because we told getMemsetStores() to use a 32-bit vector element type, and it happily obliged by producing that constant using an integer multiply. The 16-byte test that was added in D18566 is now equivalent for AVX1 and AVX2 (no splats, just a vector load), but we have PR27141 to track that splat difference. Note that the SSE1 path is not changed in this patch. That can be a follow-up. This patch should resolve PR27100. llvm-svn: 265161
* [AArch64] Fix a typo. NFC.Chad Rosier2016-04-011-1/+1
| | | | llvm-svn: 265160
* [ELF] - Split Writer::assignAddresses(): extract code for initializing ↵George Rimar2016-04-011-5/+4
| | | | | | | | | | | dummies sections Extracts code for initializing dummies sections to avoid possible duplication in following patches. Differential review: http://reviews.llvm.org/D18691 llvm-svn: 265159
* [InstCombine] Don't sink an instr after a catchswitchDavid Majnemer2016-04-012-1/+50
| | | | | | A catchswitch is a terminator, instructions cannot be inserted after it. llvm-svn: 265158
* [SLPVectorizer] Don't insert an extractelement before a catchswitchDavid Majnemer2016-04-012-2/+59
| | | | | | | | | | | | | A catchswitch cannot be preceded by another instruction in the same basic block (other than a PHI node). Instead, insert the extract element right after the materialization of the vectorized value. This isn't optimal but is a reasonable compromise given the constraints of WinEH. This fixes PR27163. llvm-svn: 265157
* Make error handling consistent.Rui Ueyama2016-04-011-13/+12
| | | | | | | Some functions in Writer reports error using HasError, and some reports their return values. This patch makes them to consistently use HasError. llvm-svn: 265156
* Remove dead code.Rui Ueyama2016-04-011-5/+0
| | | | | | Thanks to George Rimor for pointing it out. llvm-svn: 265155
* Don't do extra work if -r is given.Rui Ueyama2016-04-011-1/+1
| | | | | | | | fixAbsoluteSymbols fixes linker-created symbol addresses. Since we don't create such symbols for relocatable output, we don't need to call this function. llvm-svn: 265154
* Fix warnings uncovered by building with clang-clReid Kleckner2016-04-012-3/+3
| | | | | | | Move ifdefs to avoid unused static helpers. Move alignment attribute so that it is respected in GCC and MSVC. llvm-svn: 265153
* Fix a load of -Wunknown-pragma warnings from clang-clReid Kleckner2016-04-011-2/+2
| | | | llvm-svn: 265152
* Tidy up address and file offset assignments in the Writer.Rui Ueyama2016-04-011-32/+31
| | | | | | | | | | | | | assignAddressesRelocatable function did not set addresses to sections despite its name. What it actually did is to set file offsets to sections. assignAddresses function assigned addresses and file offsets to sections. So there was a confusion what they were doing, and they had duplicate code. This patch separates file offset assignments from address assignments. A new function, assignFileOffsets assign file offsets. assignAddresses do not care about file offsets anymore. llvm-svn: 265151
* Bring r264761 back with an extra fix.Rafael Espindola2016-04-012-11/+1
| | | | | | | | | | | | | | | | The extra fix is to note that it still requires copy relocations. Original message: Change how we handle R_MIPS_LO16. Mips aligns PT_LOAD to 16 bits (0x10000). That means that the lower 16 bits are always the same, so we can, effectively, say that the relocation is relative. P.S.: Suggestions for a better name for the predicate are welcome :-) llvm-svn: 265150
* [PGO] Refactor PGOFuncName meta data code to be used in clangRong Xu2016-04-013-12/+30
| | | | | | | | | Refactor the code that gets and creates PGOFuncName meta data so that it can be used in clang's value profile annotation. Differential Revision: http://reviews.llvm.org/D18623 llvm-svn: 265149
* [x86] avoid intermediate splat for non-zero memsets (PR27100)Sanjay Patel2016-04-012-119/+74
| | | | | | | | | | | | | | | | | | | | Follow-up to D18566 - where we noticed that an intermediate splat was being generated for memsets of non-zero chars. That was because we told getMemsetStores() to use a 32-bit vector element type, and it happily obliged by producing that constant using an integer multiply. The tests that were added in the last patch are now equivalent for AVX1 and AVX2 (no splats, just a vector load), but we have PR27141 to track that splat difference. In the new tests, the splat via shuffling looks ok to me, but there might be some room for improvement depending on uarch there. Note that the SSE1/2 paths are not changed in this patch. That can be a follow-up. This patch should resolve PR27100. Differential Revision: http://reviews.llvm.org/D18676 llvm-svn: 265148
* Don't apply a recolation that the dynamic linker will rewrite.Rafael Espindola2016-04-012-4/+4
| | | | | | | This matches the behavior of both bfd and gold. Looks like we just got here for mips because of a bad ordering of an if else chain. llvm-svn: 265147
* [OpenCL] Moved nosvm attribute handling in Sema to other OpenCL attrsAnastasia Stulova2016-04-011-3/+3
| | | | llvm-svn: 265146
* [ADT] Make StringMap's tombstone aligned.Benjamin Kramer2016-04-011-4/+8
| | | | | | | | This avoids undefined behavior when casting pointers to it. Also make sure that we don't cast to a derived StringMapEntry before checking for tombstone, as that may have different alignment requirements. llvm-svn: 265145
* [PGOProfile] Rename a test to make it more reusable, NFCVedant Kumar2016-04-011-1/+2
| | | | llvm-svn: 265144
* Pass a const pointer to getImplicitAddend. NFC.Rafael Espindola2016-04-012-8/+10
| | | | llvm-svn: 265143
* Refactor duplicated code.Rafael Espindola2016-04-011-23/+8
| | | | | | | We had almost identical code to handle creating a plt entry in two places. llvm-svn: 265142
* [AMDGPU] fix MADAK/MADMK instructions operand namings to match encoding fields.Valery Pykhtin2016-04-013-16/+16
| | | | | | | | $vsrc1 -> $src1, $k -> $imm Differential Revision: http://reviews.llvm.org/D18659 llvm-svn: 265141
* Fix clean rule for a makefilePavel Labath2016-04-011-1/+1
| | | | | | | The test was failing on windows because the clean rule (which is executed even if the test is skipped) returned an error there. llvm-svn: 265140
* Avoid creating duplicated relocations.Rafael Espindola2016-04-013-3/+43
| | | | llvm-svn: 265139
* [x86] Remove redundant call to setTargetDAGCombine for BUILD_VECTOR node type.Andrea Di Biagio2016-04-011-1/+0
| | | | | | | Since revision 235394, we no longer perform target specific combines on build_vector nodes. No functional change intended. llvm-svn: 265138
* Fix linux buildbot after r265136George Rimar2016-04-011-4/+4
| | | | | | | | | http://lab.llvm.org:8011/builders/lld-x86_64-darwin13/builds/20138 Fix: Move method above class that uses it. Works fine with MSVS. llvm-svn: 265137
* Make dummySectionsNum() to be not a member of writer. NFC.George Rimar2016-04-011-3/+4
| | | | llvm-svn: 265136
* [X86][AVX512] Regenerated intrinsics testsSimon Pilgrim2016-04-011-126/+146
| | | | llvm-svn: 265135
* [MIPS][LLVM-MC] Fix JR encoding for MIPSR6 ISASagar Thakur2016-04-013-1/+5
| | | | | | | | | | Summary: The assembler was picking the wrong JR variant because the pre-R6 one was still enabled at R6. Author: nitesh.jain Reviewers: vkalintiris, dsanders Subscribers: dsanders, llvm-commits, mohit.bhakkad, sagar, bhushan, jaydeep Differential: D18387 llvm-svn: 265134
* [ThinLTO] Fix uninitialized flags.Benjamin Kramer2016-04-011-2/+2
| | | | | | Found by msan. Patch by Adrian Kuegel! llvm-svn: 265133
* [FIX] Adjust the insert point for non-affine region PHIsJohannes Doerfert2016-04-012-4/+57
| | | | | | | | | | If a non-affine region PHI is generated we should not move the insert point prior to the synthezised value in the same block as we might split that block at the insert point later on. Only if the incoming value should be placed in a different block we should change the insertion point. llvm-svn: 265132
* Split Writer::assignAddresses(): extract common code to fixFileOff(). NFC.George Rimar2016-04-011-13/+14
| | | | llvm-svn: 265131
* Split Writer::assignAddresses(): extract assignPhdrs(). NFC.George Rimar2016-04-011-0/+5
| | | | llvm-svn: 265130
* [ELF] - Move calculation of _end to fixAbsoluteSymbols()George Rimar2016-04-011-4/+2
| | | | | | | | | That is consistent with other symbols: _edata, _etext and can help to avoid duplicate code. Differential revision: http://reviews.llvm.org/D18655 llvm-svn: 265129
* [X86] Introduce Lakemont CPU.Andrey Turetskiy2016-04-012-0/+12
| | | | | | | | Add a new Intel MCU CPU Lakemont, which doesn't support X87. Differential Revision: http://reviews.llvm.org/D18650 llvm-svn: 265128
* [OPENMP] Fixed documentation category for 'declare simd' attribute, NFC.Alexey Bataev2016-04-011-1/+1
| | | | llvm-svn: 265127
* [Lexer] Let the compiler infer string lengths. No functionality change intended.Benjamin Kramer2016-04-011-2/+2
| | | | llvm-svn: 265126
* [Lexer] Don't read out of bounds if a conflict marker is at the end of a fileBenjamin Kramer2016-04-012-1/+12
| | | | | | | | | | This can happen as we look for '<<<<' while scanning tokens but then expect '<<<<\n' to tell apart perforce from diff3 conflict markers. Just harden the pointer arithmetic. Found by libfuzzer + asan! llvm-svn: 265125
* Change a recently added assert into lldbassertPavel Labath2016-04-011-1/+2
| | | | llvm-svn: 265124
* [OPENMP] Avoid useless recursive calls in getDSA if it is called in a loop, NFCDmitry Polukhin2016-04-011-5/+5
| | | | llvm-svn: 265123
* Fix for pr24346: arm asm label calculation error in subJames Molloy2016-04-016-6/+52
| | | | | | | | | | | | | | | | | | | | | | Some ARM instructions encode 32-bit immediates as a 8-bit integer (0-255) and a 4-bit rotation (0-30, even) in its least significant 12 bits. The original fixup, FK_Data_4, patches the instruction by the value bit-to-bit, regardless of the encoding. For example, assuming the label L1 and L2 are 0x0 and 0x104 respectively, the following instruction: add r0, r0, #(L2 - L1) ; expects 0x104, i.e., 260 would be assembled to the following, which adds 1 to r0, instead of 260: e2800104 add r0, r0, #4, 2 ; equivalently 1 The new fixup kind fixup_arm_mod_imm takes care of the encoding: e2800f41 add r0, r0, #260 Patch by Ting-Yuan Huang! llvm-svn: 265122
* [OPENMP 4.5] Allow data members as loop counters in loop-basedAlexey Bataev2016-04-012-166/+289
| | | | | | | | | | directives. OpenMP 4.5 allows privatization of non-static data members in non-static member functions. Patch allows to use and implicit privatization of data members used as counters in loop-based directives. llvm-svn: 265121
* [AArch64] Better errors for out-of-range fixupsOliver Stannard2016-04-013-25/+110
| | | | | | | | | When a fixup that can be resolved by the assembler is out of range, we should report an error in the source, rather than crashing. Differential Revision: http://reviews.llvm.org/D18402 llvm-svn: 265120
* Revert "[OPENMP] Allow skip expression after comma in clauses with lists."Alexey Bataev2016-04-0192-208/+219
| | | | | | | This reverts commit http://reviews.llvm.org/rL265003. After some thoughts decided to emit errors here. llvm-svn: 265119
* ThinLTO: move ObjCARCContractPass in the CodeGen pipelineMehdi Amini2016-04-011-1/+6
| | | | | | | This is to be coherent with Full LTO. From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 265118
OpenPOWER on IntegriCloud