summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
...
* remove the use of the LOCATION CMake variable from r238740.Greg Bedwell2015-06-011-4/+0
| | | | | | | It caused the following failure: "Policy CMP0026 is not set: Disallow use of the LOCATION target property." llvm-svn: 238741
* In MSVC builds embed a VERSIONINFO resource in our exe and DLL files.Greg Bedwell2015-06-012-0/+175
| | | | | | | | | | This embeds Windows version information into our executables and DLLs. The most visible place to view this data is in the details tab of the file properties window in Windows explorer. Differential Revision: http://reviews.llvm.org/D7828 llvm-svn: 238740
* Re-commit of r238201 with fix for building with shared libraries.Luke Cheeseman2015-06-0116-22/+983
| | | | llvm-svn: 238739
* AVX-512: Implemented VRANGEPD and VRANGEPD instructions for SKX.Elena Demikhovsky2015-06-016-6/+409
| | | | | | | | | Implemented DAG lowering for all these forms. Added tests for encoding. By Igor Breger (igor.breger@intel.com) llvm-svn: 238738
* AVX-512: Implemented vector shuffle lowering for v8i64 and v8f64 types.Elena Demikhovsky2015-06-013-1485/+200
| | | | | | I removed the vector-shuffle-512-v8.ll, it is auto-generated test, not valid any more. llvm-svn: 238735
* [WinCOFF] Ignore .safeseh for non-x86 architecturesDavid Majnemer2015-06-011-0/+6
| | | | | | | We don't want to bother with creating .sxdata sections on Win64; all the relevant information is already in the .pdata section. llvm-svn: 238730
* AVX-512: added all forms of VPSHUFD and VPSHUFHW, VPSHUFLWElena Demikhovsky2015-06-015-36/+361
| | | | | | including encodings. llvm-svn: 238729
* AVX-512: Implemented VFIXUPIMMPD and VFIXUPIMMPS instructions for KNL and SKXElena Demikhovsky2015-06-016-0/+449
| | | | | | | | | Implemented DAG lowering for all these forms. Added tests for encoding. by Igor Breger (igor.breger@intel.com) llvm-svn: 238728
* [TableGen] Move a couple virtual methods out of line so vtable anchors can ↵Craig Topper2015-06-012-7/+9
| | | | | | be removed. NFC llvm-svn: 238727
* [TableGen] Remove unnecessary explicit initialization to null of a ↵Craig Topper2015-06-011-1/+1
| | | | | | unique_ptr. NFC llvm-svn: 238726
* [TableGen] Remove unnecessary forward declarations. NFCCraig Topper2015-06-011-29/+1
| | | | llvm-svn: 238725
* AVX-512: Fixed a bug in compress and expand intrinsics.Elena Demikhovsky2015-06-012-8/+11
| | | | | | By Igor Breger (igor.breger@intel.com) llvm-svn: 238724
* Add address space argument to isLegalAddressingModeMatt Arsenault2015-06-0122-32/+61
| | | | | | | | | | This is important because of different addressing modes depending on the address space for GPU targets. This only adds the argument, and does not update any of the uses to provide the correct address space. llvm-svn: 238723
* [opaque pointer type] Explicitly store the pointee type of the result of a GEPDavid Blaikie2015-06-013-5/+19
| | | | | | | | Alternatively, this type could be derived on-demand whenever getResultElementType is called - if someone thinks that's the better choice (simple time/space tradeoff), I'm happy to give it a go. llvm-svn: 238716
* Try to fix the build of IntelJITEventListener.Rafael Espindola2015-06-011-2/+1
| | | | llvm-svn: 238709
* Rename HasData to IsRegistered.Rafael Espindola2015-06-014-19/+7
| | | | | | | | | There is no MCSectionData, so the old name is now meaningless. Also remove some asserts/checks that were there just because the information they used was in MCSectionData. llvm-svn: 238708
* Remove trivial forwarding function.Rafael Espindola2015-06-013-6/+5
| | | | llvm-svn: 238707
* Store a bit in MCSection saying if it was registered with MCAssembler.Rafael Espindola2015-06-015-20/+24
| | | | | | With this we can replace a SetVector with a plain std::vector. llvm-svn: 238706
* Use a bitfield. NFC.Rafael Espindola2015-06-012-2/+3
| | | | llvm-svn: 238705
* Use a 32 bit field for the symbol index.Rafael Espindola2015-06-011-5/+4
| | | | | | Even 64 ELF uses a 32 bit field to refer to symbols. llvm-svn: 238704
* Simplify another function that doesn't fail.Rafael Espindola2015-06-0114-48/+31
| | | | llvm-svn: 238703
* [PHITransAddr] Don't translate unreachable valuesDavid Majnemer2015-06-014-13/+46
| | | | | | | | | | | Unreachable values may use themselves in strange ways due to their dominance property. Attempting to translate through them can lead to infinite recursion, crashing LLVM. Instead, claim that we weren't able to translate the value. This fixes PR23096. llvm-svn: 238702
* [PHITransAddr] Use std::find instead of std::countDavid Majnemer2015-06-011-2/+4
| | | | | | | There is no need to visit all the elements if we are merely performing a membership check. NFCI. llvm-svn: 238701
* Simplify interface of function that doesn't fail.Rafael Espindola2015-05-317-33/+16
| | | | llvm-svn: 238700
* [DWARF] Fix a bug in line info handlingKeno Fischer2015-05-314-72/+88
| | | | | | | | | | | | | | | | | | | | This fixes a bug in the line info handling in the dwarf code, based on a problem I when implementing RelocVisitor support for MachO. Since addr+size will give the first address past the end of the function, we need to back up one line table entry. Fix this by looking up the end_addr-1, which is the last address in the range. Note that this also removes a duplicate output from the llvm-rtdyld line table dump. The relevant line is the end_sequence one in the line table and has an offset of the first address part the end of the range and hence should not be included. Also factor out the common functionality into a separate function. This comes up on MachO much more than on ELF, since MachO doesn't store the symbol size separately, hence making said situation always occur. Differential Revision: http://reviews.llvm.org/D9925 llvm-svn: 238699
* For COFF and MachO, compute the gap between to symbols.Rafael Espindola2015-05-312-4/+51
| | | | | | Before r238028 we used to do this in O(N^2), now we do it in O(N log N). llvm-svn: 238698
* ARMConstantIslandPass.cpp: Prune an empty \brief. [-Wdocumentation]NAKAMURA Takumi2015-05-311-1/+0
| | | | llvm-svn: 238697
* [Hexagon] Including raw_ostream for debug builds.Colin LeMahieu2015-05-311-0/+1
| | | | llvm-svn: 238695
* [Hexagon] classes are actually structs.Colin LeMahieu2015-05-311-2/+2
| | | | llvm-svn: 238694
* Use a range loop. NFC.Rafael Espindola2015-05-311-8/+10
| | | | llvm-svn: 238693
* [Hexagon] Adding MC packet shuffler.Colin LeMahieu2015-05-319-6/+882
| | | | llvm-svn: 238692
* ARM: recommit r237590: allow jump tables to be placed as constant islands.Tim Northover2015-05-3112-242/+524
| | | | | | | | | | | | | | | The original version didn't properly account for the base register being modified before the final jump, so caused miscompilations in Chromium and LLVM. I've fixed this and tested with an LLVM self-host (I don't have the means to build & test Chromium). The general idea remains the same: in pathological cases jump tables can be too far away from the instructions referencing them (like other constants) so they need to be movable. Should fix PR23627. llvm-svn: 238680
* [MC] Simplify code. No functionality change intended.Benjamin Kramer2015-05-311-7/+2
| | | | llvm-svn: 238676
* Clarify how the binary file checked in was generated.Davide Italiano2015-05-301-0/+4
| | | | llvm-svn: 238665
* [Hexagon] Adding override specifier and removing erroneous assertionColin LeMahieu2015-05-301-4/+2
| | | | llvm-svn: 238664
* Add RelocVisitor support for MachOKeno Fischer2015-05-307-2/+51
| | | | | | | | | | | | This commit adds partial support for MachO relocations to RelocVisitor. A simple test case is added to show that relocations are indeed being applied and that using llvm-dwarfdump on MachO files no longer errors. Correctness is not yet tested, due to an unrelated bug in DebugInfo, which will be fixed with appropriate testcase in a followup commit. Differential Revision: http://reviews.llvm.org/D8148 llvm-svn: 238663
* [Hexagon] Adding basic relaxation functionality.Colin LeMahieu2015-05-303-6/+157
| | | | llvm-svn: 238660
* [MC] Allow backends to decide relaxation for unresolved fixups.Colin LeMahieu2015-05-303-24/+34
| | | | | | Differential Revision: http://reviews.llvm.org/D8217 llvm-svn: 238659
* [lib/Fuzzer] make assertions more informative and update comments for the ↵Kostya Serebryany2015-05-302-4/+8
| | | | | | user-supplied mutator llvm-svn: 238658
* [MC] Reorder MCSymbol members to reduce padding.Benjamin Kramer2015-05-301-5/+5
| | | | | | sizeof(MCSymbol) goes from 72 to 64 bytes on x86_64. llvm-svn: 238655
* Stripped trailing whitespace. NFC.Simon Pilgrim2015-05-301-12/+12
| | | | llvm-svn: 238654
* Comment change. NFCRenato Golin2015-05-301-3/+2
| | | | | | | That comment misleads the current discussions in mentioned bug. Leave the discussions to the bug. Also, adding a future change FIXME. llvm-svn: 238653
* [x86] Unify the horizontal adding used for popcount lowering taking theChandler Carruth2015-05-303-150/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | best approach of each. For vNi16, we use SHL + ADD + SRL pattern that seem easily the best. For vNi32, we use the PUNPCK + PSADBW + PACKUSWB pattern. In some cases there is a huge improvement with this in IACA's estimated throughput -- over 2x higher throughput!!!! -- but the measurements are too good to be true. In one narrow case, the SHL + ADD + SHL + ADD + SRL pattern looks slightly faster, but I'm not sure I believe any of the measurements at this point. Both are the exact same uops though. Hard to be confident of anything past that. If anyone wants to collect very detailed (Agner-level) timings with the result of this patch, or with the i32 case replaced with SHL + ADD + SHl + ADD + SRL, I'd be very interested. Note that you'll need to test it on both Ivybridge and Haswell, with both SSE3, SSSE3, and AVX selected as I saw unique behavior in each of these buckets with IACA all of which should be checked against measured performance. But this patch is still a useful improvement by dropping duplicate work and getting the much nicer PSADBW lowering for v2i64. I'd still like to rephrase this in terms of generic horizontal sum. It's a bit lame to have a special case of that just for popcount. llvm-svn: 238652
* [ARMTargetParser] Move IAS arch ext parser. NFCRenato Golin2015-05-303-21/+36
| | | | | | | | | | | The plan was to move the whole table into the already existing ArchExtNames but some fields depend on a table-generated file, and we don't yet have this feature in the generic lib/Support side. Once the minimum target-specific table-generated files are available in a generic fashion to these libraries, we'll have to keep it in the ASM parser. llvm-svn: 238651
* [x86] Split out the horizontal byte sum lowering component of the LUTChandler Carruth2015-05-301-78/+100
| | | | | | | | lowering into a helper function. NFC. llvm-svn: 238650
* [TableGen] Merge RecTy::typeIsConvertibleTo and RecTy::baseClassOf. NFCCraig Topper2015-05-302-52/+22
| | | | | | typeIsConvertibleTo was just calling baseClassOf(this) on the argument passed to it, but there weren't different signatures for baseClassOf so passing 'this' didn't really do anything interesting. typeIsConvertibleTo could have just been a non-virtual method in RecTy. But since that would be kind of a silly method, I instead re-distributed the logic from baseClassOf into typeIsConvertibleTo. llvm-svn: 238648
* Fix indentation. NFC.Craig Topper2015-05-301-1/+1
| | | | llvm-svn: 238647
* [TableGen] Remove all the variations of RecTy::convertValue and just handle ↵Craig Topper2015-05-302-284/+232
| | | | | | the conversions in convertInitializerTo directly. This saves a bunch of vtable entries. NFC llvm-svn: 238646
* [x86] Update the order of instructions after I switched to a bitcastChandler Carruth2015-05-301-1/+1
| | | | | | | | | helper that skips creating a cast when it isn't necessary. It's really somewhat concerning that this was caused by the the presence of a no-op bitcast, but... llvm-svn: 238642
* [WinCOFF] Add support for the .safeseh directiveDavid Majnemer2015-05-3012-19/+120
| | | | | | | | | .safeseh adds an entry to the .sxdata section to register all the appropriate functions which may handle an exception. This entry is not a relocation to the symbol but instead the symbol table index of the function. llvm-svn: 238641
OpenPOWER on IntegriCloud