summaryrefslogtreecommitdiffstats
path: root/llvm/include
Commit message (Collapse)AuthorAgeFilesLines
...
* Rerun AutoRegen.sh.Eric Christopher2014-11-141-0/+3
| | | | llvm-svn: 222050
* Remove redundant virtual on overriden functions.David Blaikie2014-11-142-2/+2
| | | | llvm-svn: 222023
* IR: Make MDString inherit from MetadataDuncan P. N. Exon Smith2014-11-141-5/+4
| | | | llvm-svn: 222022
* IR: Take an LLVMContext in Metadata::Metadata()Duncan P. N. Exon Smith2014-11-141-1/+1
| | | | llvm-svn: 222019
* Reapply "[dwarfdump] Add support for dumping accelerator tables."Frederic Riss2014-11-141-1/+5
| | | | | | | | | | | | | This reverts commit r221842 which was a revert of r221836 and of the test parts of r221837. This new version fixes an UB bug pointed out by David (along with addressing some other review comments), makes some dumping more resilient to broken input data and forces the accelerator tables to be dumped in the tests where we use them (this decision is platform specific otherwise). llvm-svn: 222003
* [PowerPC] Add VSX builtins for vec_divBill Schmidt2014-11-141-2/+5
| | | | | | | | | This patch adds builtin support for xvdivdp and xvdivsp, along with a test case. Straightforward stuff. There's a companion patch for Clang. llvm-svn: 221983
* Calm down build botsDavid Majnemer2014-11-141-2/+2
| | | | | | | r221975 seemed to trigger an ambiguous conversion that only irritated clang, not gcc. llvm-svn: 221977
* obj2yaml, yaml2obj: Add support for COFF executablesDavid Majnemer2014-11-143-3/+41
| | | | | | | | | | | | | | | | In support of serializing executables, obj2yaml now records the virtual address and size of sections. It also serializes whatever we strictly need from the PE header, it expects that it can reconstitute everything else via inference. yaml2obj can reconstitute a fully linked executable. In order to get executables correctly serialized/deserialized, other bugs were fixed as a circumstance. We now properly respect file and section alignments. We also avoid writing out string tables unless they are strictly necessary. llvm-svn: 221975
* Use size_type for operator[].Rafael Espindola2014-11-141-2/+2
| | | | | | | | | | This matches std::vector and is more efficient as it avoids truncations. With this the text segment of opt goes from 19705442 bytes to 19703930 bytes. llvm-svn: 221973
* llvm-cov: Sink some reporting logic into CoverageMappingJustin Bogner2014-11-141-3/+46
| | | | | | | | This teaches CoverageMapping::getCoveredFunctions to filter to a particular file and uses that to replace most of the logic found in llvm-cov report. llvm-svn: 221962
* IR: Rewrite uniquing and creation of MDStringDuncan P. N. Exon Smith2014-11-141-6/+7
| | | | | | | | | | Stop using `Value::getName()` to get the string behind an `MDString`. Switch to `StringMapEntry<MDString>` so that we can find the string by its coallocation. This is part of PR21532. llvm-svn: 221960
* StringMap: Test and finish off supporting perfectly forwarded values in ↵David Blaikie2014-11-141-4/+5
| | | | | | | | StringMap operations. Followup to r221946. llvm-svn: 221958
* Allow the use of functions as typeinfo in landingpad clausesReid Kleckner2014-11-142-7/+7
| | | | | | This is one step towards supporting SEH filter functions in LLVM. llvm-svn: 221954
* CodeGen: assert an instruction is being inserted with the correct iterator.Tim Northover2014-11-141-0/+6
| | | | | | | | When "MBB->Insert(It, ...)" is called, we want It to be pointing inside the correct basic block. No actual failures at the moment, but it's caused problems before. llvm-svn: 221953
* IR: Make MDString::getName() privateDuncan P. N. Exon Smith2014-11-131-0/+5
| | | | | | | | | | Hide the fact that `MDString`'s string is stored in `Value::Name` -- that's going to change soon. Update the only in-tree client that was using it instead of `Value::getString()`. Part of PR21532. llvm-svn: 221951
* ADT: Use perfect forwarding in StringMapEntry::Create()Duncan P. N. Exon Smith2014-11-131-7/+7
| | | | | | Now you can pass references into constructors. llvm-svn: 221946
* Make a few helper functions static. NFC.Rafael Espindola2014-11-131-7/+0
| | | | llvm-svn: 221930
* We can get the TLOF from the TargetMachine - so constructor no longer ↵Aditya Nandakumar2014-11-131-7/+6
| | | | | | requires TargetLoweringObjectFile to be passed. llvm-svn: 221926
* Return word_t from read.Rafael Espindola2014-11-131-21/+11
| | | | | | This removes the need for a special Read64. llvm-svn: 221909
* ARM: add @llvm.arm.space intrinsic for testing ConstantIslands.Tim Northover2014-11-131-0/+5
| | | | | | | | Creating tests for the ConstantIslands pass is very difficult, since it depends on precise layout details. Having the ability to precisely inject a number of bytes into the stream helps greatly. llvm-svn: 221903
* Simplify code a bit. NFC.Rafael Espindola2014-11-131-6/+3
| | | | | | Thanks to Sean Silva for the suggestion. llvm-svn: 221892
* Small optimization: once the size is know, we don't have to call fillCurWord.Rafael Espindola2014-11-131-2/+2
| | | | llvm-svn: 221891
* IR: Create the Metadata classDuncan P. N. Exon Smith2014-11-131-2/+21
| | | | | | | | | This will become the root of a new class hierarchy separate from `Value`. As a first step, stick it between `Value` and `MDNode`. This is part of PR21532. llvm-svn: 221886
* This patch changes the ownership of TLOF from TargetLoweringBase to ↵Aditya Nandakumar2014-11-132-2/+6
| | | | | | TargetMachine so that different subtargets could share the TLOF effectively llvm-svn: 221878
* Object, COFF: Clean up formatting in hasExtendedRelocationsDavid Majnemer2014-11-131-3/+3
| | | | | | No functionality changed intended. llvm-svn: 221867
* Read 64 bits at a time in the bitcode reader.Rafael Espindola2014-11-132-16/+14
| | | | | | | The reading of 64 bit values could still be optimized, but at least this cuts down on the number of virtual calls to fetch more data. llvm-svn: 221865
* Update \param(s) in MemoryObject::readBytes(). [-Wdocumentation]NAKAMURA Takumi2014-11-131-4/+4
| | | | llvm-svn: 221863
* llvm-readobj: Print out address table when dumping COFF delay-import tableRui Ueyama2014-11-131-0/+2
| | | | llvm-svn: 221855
* CMake: stop setting (well, #undef'ing) HOST_LINK_VERSION; it's used in ↵Hans Wennborg2014-11-132-6/+0
| | | | | | Clang, not LLVM llvm-svn: 221849
* Revert "[dwarfdump] Add support for dumping accelerator tables."Frederic Riss2014-11-131-5/+1
| | | | | | | | | | This reverts commit r221836. The tests are asserting on some buildbots. This also reverts the test part of r221837 as it relies on dwarfdump dumping the accelerator tables. llvm-svn: 221842
* [Bitcode] AtEndOfStream should only check against the size if it's known.Jordan Rose2014-11-131-1/+1
| | | | | | | | | | This avoids an issue where AtEndOfStream mistakenly returns true at the /start/ of a stream. (In the rare case that the size is known and actually 0, the slow path will still handle it correctly.) llvm-svn: 221840
* [dwarfdump] Add support for dumping accelerator tables.Frederic Riss2014-11-121-1/+5
| | | | | | | The class used for the dump only allows to dump for the moment, but it can (and will) be easily extended to support search also. llvm-svn: 221836
* Allow DWARFFormValue::extractValue to be called with a null CU.Frederic Riss2014-11-121-0/+7
| | | | | | | | | | | | | | | Currently FormValues are only used for attributes of DIEs and thus uers always have a CU lying around when calling into the FormValue API. Accelerator tables encode their information using the same Forms as the attributes, thus it is natural to use DWARFFormValue to extract/dump them. There is no CU in that case though. Allow the API to be called with a null CU arguemnt by making the RelocMap lookup conditional on the CU pointer validity. And document this new behvior in the header. (Test coverage for this use of the API comes in the DwarfAccelTable support patch) llvm-svn: 221835
* Add fortified (__*_chk) library functions to TLI (NFC)Ahmed Bougacha2014-11-121-0/+15
| | | | | | | | | | | | One of them (__memcpy_chk) was already there, the others were checked by comparing function names. Note that the fortified libfuncs are now part of TLI, but are always available, because they aren't generated, only optimized into the non-checking versions. Differential Revision: http://reviews.llvm.org/D6179 llvm-svn: 221817
* [AVX512] Add integer shift by immediate intrinsics.Cameron McInally2014-11-121-0/+19
| | | | llvm-svn: 221811
* Use the return of readBytes to find out if we are at the end of the stream.Rafael Espindola2014-11-123-50/+53
| | | | | | | This allows the removal of isObjectEnd and opens the way for reading 64 bits at a time. llvm-svn: 221804
* Return the number of read bytes in MemoryObject::readBytes.Rafael Espindola2014-11-123-9/+7
| | | | | | | Returning more information will allow BitstreamReader to be simplified a bit and changed to read 64 bits at a time. llvm-svn: 221794
* Add support for small-model PIC for PowerPC.Justin Hibbits2014-11-122-0/+2
| | | | | | | | | | | | | | | | | | | | Summary: Large-model was added first. With the addition of support for multiple PIC models in LLVM, now add small-model PIC for 32-bit PowerPC, SysV4 ABI. This generates more optimal code, for shared libraries with less than about 16380 data objects. Test Plan: Test cases added or updated Reviewers: joerg, hfinkel Reviewed By: hfinkel Subscribers: jholewinski, mcrosier, emaste, llvm-commits Differential Revision: http://reviews.llvm.org/D5399 llvm-svn: 221791
* Reduce code duplication a bit. NFC.Rafael Espindola2014-11-121-9/+4
| | | | llvm-svn: 221785
* MCDisassembler::getInstruction():: Prune also "\param Region", since it was ↵NAKAMURA Takumi2014-11-121-1/+0
| | | | | | removed in r221751. [-Wdocumentation] llvm-svn: 221775
* AVX-512: Intrinsics for ERIElena Demikhovsky2014-11-121-0/+7
| | | | | | | | | 3 instructions: vrcp28, vrsqrt28, vexp2, only vector forms. Intrinsics include SAE (Suppres All Exceptions) parameter. http://reviews.llvm.org/D6214 llvm-svn: 221774
* Delete dead code. NFC.Rafael Espindola2014-11-121-6/+0
| | | | llvm-svn: 221770
* [PowerPC] Add vec_vsx_ld and vec_vsx_st intrinsicsBill Schmidt2014-11-121-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch enables the vec_vsx_ld and vec_vsx_st intrinsics for PowerPC, which provide programmer access to the lxvd2x, lxvw4x, stxvd2x, and stxvw4x instructions. New LLVM intrinsics are provided to represent these four instructions in IntrinsicsPowerPC.td. These are patterned after the similar intrinsics for lvx and stvx (Altivec). In PPCInstrVSX.td, these intrinsics are tied to the code gen patterns, with additional patterns to allow plain vanilla loads and stores to still generate these instructions. At -O1 and higher the intrinsics are immediately converted to loads and stores in InstCombineCalls.cpp. This will open up more optimization opportunities while still allowing the correct instructions to be generated. (Similar code exists for aligned Altivec loads and stores.) The new intrinsics are added to the code that checks for consecutive loads and stores in PPCISelLowering.cpp, as well as to PPCTargetLowering::getTgtMemIntrinsic(). There's a new test to verify the correct instructions are generated. The loads and stores tend to be reordered, so the test just counts their number. It runs at -O2, as it's not very effective to test this at -O0, when many unnecessary loads and stores are generated. I ended up having to modify vsx-fma-m.ll. It turns out this test case is slightly unreliable, but I don't know a good way to prevent problems with it. The xvmaddmdp instructions read and write the same register, which is one of the multiplicands. Commutativity allows either to be chosen. If the FMAs are reordered differently than expected by the test, the register assignment can be different as a result. Hopefully this doesn't change often. There is a companion patch for Clang. llvm-svn: 221767
* Merge StreamableMemoryObject into MemoryObject.Rafael Espindola2014-11-123-53/+43
| | | | | | | | | Every MemoryObject is a StreamableMemoryObject since the removal of StringRefMemoryObject, so just merge the two. I will clean up the MemoryObject interface in the upcoming commits. llvm-svn: 221766
* Fix non-variadic function_ref cases to match r221753David Blaikie2014-11-121-4/+16
| | | | llvm-svn: 221763
* Don't duplicate name in comments. NFC.Rafael Espindola2014-11-122-40/+33
| | | | llvm-svn: 221762
* Revert "Use a function_ref now that it works (r221753)."Rafael Espindola2014-11-121-2/+2
| | | | | | | | This reverts commit r221756. David Blaikie pointed out it was unsafe. llvm-svn: 221761
* Remove unused method. NFC.Rafael Espindola2014-11-122-9/+0
| | | | llvm-svn: 221759
* Make readBytes pure virtual. Every real implementation has it.Rafael Espindola2014-11-121-1/+2
| | | | llvm-svn: 221758
* Remove unused method. NFC.Rafael Espindola2014-11-122-6/+0
| | | | llvm-svn: 221757
OpenPOWER on IntegriCloud