summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Test commitJacob Baungard Hansen2016-05-231-1/+0
| | | | llvm-svn: 270414
* [SCCP] Update comment to reflect reality.Davide Italiano2016-05-231-1/+1
| | | | llvm-svn: 270413
* [FIX] Require base pointers of loads that might alias to be hoistedJohannes Doerfert2016-05-233-19/+106
| | | | | | | | | | | Since the base pointer of a possibly aliasing pointer might not alias with any other pointer it (the base pointer) might not be tagged as "required invariant". However, we need it do be in order to compare the accessed addresses of the derived (possibly aliasing) pointer. This patch also tries to clean up the load hoisting a little bit. llvm-svn: 270412
* Simplify BlockGenerator::handleOutsideUsers interface [NFC]Johannes Doerfert2016-05-232-8/+6
| | | | llvm-svn: 270411
* Make the detection context non-constant [NFC]Johannes Doerfert2016-05-234-5/+5
| | | | llvm-svn: 270410
* [FIX] Let ScalarEvolution forget hoisted valuesJohannes Doerfert2016-05-232-0/+64
| | | | | | | We have to rethink the handling of escaping values in order to make this kind of "fixes" go away. llvm-svn: 270409
* [FIX] Synthezise Sdiv/Srem/Udiv instructions correctly.Johannes Doerfert2016-05-233-31/+77
| | | | | | | This patch simplifies the Sdiv/Srem/Udiv expansion and thereby prevents errors, e.g., regarding the insertion point. llvm-svn: 270408
* [Clang][AVX512][BUILTIN]adding missing intrinsics for movdaq instruction setMichael Zuckerman2016-05-235-0/+153
| | | | | | Differential Revision: http://reviews.llvm.org/D20514 llvm-svn: 270401
* Enable use of sigaltstack for signal handlers when available. With this,Richard Smith2016-05-231-1/+1
| | | | | | | backtraces from the signal handler on stack overflow now work reliably (on my system at least...). llvm-svn: 270395
* [X86] Use instruction aliases to replace custom asm parser code for ↵Craig Topper2016-05-233-51/+53
| | | | | | optimizing moves to use 2 byte VEX prefix. llvm-svn: 270394
* Refactor EhFrameHdr.Rui Ueyama2016-05-233-67/+69
| | | | | | | | | | | | | Previously, EhFrameHdr section computed addresses to which FDEs are applied to. This is not an ideal design because EhFrameHdr does not know much about FDEs unless EhFrame passes the information to EhFrameHdr. It is what we did. This patch simplifies the code by making EhFrame to compute the values and pass the cooked information to EhFrameHdr. EhFrameHdr no longer have to know about the details of FDEs such as FDE encodings. llvm-svn: 270393
* Driver: support exherbo's multiarch supportSaleem Abdulrasool2016-05-233-49/+82
| | | | | | | | Exherbo has an alternative file system layout to accommodate multiarch. The loader is located at /usr/${triple}/lib/${loader}. Adjust the Linux toolchain to support that on exherbo. llvm-svn: 270392
* Fix typo in documentation comment.Bob Wilson2016-05-231-1/+1
| | | | llvm-svn: 270391
* Add comment.Rui Ueyama2016-05-231-0/+4
| | | | llvm-svn: 270390
* Revert "Modify emitTypeInformation to use MemoryTypeTableBuilder"David Majnemer2016-05-232-19/+42
| | | | | | | This reverts commit r270106. It results in certain function types omitted in the output. llvm-svn: 270389
* Simplify. NFC.Rui Ueyama2016-05-231-5/+5
| | | | llvm-svn: 270388
* Make file-local function file-local. NFC.Rui Ueyama2016-05-231-3/+4
| | | | llvm-svn: 270387
* Split MergeInputSection's ctor. NFC.Rui Ueyama2016-05-231-21/+34
| | | | llvm-svn: 270386
* Move splitInputSection from EHOutputSection to EHInputSection.Rui Ueyama2016-05-223-36/+34
| | | | llvm-svn: 270385
* Attempt to unbreak buildbots.Rui Ueyama2016-05-222-9/+9
| | | | | | | | My last commit made Clang to fail with an assertion failure. https://llvm.org/bugs/show_bug.cgi?id=27835 This is a patch to avoid that. llvm-svn: 270384
* [AVX512] Add patterns to implement stores of extracts of least signficant ↵Craig Topper2016-05-222-1/+340
| | | | | | | | subvectors using XMM or YMM stores instead of the vector extract instructions. Similar is already done for AVX and we had lost it going to AVX512VL. llvm-svn: 270383
* Refactor EHOutputSection.Rui Ueyama2016-05-225-145/+154
| | | | | | | | | | | | | | This patch refactors EHOutputSection using SectionPiece struct. EHRegion class was removed since we can now directly use SectionPiece. An incomplete support of large CIE/FDE record (> 2^32 bytes) was removed because it silently created broken executable. There are several places in the existing code that "size" field is always 4 bytes and at offset 4 in the record, which is not true for 64-bit size records. We will have to support that in future, but it is better to error out instead of creating malformed eh_frame sections. llvm-svn: 270382
* [Kaleidoscope] Fix static global ordering to prevent crash on exit.Lang Hames2016-05-225-5/+5
| | | | | | | If TheModule is declared before LLVMContext then it will be destructed after it, crashing when it tries to deregister itself from the destructed context. llvm-svn: 270381
* [driver][mips] Follow-up to r270373. Add missed folder.Simon Atanasyan2016-05-221-0/+0
| | | | llvm-svn: 270380
* [X86][SSE] Added extra i8 extract element testSimon Pilgrim2016-05-221-0/+20
| | | | llvm-svn: 270379
* [x86, AVX] don't add a vzeroupper if that's what the code is already doing ↵Sanjay Patel2016-05-223-6/+6
| | | | | | | | | | | | | | | (PR27823) This isn't the complete fix, but it handles the trivial examples of duplicate vzero* ops in PR27823: https://llvm.org/bugs/show_bug.cgi?id=27823 ...and amusingly, the bogus cases already exist as regression tests, so let's take this baby step. We'll need to do more in the general case where there's legitimate AVX usage in the function + there's already a vzero in the code. Differential Revision: http://reviews.llvm.org/D20477 llvm-svn: 270378
* SymbolFile: remove an unused variableSaleem Abdulrasool2016-05-221-2/+1
| | | | | | Address a -Wunused-but-set-variable warning from gcc. NFC. llvm-svn: 270377
* [sanitizer] Don't use -fomit-frame-pointer in COMPILER_RT_DEBUG=On buildsKuba Brecka2016-05-221-1/+3
| | | | | | | | Using -fomit-frame-pointer sometimes makes a crash log miss some frames. Let's not use this optimization in debug builds. Differential Revision: http://reviews.llvm.org/D20425 llvm-svn: 270376
* [x86, AVX] add test file to show vzeroupper pass excessesSanjay Patel2016-05-221-0/+43
| | | | llvm-svn: 270375
* [driver][mips] clang-format the code. NFCSimon Atanasyan2016-05-221-27/+27
| | | | llvm-svn: 270374
* [driver][mips] Support new versions of MIPS CodeScape toolchainsSimon Atanasyan2016-05-22265-6/+938
| | | | llvm-svn: 270373
* reduce indent; NFCSanjay Patel2016-05-221-19/+19
| | | | llvm-svn: 270372
* [profile] initialize static pool properly Xinliang David Li2016-05-225-13/+20
| | | | | | | Remove dependency on runtime initializer to avoid issues related to initialization order. llvm-svn: 270371
* use 'auto' with 'dyn_cast'; fix formatting; NFCSanjay Patel2016-05-221-10/+8
| | | | llvm-svn: 270370
* [ValueTracking, InstCombine] extend isKnownToBeAPowerOfTwo() to handle ↵Sanjay Patel2016-05-224-13/+8
| | | | | | | | | | | | | | vector splat constants We could try harder to handle non-splat vector constants too, but that seems much rarer to me. Note that the div test isn't resolved because there's a check for isIntegerTy() guarding that transform. Differential Revision: http://reviews.llvm.org/D20497 llvm-svn: 270369
* [driver][mips] Use target triple mips-mti-linux-gnu for toolchain detectionSimon Atanasyan2016-05-222-117/+119
| | | | llvm-svn: 270368
* [driver][mips] Rename some variables to better reflect their purpose. NFCSimon Atanasyan2016-05-221-8/+9
| | | | llvm-svn: 270367
* [driver][mips] Drop support for outdated version of CodeSourcery MIPS toolchainSimon Atanasyan2016-05-22180-752/+1
| | | | llvm-svn: 270366
* Reword ThreadSanitizer messages to use a lowercase 't' in thread names when ↵Kuba Brecka2016-05-221-5/+5
| | | | | | in the middle of a sentence. llvm-svn: 270365
* Reword ThreadSanitizer message for invalid mutex reports.Kuba Brecka2016-05-222-2/+2
| | | | llvm-svn: 270364
* A better fix of incorrectly used locking in HistoryThread and HistoryUnwind.Kuba Brecka2016-05-222-2/+2
| | | | llvm-svn: 270363
* Revert r270358 ("Fix an incorrectly used locking in HistoryThread and ↵Kuba Brecka2016-05-222-2/+4
| | | | | | HistoryUnwind"). llvm-svn: 270359
* Fix an incorrectly used locking in HistoryThread and HistoryUnwind, where ↵Kuba Brecka2016-05-222-4/+2
| | | | | | unique_lock's release() was called causing the mutex to stay locked. llvm-svn: 270358
* [AVX512] Implement missing patterns for any_extend load lowering.Igor Breger2016-05-223-55/+158
| | | | | | Differential Revision: http://reviews.llvm.org/D20513 llvm-svn: 270357
* [AVX512] The AVX512 file only need subtract_subvector index 0 patterns where ↵Craig Topper2016-05-221-15/+35
| | | | | | the source is 512-bits. The 256-bit source patterns were redundant with AVX. llvm-svn: 270356
* [AVX512] Add an AddedComplexity line to the 512-bit insert_subvector undef ↵Craig Topper2016-05-222-14/+16
| | | | | | index 0 patterns. This gives them higher priority than the memory patterns. This matches AVX1/2. llvm-svn: 270355
* [AVX512] Change the AddedComplexity on some patterns to match their AVX/SSE ↵Craig Topper2016-05-221-9/+13
| | | | | | equivalents. This helps group them close together in the isel tables and enable table compression. llvm-svn: 270354
* [AST] Cleanup comments regarding CXXRecordDecl::isEmptyDavid Majnemer2016-05-222-11/+15
| | | | | | | | | We were missing references to the standard, some of our home-grown verbiage didn't make any sense. No functional change is intended. llvm-svn: 270353
* Driver: sink getLinuxDynamicLoader into the ToolchainSaleem Abdulrasool2016-05-223-70/+72
| | | | | | | | The parameter already requires the toolchain, sink the method into the class. This also enables the use of the distro detection logic which will be needed to support Exherbo's multiarch approach. llvm-svn: 270352
* Driver: simplify getDynameLinkerSaleem Abdulrasool2016-05-221-47/+49
| | | | | | | | Convert the cascading if/else to a switch. This makes it easier to follow the logic. Minor difference is that we no longer default to x86_64 but rather to the architecture specified by the architecture. llvm-svn: 270351
OpenPOWER on IntegriCloud