summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [ELF][MIPS] Use TargetInfo::needsGot call to check necessity of GOT for ↵Simon Atanasyan2016-03-131-1/+1
| | | | | | local symbols. NFC. llvm-svn: 263388
* ELF: Add `Rela` member variable to Config.Rui Ueyama2016-03-135-22/+19
| | | | | | | The member is true if we want to create relocatin sections with RELA instead of REL. llvm-svn: 263387
* ELF: Redefine canBeDefined as a member function of SymbolBody.Rui Ueyama2016-03-137-57/+56
| | | | | | | | | We want to make SymbolBody the central place to query symbol information. This patch also renames canBePreempted to isPreemptible because I feel that the latter is slightly better (the former is three words and the latter is two words.) llvm-svn: 263386
* ELF: Set e_flags header only when MIPS.Rui Ueyama2016-03-131-4/+4
| | | | | | The field is zero by default, so this is NFC. llvm-svn: 263385
* [X86][SSE] Added truncated vector arithmetic tests.Simon Pilgrim2016-03-131-0/+5241
| | | | | | | | For cases where we are truncating an integer vector arithmetic result, it may be better to pre-truncate the input operands - no code to support this yet (scalar is done with SimplifyDemandedBits but adding vector support could be a lot of work) but these tests represent the current codegen status. Example bugs: PR14666, PR22703 llvm-svn: 263384
* [X86][SSE41] Avoid variable blend for constant v8i16 shiftsSimon Pilgrim2016-03-137-131/+66
| | | | | | The SSE41 v8i16 shift lowering using (v)pblendvb is great for non-constant shift amounts, but if it is constant then we can efficiently reduce the VSELECT to shuffles with the pre-SSE41 lowering. llvm-svn: 263383
* [ELF][MIPS] Add elf namespace name to the ObjectFile.Simon Atanasyan2016-03-131-1/+1
| | | | | | NFC. Follow-up to r263381. llvm-svn: 263382
* [ELF][MIPS] Factor out SumVA adjustments into a couple of separate ↵Simon Atanasyan2016-03-131-34/+47
| | | | | | | | | | | functions. NFC. The patch does not reduce the size of the code but makes InputSectionBase::relocate cleaner a bit. Differential Revision: http://reviews.llvm.org/D18119 llvm-svn: 263381
* Added test that covers changes in r263379.Amjad Aboud2016-03-131-0/+10
| | | | llvm-svn: 263380
* Fixed DIBuilder to verify that same imported entity will not be added twice ↵Amjad Aboud2016-03-132-1/+21
| | | | | | | | to the "imports" list of the DICompileUnit. Differential Revision: http://reviews.llvm.org/D17884 llvm-svn: 263379
* [CodeView] Truncate display namesDavid Majnemer2016-03-131-5/+8
| | | | | | | | | | | | | | | | | | | Fundamentally, the length of a variable or function name is bound by the maximum size of a record: 0xffff. However, the name doesn't live in a vacuum; other data is associated with the name, lowering the bound further. We would naively attempt to emit the name, causing us to assert because the record would no-longer fit in 16-bits. Instead, truncate the name but preserve as much as we can. While I have tested this locally, I've decided to not commit it due to the test's size. N.B. While this behavior is undesirable, it is better than MSVC's behavior. They seem to truncate to ~4000 characters. llvm-svn: 263378
* [Bitcode] Make writeComdats less strangeDavid Majnemer2016-03-131-2/+2
| | | | | | | | It had a weird artificial limitation on the write side: the comdat name couldn't be bigger than 2**16. However, the reader had no such limitation. Make the reader and the writer agree. llvm-svn: 263377
* Cosmetic change. NFC.Rui Ueyama2016-03-131-1/+2
| | | | llvm-svn: 263376
* Move an OutputSectionBase member function to the top.Rui Ueyama2016-03-131-5/+5
| | | | llvm-svn: 263375
* ConstantFoldInstruction: avoid wasted calls to ConstantFoldConstantExpressionFiona Glaser2016-03-131-5/+5
| | | | | | | Check to see if all operands are constant before calling simplify on them so that we don't perform wasted simplifications. llvm-svn: 263374
* Simplify. NFC.Rui Ueyama2016-03-131-10/+3
| | | | llvm-svn: 263373
* Fix buildMatt Arsenault2016-03-131-0/+1
| | | | llvm-svn: 263372
* Update for new argument to scalbnMatt Arsenault2016-03-131-4/+6
| | | | llvm-svn: 263371
* APFloat: Fix ilogb for denormalsMatt Arsenault2016-03-133-12/+35
| | | | llvm-svn: 263370
* APFloat: Fix scalbn handling of denormalsMatt Arsenault2016-03-133-36/+151
| | | | | | | This was incorrect for denormals, and also failed on longer exponent ranges. llvm-svn: 263369
* Use RelTy instead of Elf_Rel_Impl<ELFT, isRela> for readability.Rui Ueyama2016-03-135-51/+34
| | | | llvm-svn: 263368
* Define IsRela static const member to Elf_Rel type.Rui Ueyama2016-03-131-0/+4
| | | | | | So that we can write RelTy::IsRela to query its type. llvm-svn: 263367
* Cosmetic change to reduce repetitions. NFC.Rui Ueyama2016-03-131-11/+9
| | | | llvm-svn: 263366
* Redefine isGnuIfunc as a member function of SymbolBody.Rui Ueyama2016-03-134-13/+15
| | | | llvm-svn: 263365
* Body can never be null in this context.Rui Ueyama2016-03-131-1/+1
| | | | | | Because of the recent commit to allocate SymbolBodies for local symbols. llvm-svn: 263364
* Remove dead code.Rui Ueyama2016-03-132-11/+2
| | | | llvm-svn: 263363
* Do not return a bool value from error().Rui Ueyama2016-03-134-16/+16
| | | | | | | | | | | | | | | | | | | | error returned true if there was an error. This allows us to replace the code like this if (EC) { error(EC, "something failed"); return; } with if (error(EC, "something failed")) return; I thought that that was a good idea, but it turned out that we only have two places to use this pattern. So this patch removes that feature. llvm-svn: 263362
* The difference of getBss() and Out<ELFT>::Bss is subtle, so remove that ↵Rui Ueyama2016-03-131-11/+14
| | | | | | function. llvm-svn: 263361
* Split addCopyRelSymbols. NFC.Rui Ueyama2016-03-131-11/+19
| | | | llvm-svn: 263360
* Remove redundant check.Rui Ueyama2016-03-131-2/+0
| | | | | | The control reaches here only when linking MIPS binaries. llvm-svn: 263359
* Fix spelling.Rui Ueyama2016-03-132-4/+4
| | | | llvm-svn: 263358
* "Windows" is a product name, so it should be spelled correctly.Rui Ueyama2016-03-131-1/+1
| | | | llvm-svn: 263357
* Simplify findMipsPairedReloc function signature. NFC.Rui Ueyama2016-03-132-17/+22
| | | | llvm-svn: 263356
* Also test that the pch file is not printed in /showIncludesNico Weber2016-03-131-0/+1
| | | | llvm-svn: 263355
* [X86] Remove many operands that represent memory stores from outs to ins. ↵Craig Topper2016-03-136-34/+34
| | | | | | These operands are the registers and immediates that specify the memory address not the memory itself thus they are inputs. llvm-svn: 263354
* Make test a bit stricter to check not just the file basename is printed.Nico Weber2016-03-131-4/+4
| | | | llvm-svn: 263353
* clang-cl: Add /Yc argument to /showIncludes output.Nico Weber2016-03-134-29/+34
| | | | | | | | | | To make this work, delay printing of ExtraDeps in HeaderIncludesCallback a bit, so that it happens after CompilerInstance::InitializeSourceManager() has run. General /FI arguments are still missing from /showIncludes output, this still needs to be fixed. llvm-svn: 263352
* ELF: Include the build ID section in the first page.Rui Ueyama2016-03-132-1/+10
| | | | | | | | | | | | At least Linux has the kernel configuration to include the first page of the executable into core files. We want build ID section to be included in core files to identify them. Here is the link to the description about the kernel configuration. https://github.com/torvalds/linux/blob/097f70b3c4d84ffccca15195bdfde3a37c0a7c0f/fs/Kconfig.binfmt#L46 llvm-svn: 263351
* Add echo test for constant data arrays in the LLVM C APIAmaury Sechet2016-03-132-0/+12
| | | | llvm-svn: 263350
* Use templated version of unwrap instead of cats in the Core.cpp. NFCAmaury Sechet2016-03-133-8/+8
| | | | llvm-svn: 263349
* Move LLVMConstStructInContext so that declarationa nd definition order ↵Amaury Sechet2016-03-131-8/+8
| | | | | | match. NFC llvm-svn: 263348
* update test to use FileCheckSanjay Patel2016-03-121-9/+17
| | | | llvm-svn: 263347
* fix documentation comments; NFCSanjay Patel2016-03-121-7/+2
| | | | llvm-svn: 263346
* fix documentation comments; NFCSanjay Patel2016-03-121-76/+62
| | | | llvm-svn: 263345
* clang-cl: Add a test for the interaction of /Yc and /showIncludes.Nico Weber2016-03-124-0/+23
| | | | | | | | We almost get this right, but not completely (see FIXME). It looks like /FI headers generally aren't included in /showIncludes yet, but they should be. But it seems good to have test coverage for the bits that already work. llvm-svn: 263344
* remove unnecessary cast; NFCSanjay Patel2016-03-121-4/+3
| | | | llvm-svn: 263343
* fix formatting; NFCSanjay Patel2016-03-121-12/+12
| | | | llvm-svn: 263342
* use range loops; NFCISanjay Patel2016-03-121-21/+18
| | | | llvm-svn: 263341
* [x86, InstCombine] delete x86 SSE2 masked store with zero maskSanjay Patel2016-03-122-0/+19
| | | | | | | | | This follows up on the related AVX instruction transforms, but this one is too strange to do anything more with. Intel's behavioral description of this instruction in its Software Developer's Manual is tragi-comic. llvm-svn: 263340
* [ELF][MIPS] Put type of symbol (local/global) to the findMipsPairedReloc and ↵Simon Atanasyan2016-03-122-12/+13
| | | | | | call it from the single place. NFC. llvm-svn: 263339
OpenPOWER on IntegriCloud