summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [X86] - Removing warning on legal cases caused by commit r258132Marina Yatsina2016-01-212-5/+29
| | | | | | | | | | | | | There's an overloading of the "movsd" and "cmpsd" instructions, e.g. movsd can be either "Move Data from String to String" or "Move or Merge Scalar Double-Precision Floating-Point Value". The former should produce warnings when parsing a memory operand that is not ESI/EDI, but the latter should not. Fixed the code to produce warnings only after making sure we're dealing with the first case. Expanded the tests of the produced warnings + fixed RUN line of the test so that it would check both stdout and stderr Differential Revision: http://reviews.llvm.org/D16359 llvm-svn: 258393
* [ELF] - Refactoring of Writer<ELFT>::scanRelocs()George Rimar2016-01-211-21/+29
| | | | | | | | | Code for handling TLS relocations was moved out scanRelocs() to new function handleTlsRelocations(). That is because scanRelocs already too large to put more TLS code into it. Differential revision: http://reviews.llvm.org/D16354 llvm-svn: 258392
* Change ConstantFoldInstOperands to take Instruction instead of opcode and ↵Manuel Jacob2016-01-216-59/+62
| | | | | | | | | | | | | | | | | | | | | type. NFC. Summary: The previous form, taking opcode and type, is moved to an internal helper and the new form, taking an instruction, is a wrapper around this helper. Although this is a slight cleanup on its own, the main motivation is to refactor the constant folding API to ease migration to opaque pointers. This will be follow-up work. Reviewers: eddyb Subscribers: dblaikie, llvm-commits Differential Revision: http://reviews.llvm.org/D16383 llvm-svn: 258391
* Introduce ConstantFoldCastOperand function and migrate some callers of ↵Manuel Jacob2016-01-214-61/+78
| | | | | | | | | | | | | | | | | ConstantFoldInstOperands to use it. NFC. Summary: Although this is a slight cleanup on its own, the main motivation is to refactor the constant folding API to ease migration to opaque pointers. This will be follow-up work. Reviewers: eddyb Subscribers: zzheng, dblaikie, llvm-commits Differential Revision: http://reviews.llvm.org/D16380 llvm-svn: 258390
* Introduce ConstantFoldBinaryOpOperands function and migrate some callers of ↵Manuel Jacob2016-01-213-78/+48
| | | | | | | | | | | | | | | | | ConstantFoldInstOperands to use it. NFC. Summary: Although this is a slight cleanup on its own, the main motivation is to refactor the constant folding API to ease migration to opaque pointers. This will be follow-up work. Reviewers: eddyb Subscribers: dblaikie, llvm-commits Differential Revision: http://reviews.llvm.org/D16378 llvm-svn: 258389
* [ELF][MIPS] Initial support of MIPS local GOT entriesSimon Atanasyan2016-01-217-16/+196
| | | | | | | | | | | | | | | | | | | | | | | | Some MIPS relocation (for now R_MIPS_GOT16) requires creation of GOT entries for symbol not included in the dynamic symbol table. They are local symbols and non-local symbols with 'local' visibility. Local GOT entries occupy continuous block between GOT header and regular GOT entries. The patch adds initial support for handling local GOT entries. The main problem is allocating local GOT entries for local symbols. Such entries should be initialized by high 16-bit of the symbol value. In ideal world there should be no duplicated entries with the same values. But at the moment of the `Writer::scanRelocs` call we do not know a value of the symbol. In this patch we create new local GOT entry for each relocation against local symbol, though we can exhaust GOT quickly. That needs to be optimized later. When we calculate relocation we know a final symbol value and request local GOT entry index. To do that we maintain map between addresses and local GOT entry indexes. If we start to calculate relocations in parallel we will have to serialize access to this map. Differential Revision: http://reviews.llvm.org/D16324 llvm-svn: 258388
* When ObjectFileMachO reads a Mach-O file for a 32-bit arm cpu,Jason Molenda2016-01-211-3/+16
| | | | | | | | | | | | | | | | | | | | | | set the triple's "vendor" field to Apple. We don't want to assume a vendor of Apple for all Mach-O files - this breaks x86_64 EFI debugging where they put non-Apple binaries in a Mach-O format for ease of handling. But on armv7, Apple's ABI always uses r7 as the frame pointer register; if we don't set the Vendor field to Apple, we can pick up a generic armv7 ABI where the fp is r11 (or r7 for thumb) which breaks backtracing altogether. Greg is reluctant for us to make any assumptions about the Vendor here, but we'll see how this shakes out. It's such a big problem on armv7 if we don't know this is using the Apple ABI that it's worth trying this approach. <rdar://problem/22137561> llvm-svn: 258387
* AMDGPU/SI: Pass whether to use the SI scheduler via Target AttributeTom Stellard2016-01-214-1/+13
| | | | | | | | | | | | | | | | Summary: Currently the SI scheduler can be selected via command line option, but it turned out it would be better if it was selectable via a Target Attribute. This patch adds "si-scheduler" attribute to the backend. Reviewers: tstellarAMD, echristo Subscribers: echristo, arsenm Differential Revision: http://reviews.llvm.org/D16192 llvm-svn: 258386
* Return early before iterating over local symbols. NFC.Rui Ueyama2016-01-211-2/+3
| | | | llvm-svn: 258385
* re-submit test case (withright format-version)Xinliang David Li2016-01-214-0/+29
| | | | llvm-svn: 258384
* llvm-go: call llvm-config with componentsAndrew Wilkins2016-01-211-1/+2
| | | | | | | | | | | | | | Summary: Add components back into calls to llvm-config, which was accidentally removed in r258283. Reviewers: pcc Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D16392 llvm-svn: 258383
* Simplify function signature. NFC.Rui Ueyama2016-01-212-5/+4
| | | | | | StringTable is a member variable, so we don't need to pass it around. llvm-svn: 258382
* Rename MCLineEntry to MCDwarfLineEntryDavid Majnemer2016-01-213-21/+21
| | | | | | | MCLineEntry gives the impression that it is generic MC machinery. However, it is specific to DWARF. llvm-svn: 258381
* [libFuzzer] don't use std::vector in one more hot pathKostya Serebryany2016-01-211-6/+29
| | | | llvm-svn: 258380
* [GlobalISel] make library an optional componentAndrew Wilkins2016-01-211-1/+1
| | | | | | | | | | | | | | | | | | | Summary: Mark the LLVMGlobalISel library as optional in LLVMBuild.txt, since the library is only built if LLVM_BUILD_GLOBAL_ISEL is set. Without doing this, llvm-config includes the library in the list of components regardless of whether it's built, and then will error out when asked for the library names/paths. Reviewers: qcolombet Subscribers: joker.eph, llvm-commits, vkalintiris Differential Revision: http://reviews.llvm.org/D16386 llvm-svn: 258379
* [GlobalISel] Move generic opcodes description to their own file.Quentin Colombet2016-01-212-10/+26
| | | | | | Differential Revision: http://reviews.llvm.org/D16384 llvm-svn: 258378
* Revert 258376 -- wrong versionXinliang David Li2016-01-214-29/+0
| | | | llvm-svn: 258377
* [Coverage] Add a test case for comdatXinliang David Li2016-01-214-0/+29
| | | | | | | | | | | The binary contains two (merged) covmap sections which have duplicate CovMapRecords from comdat (template instantation). This test makes sure the reader reads it properly. It also tests that the coverage data from different instantiations of the same template function are properly merged in show output. llvm-svn: 258376
* Fix indentation.Rui Ueyama2016-01-211-1/+1
| | | | llvm-svn: 258374
* [libfuzzer] use %p for printing addressesMike Aizatsky2016-01-211-1/+1
| | | | llvm-svn: 258370
* Remove redundant argument.Rafael Espindola2016-01-211-3/+3
| | | | | | It is already a member variable. llvm-svn: 258369
* [readobj] Print CodeOffset first, it's easier to readReid Kleckner2016-01-201-5/+5
| | | | llvm-svn: 258368
* Fix a problem where we were not calling fcntl() with the correct arguments ↵Enrico Granata2016-01-201-2/+2
| | | | | | | | | | | for F_DUPFD On Mac OS X, this was working just fine in debug builds (presumably, because the right value ended up being at the right location for the variadic ABI), but not in Release builds As a result, we were seeing failures with commands that set their own immediate output stream - only in Release builds, which always makes for a fun little investigation I have removed those fcntl() calls and replaced them with dup() calls. This fixes the issue in both Debug and Release builds llvm-svn: 258367
* [SelectionDAG] Fix constant offset folding to avoid commuting ↵Dan Gohman2016-01-202-2/+21
| | | | | | | | | non-commutative operators. This fixes a miscompile in MultiSource/Benchmarks/MiBench/consumer-lame introduced in r258296. llvm-svn: 258366
* Fixed some #ifdefs. We were erroneously not supporting certain simulators.Sean Callanan2016-01-201-2/+2
| | | | | | | | We had some #ifdefs that were looking for the wrong #defines and as a result debugserver didn't have support for certain simulators. This patch resolves the problem. llvm-svn: 258365
* MachineScheduler: Add a command line option to disable post scheduler.Chad Rosier2016-01-201-1/+9
| | | | llvm-svn: 258364
* MachineScheduler: Honor optnone functions in the pre-ra scheduler.Chad Rosier2016-01-202-0/+4
| | | | llvm-svn: 258363
* Simplify the logic. NFC.Rafael Espindola2016-01-201-19/+2
| | | | | | Found while reviewing the change for PR26152. llvm-svn: 258362
* Run clang-format over ConstantFolding.h, fixing inconsistent indentation. NFC.Manuel Jacob2016-01-201-23/+22
| | | | llvm-svn: 258361
* don't repeat function names in comments; NFCSanjay Patel2016-01-201-19/+14
| | | | llvm-svn: 258360
* Orc: Simplify lambda by using std::set's initializer_list ctorDavid Blaikie2016-01-201-10/+9
| | | | llvm-svn: 258359
* [Orc] Try to turn Orc execution unit tests back on for Linux.Lang Hames2016-01-201-1/+1
| | | | | | | The fix in r258324 (plus r258354) should allow Orc execution tests to run on Linux. llvm-svn: 258358
* Fix typo in an error string. NFC.George Burgess IV2016-01-201-1/+1
| | | | llvm-svn: 258357
* Make modernize-use-default tolerant of delayed template parsing; this code ↵Aaron Ballman2016-01-202-0/+9
| | | | | | was previously causing failed assertions because dyn_cast was being passed a null pointer due to the delay-parsed body. llvm-svn: 258356
* Fix PR26152.Evgeniy Stepanov2016-01-203-1/+32
| | | | | | | | Fix the condition for when the new global takes over the name of the existing one to be the negation of the condition for the new global to get internal linkage. llvm-svn: 258355
* Fix build warning.Evgeniy Stepanov2016-01-201-1/+2
| | | | | | | error: field 'CCMgr' will be initialized after field 'IndirectStubsMgr' [-Werror,-Wreorder] : DL(TM.createDataLayout()), CCMgr(std::move(CCMgr)), llvm-svn: 258354
* AMDGPU/SI: Promote i1 SETCC operationsTom Stellard2016-01-202-0/+21
| | | | | | | | | | | | | | Summary: While working on uniform branching, I've hit a few cases where we emit i1 SETCC operations. Reviewers: arsenm Subscribers: arsenm, llvm-commits Differential Revision: http://reviews.llvm.org/D16233 llvm-svn: 258352
* AMDGPU: Fix old comments that mention AMDILMatt Arsenault2016-01-203-4/+4
| | | | llvm-svn: 258350
* AMDGPU: Remove AMDGPU.trunc intrinsicMatt Arsenault2016-01-203-20/+0
| | | | llvm-svn: 258348
* AMDGPU: Remove AMDIL.fraction intrinsicMatt Arsenault2016-01-205-23/+4
| | | | llvm-svn: 258347
* AMDGPU: Remove AMDIL.round.nearest intrinsicMatt Arsenault2016-01-203-15/+0
| | | | llvm-svn: 258346
* [GlobalISel] Add the proper cmake plumbing.Quentin Colombet2016-01-209-1/+239
| | | | | | | | | | | | | This patch adds the necessary plumbing to cmake to build the sources related to GlobalISel. To build the sources related to GlobalISel, we need to add -DBUILD_GLOBAL_ISEL=ON. By default, this is OFF, thus GlobalISel sources will not impact people that do not explicitly opt-in. Differential Revision: http://reviews.llvm.org/D15983 llvm-svn: 258344
* AMDGPU: Remove abs intrinsicMatt Arsenault2016-01-204-63/+0
| | | | llvm-svn: 258343
* AMDGPU: Remove min/max intrinsicsMatt Arsenault2016-01-207-211/+2
| | | | | | This removes support for mesa 11.0.x llvm-svn: 258342
* Register the isCopyAssignmentOperator AST matcher so that it can be used ↵Aaron Ballman2016-01-201-0/+1
| | | | | | | | dynamically. Path by Jonathan Coe. llvm-svn: 258341
* [ELF][MIPS] Update test case to reflect recent changes in llvm-readobjSimon Atanasyan2016-01-201-0/+2
| | | | llvm-svn: 258340
* [MSan] Clear parameters shadow before invoking malloc/free hooks.Alexey Samsonov2016-01-201-4/+10
| | | | | | | | | | | | MSan runtime is not itself instrumented, so we need to explicitly clear shadow for function arguments before calling user-provided functions from runtime (e.g. we already do this for several interceptors). I'm still crafting a test case that would demonstrate this issue reliably, and will commit it later today. llvm-svn: 258339
* Add a "gc-transition" operand bundleSanjoy Das2016-01-208-10/+58
| | | | | | | | | | | | | | | | | | | Summary: This adds a new kind of operand bundle to LLVM denoted by the `"gc-transition"` tag. Inputs to `"gc-transition"` operand bundle are lowered into the "transition args" section of `gc.statepoint` by `RewriteStatepointsForGC`. This removes the last bit of functionality that was unsupported in the deopt bundle based code path in `RewriteStatepointsForGC`. Reviewers: pgavlin, JosephTremoulet, reames Subscribers: sanjoy, mcrosier, llvm-commits Differential Revision: http://reviews.llvm.org/D16342 llvm-svn: 258338
* [asan] print an additional hint when reporting a container overflowKostya Serebryany2016-01-202-1/+14
| | | | llvm-svn: 258337
* [llvm-readobj][ELF] Teach llvm-readobj to show arch specific ELF section's flagsSimon Atanasyan2016-01-204-3/+157
| | | | | | | | | | | | | | Some architecture specific ELF section flags might have the same value (for example SHF_X86_64_LARGE and SHF_HEX_GPREL) and we have to check machine architectures to select an appropriate set of possible flags. The patch selects architecture specific flags into separate arrays `ElfxxxSectionFlags` and combines `ElfSectionFlags` and `ElfxxxSectionFlags` before pass to the `StreamWriter::printFlags()` method. Differential Revision: http://reviews.llvm.org/D16269 llvm-svn: 258334
OpenPOWER on IntegriCloud