summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [asan] Use 1 byte aligned stores to poison shadow memoryVitaly Buka2016-08-221-2/+2
| | | | | | | | | | | | Summary: r279379 introduced crash on arm 32bit bot. I suspect this is alignment issue. Reviewers: eugenis Subscribers: llvm-commits, aemerson Differential Revision: https://reviews.llvm.org/D23762 llvm-svn: 279413
* [X86] Merge hasVEX_i8ImmReg into the ImmFormat type which had extra unused ↵Craig Topper2016-08-225-84/+91
| | | | | | encodings. This saves one bit in TSFlags. NFC llvm-svn: 279412
* [X86] Remove ignoreVEX_L from TSFlags. Only the disassembler needs it and ↵Craig Topper2016-08-222-23/+9
| | | | | | the disassembler doesn't use TSFlags. NFC llvm-svn: 279411
* Reformat.NAKAMURA Takumi2016-08-222-22/+22
| | | | llvm-svn: 279409
* Untabify.NAKAMURA Takumi2016-08-223-23/+20
| | | | llvm-svn: 279408
* COFF: hoist a local variableSaleem Abdulrasool2016-08-211-3/+7
| | | | | | Create a local variable for the rdata section. NFC. llvm-svn: 279407
* [CostModel][X86] Removed shift testsSimon Pilgrim2016-08-211-80/+0
| | | | | | There are more thorough tests found in vshift-*-cost.ll llvm-svn: 279406
* [CostModel][X86] Added costs for vXi16 and vXi8 vectors for ↵Simon Pilgrim2016-08-211-114/+372
| | | | | | add/sub/mul/and/or/xor tests llvm-svn: 279405
* [CostModel][X86] Replaced SSSE3 with SSE2 costs to create a better baselineSimon Pilgrim2016-08-211-43/+43
| | | | llvm-svn: 279404
* [CostModel][X86] Added fsqrt and fma costsSimon Pilgrim2016-08-211-2/+104
| | | | llvm-svn: 279403
* [CostModel][X86] Split off float arithmetic cost testsSimon Pilgrim2016-08-212-215/+224
| | | | llvm-svn: 279402
* [InstCombine] use m_APInt to allow icmp (shl X, Y), C folds for splat ↵Sanjay Patel2016-08-212-16/+12
| | | | | | | | | | | constant vectors, part 4 This concludes the fixes for icmp+shl in this series: https://reviews.llvm.org/rL279339 https://reviews.llvm.org/rL279398 https://reviews.llvm.org/rL279399 llvm-svn: 279401
* remove FIXME comment; fixed by previous commitSanjay Patel2016-08-211-1/+0
| | | | llvm-svn: 279400
* [InstCombine] use m_APInt to allow icmp (shl X, Y), C folds for splat ↵Sanjay Patel2016-08-212-8/+8
| | | | | | | | constant vectors, part 3 This is a partial enablement (move the ConstantInt guard down). llvm-svn: 279399
* [InstCombine] use m_APInt to allow icmp (shl X, Y), C folds for splat ↵Sanjay Patel2016-08-212-9/+7
| | | | | | | | constant vectors, part 2 This is a partial enablement (move the ConstantInt guard down). llvm-svn: 279398
* [X86][AVX] Dropped combineShuffle256 - this can now be performed by ↵Simon Pilgrim2016-08-211-82/+0
| | | | | | EltsFromConsecutiveLoads llvm-svn: 279397
* [InstCombine] use APInt instead of ConstantInt in isSignBitCheck(); NFCISanjay Patel2016-08-211-8/+8
| | | | | | | | The callers still have ConstantInt guards, so there is no functional change intended from this change. But relaxing the callers will allow more folds for vector types. llvm-svn: 279396
* Add a flag to dump SCoP optimized with the IslScheduleOptimizer passRoman Gareev2016-08-212-25/+18
| | | | | | | | | | | | | Dump polyhedral descriptions of Scops optimized with the isl scheduling optimizer and the set of post-scheduling transformations applied on the schedule tree to be able to check the work of the IslScheduleOptimizer pass at the polyhedral level. Reviewed-by: Tobias Grosser <tobias@grosser.es> Differential Revision: https://reviews.llvm.org/D23740 llvm-svn: 279395
* Simplify AccFuncMap to vector<> AccessFunctionsRoman Gareev2016-08-213-23/+14
| | | | | | | | | | | | | getAccessFunctions() is dead code and the 'BB' argument of getOrCreateAccessFunctions() is not used. This patch deletes getAccessFunctions and transforms AccFuncMap into a std::vector<std::unique_ptr<MemoryAccess>> AccessFunctions. Reviewed-by: Tobias Grosser <tobias@grosser.es> Differential Revision: https://reviews.llvm.org/D23759 llvm-svn: 279394
* [AVX512][FastISel] Do not use K registers in TEST instructionsGuy Blank2016-08-212-31/+94
| | | | | | | | | In some cases, FastIsel was emitting TEST instruction with K reg input, which is illegal. Changed to using KORTEST when dealing with K regs. Differential Revision: https://reviews.llvm.org/D23163 llvm-svn: 279393
* [X86][AVX512F] minor fix of the parameter namesAsaf Badouh2016-08-211-8/+8
| | | | | | | | | | | | | add "__" prefix Bug 28842 https://llvm.org/bugs/show_bug.cgi?id=29040 Differential Revision: https://reviews.llvm.org/D23753 llvm-svn: 279392
* ARM: Avoid dereferencing end() in ARMFrameLowering::emitEpilogueDuncan P. N. Exon Smith2016-08-212-2/+84
| | | | | | | | | | | | | | | | | | This fixes the crash from PR29072, where the MachineBasicBlock::iterator wasn't being properly checked against MachineBasicBlock::end() before iterating. This was another bug exposed by the new ilist::iterator::operator*() assertion from r279314. This testcase is poor quality. bugpoint couldn't reduce any further, and I haven't had time to dig into what's going on so I can't invent a better one. I didn't even get good CHECK lines in: this is just a crasher. I'm committing anyway since this is a real crash with an obvious fix, but I'll leave PR29072 open and ask an ARM maintainer to help improve the testcase. llvm-svn: 279391
* Fix broken macOS LLDB Xcode build from r279314Todd Fiala2016-08-201-1/+1
| | | | llvm-svn: 279390
* [X86][SSE] Regenerate 32-bit buildvector testSimon Pilgrim2016-08-201-7/+16
| | | | llvm-svn: 279389
* [X86][SSE] Regenerate subvector extraction widening testSimon Pilgrim2016-08-201-5/+17
| | | | llvm-svn: 279388
* [X86] Regenerate fp truncate testsSimon Pilgrim2016-08-202-11/+11
| | | | llvm-svn: 279387
* Regenerate testSimon Pilgrim2016-08-201-3/+3
| | | | llvm-svn: 279386
* Regenerate testSimon Pilgrim2016-08-201-9/+13
| | | | llvm-svn: 279385
* [X86][XOP] Tweak vpermil2pd test to stop it being combined awaySimon Pilgrim2016-08-201-3/+3
| | | | llvm-svn: 279384
* [asan] Minimize code size by using __asan_set_shadow_* for large blocksVitaly Buka2016-08-202-15/+93
| | | | | | | | | | | | | Summary: We can insert function call instead of multiple store operation. Current default is blocks larger than 64 bytes. Changes are hidden behind -asan-experimental-poisoning flag. PR27453 Differential Revision: https://reviews.llvm.org/D23711 llvm-svn: 279383
* Wdocumentation fixSimon Pilgrim2016-08-201-2/+2
| | | | llvm-svn: 279382
* Use SDValue::getOpcode() helper instead of via SDValue::getNode()Simon Pilgrim2016-08-201-2/+2
| | | | llvm-svn: 279381
* [asan] Initialize __asan_set_shadow_* callbacksVitaly Buka2016-08-202-0/+43
| | | | | | | | | | | | | | | Summary: Callbacks are not being used yet. PR27453 Reviewers: kcc, eugenis Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D23634 llvm-svn: 279380
* [asan] Optimize store size in FunctionStackPoisoner::poisonRedZonesVitaly Buka2016-08-204-54/+69
| | | | | | | | | | | | Summary: Reduce store size to avoid leading and trailing zeros. Reviewers: kcc, eugenis Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D23648 llvm-svn: 279379
* [analyzer] Use faster hashing (MD5) in CloneDetector.Artem Dergachev2016-08-203-93/+212
| | | | | | | | | | | | | | | This replaces the old approach of fingerprinting every AST node into a string, which avoided collisions and was simple to implement, but turned out to be extremely ineffective with respect to both performance and memory. The collisions are now dealt with in a separate pass, which no longer causes performance problems because collisions are rare. Patch by Raphael Isemann! Differential Revision: https://reviews.llvm.org/D22515 llvm-svn: 279378
* [asan] Rename asan-instrument-allocas -> asan-instrument-dynamic-allocasVitaly Buka2016-08-2012-13/+13
| | | | | | | | | | Summary: Depends on D23707. Subscribers: kubabrecka Differential Revision: https://reviews.llvm.org/D23709 llvm-svn: 279377
* [asan] Cleanup instrumentation of dynamic allocasVitaly Buka2016-08-205-29/+49
| | | | | | | | | | Summary: Extract instrumenting dynamic allocas into separate method. Rename asan-instrument-allocas -> asan-instrument-dynamic-allocas Differential Revision: https://reviews.llvm.org/D23707 llvm-svn: 279376
* [X86][SSE] Added vector interleave test (PR21281)Simon Pilgrim2016-08-201-0/+151
| | | | llvm-svn: 279375
* [Sema] Don't crash on scanf on forward-declared enums.Benjamin Kramer2016-08-203-4/+35
| | | | | | | | This is valid in GNU C, which allows pointers to incomplete enums. GCC just pretends that the underlying type is 'int' in those cases, follow that behavior. llvm-svn: 279374
* [asan] Add support of lifetime poisoning into ComputeASanStackFrameLayoutVitaly Buka2016-08-204-33/+48
| | | | | | | | | | | | | | | Summary: We are going to combine poisoning of red zones and scope poisoning. PR27453 Reviewers: kcc, eugenis Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D23623 llvm-svn: 279373
* Move unittests/Support/IteratorTest.cpp to unittests/ADT/Duncan P. N. Exon Smith2016-08-203-1/+1
| | | | | | This testing stuff from ADT, not Support. Fix the file location. llvm-svn: 279372
* PR28423: Compare primary declaration contexts.Vassil Vassilev2016-08-202-1/+7
| | | | | | | | | | | In certain cases (mostly coming from modules), Sema's idea of the StdNamespace does not point to the first declaration of namespace std. Patch by Cristina Cristescu! Reviewed by Richard Smith. llvm-svn: 279371
* Reapply "[SLP] Initialize VectorizedValue when gathering"Matthew Simpson2016-08-202-8/+153
| | | | | | | | | | | The test case included in r279125 exposed existing undefined behavior in the SLP vectorizer that it did not introduce. This patch reapplies the original patch, but modifies the test case to avoid hitting the undefined behavior. This allows us to close PR28330 while keeping the UBSan bot happy. The undefined behavior the original test uncovered will be addressed in a follow-on patch. Reference: https://llvm.org/bugs/show_bug.cgi?id=28330 llvm-svn: 279370
* [SLP] Add command line option for minimum tree size (NFC)Matthew Simpson2016-08-201-1/+5
| | | | llvm-svn: 279369
* Add R_386_TLS_LE as a relocation having an implicit addend.Ed Schouten2016-08-202-3/+4
| | | | | | | | | | | | | | TLS on i386 in non-PIE/PIC code seems broken right now, because we don't properly add the addend encoded in the instruction to the resulting offset when processing R_386_TLS_LE relocations. Extend one of the existing tests for TLS on i686 to use an addend. PR: https://llvm.org/bugs/show_bug.cgi?id=29068 Reviewed by: ruiu Differential Revision: https://reviews.llvm.org/D23741 llvm-svn: 279368
* [analyzer] Make CloneDetector consider macro expansions.Artem Dergachev2016-08-204-7/+194
| | | | | | | | | | | | | | | | | So far macro-generated code was treated by the CloneDetector as normal code. This caused that some macros where reported as false-positive clones because large chunks of code coming from otherwise concise macro expansions were treated as copy-pasted code. This patch ensures that macros are treated in the same way as literals/function calls. This prevents macros that expand into multiple statements from being reported as clones. Patch by Raphael Isemann! Differential Revision: https://reviews.llvm.org/D23316 llvm-svn: 279367
* [analyzer] Make CloneDetector consider template arguments.Artem Dergachev2016-08-202-2/+74
| | | | | | | | | | | For example, code samples `isa<Stmt>(S)' and `isa<Expr>(S)' are no longer considered to be clones. Patch by Raphael Isemann! Differential Revision: https://reviews.llvm.org/D23555 llvm-svn: 279366
* Revert "[SLP] Initialize VectorizedValue when gathering" to fix ubsan bot.Vitaly Buka2016-08-202-161/+8
| | | | | | | | This reverts commit r279125. https://reviews.llvm.org/D23410 llvm-svn: 279363
* [CMake/ASan] Skip using libedit if ASan is enabled -- it leaks memory.Chandler Carruth2016-08-201-1/+2
| | | | | | | Note that you'll have to clear this variable from your CMake cache for it to take effect. llvm-svn: 279362
* [Profile] add test with large countsXinliang David Li2016-08-202-0/+15
| | | | llvm-svn: 279361
OpenPOWER on IntegriCloud