summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [WinEH] Add comments explaining the EH tablesDavid Majnemer2015-12-274-47/+130
| | | | | | | This is aids in debugging WinEH, similar functionality is present for DWARF EH. llvm-svn: 256455
* [x86] lower calls to llvm.maxnum.v4f32 using maxpsSanjay Patel2015-12-262-138/+26
| | | | | | | This is a follow-on to: http://reviews.llvm.org/rL255700 llvm-svn: 256454
* [X86] Fix an unused variable warning in released builds.Craig Topper2015-12-261-0/+2
| | | | llvm-svn: 256453
* [X86] Add support for printing shuffle comments for AVX512 PSHUFB instructions.Craig Topper2015-12-262-12/+39
| | | | llvm-svn: 256452
* [X86] Fold some variable declarations and initializations into if ↵Craig Topper2015-12-261-6/+3
| | | | | | statements. NFC llvm-svn: 256451
* Fix safepoint intrinsic signatures in test.Benjamin Kramer2015-12-262-4/+4
| | | | | | Should bring back the bots after r256443. llvm-svn: 256450
* Split Writer::assignAddresses. NFC.Rui Ueyama2015-12-261-12/+19
| | | | llvm-svn: 256449
* Simplify. NFC.Rui Ueyama2015-12-261-18/+20
| | | | llvm-svn: 256448
* Add comments.Rui Ueyama2015-12-261-2/+5
| | | | llvm-svn: 256447
* Rename SharedCopy -> CopyRel.Rui Ueyama2015-12-261-11/+6
| | | | | | | Because I think CopyRel is a better name for copy relocations than SharedCopy. llvm-svn: 256446
* Define SECNAME_{start,end} symbols in a separate function. NFC.Rui Ueyama2015-12-261-18/+27
| | | | llvm-svn: 256445
* Simplify __rel[a]_iplt_{start,end} handling a bit.Rui Ueyama2015-12-261-17/+19
| | | | | | Also updated a comment. llvm-svn: 256444
* [gc.statepoint] Change gc.statepoint intrinsic's return type to token type ↵Chen Li2015-12-2663-483/+464
| | | | | | | | | | | | | | instead of i32 type Summary: This patch changes gc.statepoint intrinsic's return type to token type instead of i32 type. Using token types could prevent LLVM to merge different gc.statepoint nodes into PHI nodes and cause further problems with gc relocations. The patch also changes the way on how gc.relocate and gc.result look for their corresponding gc.statepoint on unwind path. The current implementation uses the selector value extracted from a { i8*, i32 } landingpad as a hook to find the gc.statepoint, while the patch directly uses a token type landingpad (http://reviews.llvm.org/D15405) to find the gc.statepoint. Reviewers: sanjoy, JosephTremoulet, pgavlin, igor-laevsky, mjacob Subscribers: reames, mjacob, sanjoy, llvm-commits Differential Revision: http://reviews.llvm.org/D15662 llvm-svn: 256443
* Split Writer::createSections even more. NFC.Rui Ueyama2015-12-261-28/+36
| | | | llvm-svn: 256442
* Split Writer::createSections. NFC.Rui Ueyama2015-12-261-24/+30
| | | | | | | | | The linker has to create __tls_get_addr, end and _end symbols. Previously, these symbols were created in createSections(). But they are not actually related to creating output sections. This patch moves code out of the function. llvm-svn: 256441
* Remove dead variable.Rui Ueyama2015-12-261-2/+0
| | | | llvm-svn: 256440
* Add comment on .eh_frame sh_type.Rui Ueyama2015-12-261-6/+11
| | | | | | Also simplifies the code a bit. llvm-svn: 256439
* Define a factory class to create output sections. NFC.Rui Ueyama2015-12-261-30/+79
| | | | | | | | Previously, this code was directly written in createSections() function. This patch moves some code out of that function to a new class. llvm-svn: 256438
* Do not use SpecificBumpPtrAllocator to create output sections.Rui Ueyama2015-12-262-14/+13
| | | | | | | | The number of output sections is usually limited, so the cost of allocating them is not a bottleneck. This patch simplifies the code by removing the allocators. llvm-svn: 256437
* Use virtual function instead of hand-written type dispatch.Rui Ueyama2015-12-263-33/+20
| | | | | | | | OutputSectionBase already has virtual member functions. This patch makes addSection() a virtual function to remove code from Writer::createSections(). llvm-svn: 256436
* Add test case for r256433. "[X86] Fix shuffle decoding for variable VPERMIL ↵Craig Topper2015-12-261-1/+9
| | | | | | to be tolerant of the Constant type not matching due to folding in the constant pool and to get VPERMILPD correct." llvm-svn: 256435
* Revert r256432 "Test"Craig Topper2015-12-261-9/+1
| | | | | | This is the test case for r256433, but it got committed incorrectly in my local repo. llvm-svn: 256434
* [X86] Fix shuffle decoding for variable VPERMIL to be tolerant of the ↵Craig Topper2015-12-263-34/+64
| | | | | | Constant type not matching due to folding in the constant pool and to get VPERMILPD correct. llvm-svn: 256433
* TestCraig Topper2015-12-261-1/+9
| | | | llvm-svn: 256432
* [X86] Fix copy and paste typo from pasting from another Makefile to restore ↵Craig Topper2015-12-251-1/+1
| | | | | | code. llvm-svn: 256431
* [X86] Put back the include path to the main X86 sources in the AsmParser ↵Craig Topper2015-12-251-0/+3
| | | | | | library to fix the bots. llvm-svn: 256430
* [X86] Remove X86CodeGen dependency from the AsmParser library.Craig Topper2015-12-252-4/+1
| | | | llvm-svn: 256429
* [X86] Move getX86SubSuperRegisterOrZero to X86MCTargetDesc.cpp so it can be ↵Craig Topper2015-12-255-193/+193
| | | | | | used by AsmParser library without depending on X86CodeGen library. llvm-svn: 256428
* Remove extra forward declarations and scrub includes for all in tree ↵Craig Topper2015-12-2518-31/+4
| | | | | | InstPrinters. NFC llvm-svn: 256427
* [X86] Move AVX512 STATIC_ROUNDING enum to X86BaseInfo.h to fix a layering ↵Craig Topper2015-12-253-10/+10
| | | | | | violation in AsmParser. llvm-svn: 256426
* [X86] Replace MVT::SimpleValueType in the AsmParser library and ↵Craig Topper2015-12-257-118/+108
| | | | | | | | getX86SubSuperRegister with just an unsigned representing size. This a is step towards fixing a layering violation so the X86 AsmParser won't depending on CodeGen types. llvm-svn: 256425
* [X86] Don't pass the default value to the High argument of ↵Craig Topper2015-12-252-8/+5
| | | | | | getX86SubSuperRegister. Most place don't care about this argument. NFC llvm-svn: 256424
* [llvm-objdump] Use stderr and not stdout for fatal errors.Davide Italiano2015-12-251-2/+2
| | | | llvm-svn: 256423
* [X86] getX86SubSuperRegisterOrZero shouldn't call getX86SubSuperRegister ↵Craig Topper2015-12-251-1/+1
| | | | | | recursively. It should call itself instead. Otherwise it might fire an assertion when it was designed not too. llvm-svn: 256422
* [X86] Add missing X86II::MRM_C4, MRM_C5, etc. encodings to ↵Craig Topper2015-12-251-15/+19
| | | | | | getMemoryOperandNo. These aren't used by any instructions, but could be someday. NFC llvm-svn: 256421
* [X86] Use assert instead of if and llvm_unreachable. NFCCraig Topper2015-12-251-2/+1
| | | | llvm-svn: 256420
* [X86] Minor identation fixes. NFCCraig Topper2015-12-251-2/+2
| | | | llvm-svn: 256419
* Sema.h: Prune '\param NumExprs' corresponding to r256401. [-Wdocumentation]NAKAMURA Takumi2015-12-251-2/+0
| | | | llvm-svn: 256418
* [OPENMP] Do not allow to use threadprivate or thread local variables as loop ↵Alexey Bataev2015-12-258-6/+18
| | | | | | | | iteration variables. According to OpenMP the loop iteration variable may not appear in a threadprivate directive. llvm-svn: 256417
* [ELF][MIPS] Implement R_MIPS_GPREL16/R_MIPS_GPREL32 relocationsSimon Atanasyan2015-12-256-2/+71
| | | | | | | | | | | | | | | | | | | | The R_MIPS_GPREL16 / R_MIPS_GPREL32 relocations use the following expressions for calculations: ``` local symbol: S + A + GP0 - GP global symbol: S + A - GP GP - Represents the final gp value, i.e. _gp symbol GP0 - Represents the gp value used to create the relocatable object ``` The GP0 value is taken from the .reginfo data section defined by an object file. To implement that I keep a reference to `MipsReginfoInputSection` in the `ObjectFile` class. This reference is used by the `ObjectFile::getMipsGp0` method to return the GP0 value. Differential Revision: http://reviews.llvm.org/D15760 llvm-svn: 256416
* Fixed MSVS warning "not all control paths return a value". NFC.George Rimar2015-12-251-0/+1
| | | | llvm-svn: 256415
* [ELF] - Fixed handling relocations against zero sized .eh_frame section.George Rimar2015-12-252-0/+34
| | | | | | | | | | The file crtbeginT.o has relocations pointing to the start of an empty .eh_frame that is known to be the first in the link. It does that to identify the start of the output .eh_frame. Handle this special case. Differential revision: http://reviews.llvm.org/D15610 llvm-svn: 256414
* [CodeGen] Use generic printAsOperand machinery instead of hand rolling itDavid Majnemer2015-12-251-3/+7
| | | | | | | | We already know how to properly print out basic blocks in printAsOperand, we should not roll it ourselves in AsmPrinter::EmitBasicBlockStart. No functionality change is intended. llvm-svn: 256413
* clang-format: [TableGen] Support ;-less include lines.Daniel Jasper2015-12-254-9/+26
| | | | llvm-svn: 256412
* Split Writer::createSections().Rui Ueyama2015-12-251-21/+26
| | | | | | | | This function was longer than 250 lines, which is way too long in my own standard. This patch reduces the size. It is still too long, but this patch should be toward the right direction. llvm-svn: 256411
* Move a function to a file where it is used.Rui Ueyama2015-12-253-12/+10
| | | | llvm-svn: 256410
* Add comments.Rui Ueyama2015-12-251-0/+8
| | | | llvm-svn: 256409
* Factor out static members from DefinedRegular.Rui Ueyama2015-12-255-47/+43
| | | | | | | | This patch moves statically-allocated Elf_Sym objects out of DefinedRegular class, so that the class definition becomes smaller. llvm-svn: 256408
* Include IR/DerivedTypes.h instead of IR/Type.h so to match llvm change r256406.Craig Topper2015-12-251-1/+1
| | | | llvm-svn: 256407
* [IR] Mark the Type subclass helper methods 'inline' and move their ↵Craig Topper2015-12-253-60/+55
| | | | | | definitions to DerivedTypes.h so they can be inlined by the compiler. llvm-svn: 256406
OpenPOWER on IntegriCloud