summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Have CMake translate LLDB_PYTHON_HOME to forward slashes.Zachary Turner2015-10-091-1/+2
| | | | | | | Using backslashes causes the compiler to interpret them as escape sequences. llvm-svn: 249885
* CodeGen: Continue removing ilist iterator implicit conversionsDuncan P. N. Exon Smith2015-10-098-46/+52
| | | | llvm-svn: 249884
* CodeGen: Remove implicit iterator conversions from MBB.cppDuncan P. N. Exon Smith2015-10-093-8/+17
| | | | | | | | | | Remove implicit ilist iterator conversions from MachineBasicBlock.cpp. I've also added an overload of `splice()` that takes a pointer, since it's a natural API. This is similar to the overloads I added for `remove()` and `erase()` in r249867. llvm-svn: 249883
* ELF2: Reduce code repetition.Rui Ueyama2015-10-092-45/+12
| | | | llvm-svn: 249882
* Add support for comdats.Rafael Espindola2015-10-0910-26/+191
| | | | | | The implementation is a direct translation to c++ of the rules in the ELF spec. llvm-svn: 249881
* CodeGen: Avoid ilist iterator implicit conversions in a few more places, NFCDuncan P. N. Exon Smith2015-10-093-23/+21
| | | | llvm-svn: 249880
* CodeGen: Remove more ilist iterator implicit conversions, NFCDuncan P. N. Exon Smith2015-10-097-28/+27
| | | | llvm-svn: 249879
* CodeGen: Use range-based for in IntrinsicLowering::AddPrototypes, NFCDuncan P. N. Exon Smith2015-10-091-21/+21
| | | | | | This happens to avoid a host of implicit ilist iterator conversions. llvm-svn: 249877
* CodeGen: Use range-based for in GlobalMerge, NFCDuncan P. N. Exon Smith2015-10-091-16/+15
| | | | llvm-svn: 249876
* CodeGen: Remove a few more ilist iterator implicit conversions, NFCDuncan P. N. Exon Smith2015-10-094-45/+53
| | | | llvm-svn: 249875
* Teach LoopUnswitch not to perform non-trivial unswitching on loops ↵Owen Anderson2015-10-092-0/+53
| | | | | | | | | | | containing convergent operations. Doing so could cause the post-unswitching convergent ops to be control-dependent on the unswitch condition where they were not before. This check could be refined to allow unswitching where the convergent operation was already control-dependent on the unswitch condition. llvm-svn: 249874
* Add iterator ranges for blocks in a Loop.Owen Anderson2015-10-091-0/+3
| | | | llvm-svn: 249873
* Fix whitespace, 80-column violations, embedded tabs for theEric Christopher2015-10-093-31/+36
| | | | | | TargetInfo class. llvm-svn: 249872
* constify the feature vector going into initFeatureMap as it shouldn'tEric Christopher2015-10-093-28/+34
| | | | | | change the set of features. llvm-svn: 249871
* [CMake] [Darwin] [builtins] Need to special case the naming of the OS X ↵Chris Bieneman2015-10-091-1/+5
| | | | | | cc_kext builtin library. llvm-svn: 249870
* CodeGen: Remove implicit iterator conversions from SlotIndexes.h, NFCDuncan P. N. Exon Smith2015-10-091-7/+7
| | | | | | | | Be explicit about changes between pointers and iterators, as with other recent commits. This transitively removes implicit ilist iterator conversions from about 20 source files in CodeGen. llvm-svn: 249869
* [CMake] [darwin] [builitins] Don't build x86_64h into the 10.4 builtins libraryChris Bieneman2015-10-091-0/+2
| | | | | | There is no haswell support in 10.4, so we don't need a 10.4 builtin library. llvm-svn: 249868
* CodeGen: Remove implicit conversions from Analysis and BranchFoldingDuncan P. N. Exon Smith2015-10-094-32/+37
| | | | | | | | | | | | Remove a few more implicit ilist iterator conversions, this time from Analysis.cpp and BranchFolding.cpp. I added a few overloads for `remove()` and `erase()`, which quite naturally take pointers as well as iterators as parameters. This will reduce the churn at least in the short term, but I don't really have a problem with these existing for longer. llvm-svn: 249867
* Remove some unused variables in -Asserts buildsDavid Blaikie2015-10-091-3/+4
| | | | llvm-svn: 249866
* Refine the definition of convergent to only disallow the addition of new ↵Owen Anderson2015-10-096-12/+12
| | | | | | | | | | control dependencies. This covers the common case of operations that cannot be sunk. Operations that cannot be hoisted should already be handled properly via the safe-to-speculate rules and mechanisms. llvm-svn: 249865
* Don't blindly use C for eLanguageTypeUnknown when getting a scratch TypeSystem.Sean Callanan2015-10-091-1/+20
| | | | | | | | | | Instead check what languages are supported for expressions; use C if available, but otherwise pick one of the supported languages. This can be overridden using the target settings. <rdar://problem/22290878> llvm-svn: 249864
* fix typos; NFCSanjay Patel2015-10-091-13/+12
| | | | llvm-svn: 249863
* [CMake] If LLVM_DYLIB_EXPORT_ALL is On don't generate an export list at all, ↵Chris Bieneman2015-10-091-18/+10
| | | | | | | | just export the world. This should resolve Bug 24157 - CMake built shared library does not export all public symbols llvm-svn: 249862
* Add inline stack streaming to binary sample profiles.Diego Novillo2015-10-096-43/+137
| | | | | | | | | | | | With this patch we can now read and write inline stacks in sample profiles to the binary encoded profiles. In a subsequent patch, I will add a string table to the binary encoding. Right now function names are emitted as strings every time we find them. This is too bloated and will produce large files in applications with lots of inlining. llvm-svn: 249861
* [debugserver,cmake] Add DEPENDS to custom commands.Bruce Mitchener2015-10-091-1/+5
| | | | | | | | | | | | | | Summary: Add dependencies to the custom commands so that they get re-executed as needed. Reviewers: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D13580 llvm-svn: 249860
* [WebAssembly] Rename floating-point operators to match their spec names.Dan Gohman2015-10-093-18/+18
| | | | llvm-svn: 249859
* [CMake] Fixing LTO library path passed into bootstrap builds.Chris Bieneman2015-10-091-1/+1
| | | | | | This just fixes a small error in constructing the path to the LTO library. llvm-svn: 249858
* [OMPT] Reduce overhead of OMPTJonathan Peyton2015-10-093-6/+14
| | | | | | | | | | | * Avoid computing state needed only by OMPT unless the ompt_enabled flag is set. * Properly handle a corner case in OMPT where team == NULL. Patch by John Mellor-Crummey Differential Revision: http://reviews.llvm.org/D13502 llvm-svn: 249857
* Add verification for align, dereferenceable, dereferenceable_or_null load ↵Artur Pilipenko2015-10-093-0/+181
| | | | | | | | | | metadata Reviewed By: reames Differential Revision: http://reviews.llvm.org/D13428 llvm-svn: 249856
* [OMPT] Initialize task fields only if neededJonathan Peyton2015-10-092-20/+12
| | | | | | | | | | | | | | Because __kmp_task_init_ompt is called for every initial task in each thread and always generated task ids, this was a big performance issue on bigger systems even without any tool attached. After changing the initialization interface to ompt_tool, we can now rely on already knowing whether a tool is attached and OMPT is enabled at this point. Patch by Jonas Hahnfeld Differential Revision: http://reviews.llvm.org/D13494 llvm-svn: 249855
* Clear SectionSymbols in MCContext::ResetKeno Fischer2015-10-091-0/+1
| | | | | | | | | | | | | This was just forgotten when SectionSymbols was introduced and could cause corruption if the MCContext was reused after Reset. Reviewers: rafael Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D13547 llvm-svn: 249854
* Consolidate invariant loadsJohannes Doerfert2015-10-0912-53/+480
| | | | | | | | | | | | | | | | | | | | | | | | | | | If a (assumed) invariant location is loaded multiple times we generated a parameter for each location. However, this caused compile time problems for several benchmarks (e.g., 445_gobmk in SPEC2006 and BT in the NAS benchmarks). Additionally, the code we generate is suboptimal as we preload the same location multiple times and perform the same checks on all the parameters that refere to the same value. With this patch we consolidate the invariant loads in three steps: 1) During SCoP initialization required invariant loads are put in equivalence classes based on their pointer operand. One representing load is used to generate a parameter for the whole class, thus we never generate multiple parameters for the same location. 2) During the SCoP simplification we remove invariant memory accesses that are in the same equivalence class. While doing so we build the union of all execution domains as it is only important that the location is at least accessed once. 3) During code generation we only preload one element of each equivalence class with the unified execution domain. All others are mapped to that preloaded value. Differential Revision: http://reviews.llvm.org/D13338 llvm-svn: 249853
* AArch64: Make getNextNode() cleanup in r249764 more clearDuncan P. N. Exon Smith2015-10-091-2/+2
| | | | | | | | | | | | After r249764, if you didn't see the full context, it looked like `std::next(I)` would get the same result as `++MachineBasicBlock::iterator(I)`. However, `I` is a `MachineInstr*` (not a `MachineBasicBlock::iterator`). Use the `getIterator()` helper I added later (r249782) to make this code more clear. llvm-svn: 249852
* CodeGen: Start removing implicit conversions to/from list iterators, NFCDuncan P. N. Exon Smith2015-10-096-18/+18
| | | | | | | Start removing implicit conversions to/from list iterators in CodeGen, ala r249782 for IR. A lot more to go after this. llvm-svn: 249851
* Revert "Support: Partially revert r249782 to unbreak clang build"Duncan P. N. Exon Smith2015-10-091-4/+4
| | | | | | | | This reverts commit r249783, fully reinstating r249782. I've fixed the bug in clang: it was a non-const iterator that dereferenced to const (but had an implicit conversion to non-const). llvm-svn: 249850
* Analysis: Make CFG::graph_iterator dereference to non-constDuncan P. N. Exon Smith2015-10-091-1/+1
| | | | | | | | | | | | | | | Since the original commit in r145858, we've had `CFG::graph_iterator` and `CFG::const_graph_iterator`, and both have derefenced to a `const`-ified `value_type`. The former has an implicit conversion to non-`const`, which is how this worked at all until r249782 started using the dereference operator (partially reverted in r249783). This fixes the non-const iterator to be non-const (sometimes const-iterators are intentional, but with a separate const-ified class (and a non-const implicit conversion leak) that's not likely to be the case here). llvm-svn: 249849
* Make HeaderLineno a local variable.Dehao Chen2015-10-091-12/+8
| | | | | | | | http://reviews.llvm.org/D13576 As we are using hierarchical profile, there is no need to keep HeaderLineno a member variable. This is because each level of the inline stack will have its own header lineno. One should use the head lineno of its own inline stack level instead of the actual symbol. llvm-svn: 249848
* Fix pdb.test when python is not on PATHReid Kleckner2015-10-091-1/+1
| | | | llvm-svn: 249847
* Fix VFS GCC unittest on WindowsReid Kleckner2015-10-091-0/+3
| | | | llvm-svn: 249846
* Fixed two bugs in llvm-objdump’s printing of Objective-C meta dataKevin Enderby2015-10-094-0/+29
| | | | | | | | | | | from malformed Mach-O files that caused crashes. The first because the offset in a dyld bind table entry was out of range. The second because their was no image info section and the routine printing it did not have the need check to see the section did not exist. rdar://22983603 llvm-svn: 249845
* [CMake] [Darwin] [Builtins] Fixing a typo that was keeping the OS X 10.4 ↵Chris Bieneman2015-10-091-1/+1
| | | | | | builtins library from being built properly. llvm-svn: 249844
* Don't silently ignore an error.Rafael Espindola2015-10-091-3/+5
| | | | | | Found by inspection. llvm-svn: 249843
* ELF2: Call OutputSection::finalize() from createSections.Rui Ueyama2015-10-091-3/+6
| | | | | | | Previously, we did this in assignAddresses(), but finalization was not part of assigning addresses, so this is a better place. llvm-svn: 249842
* ValueTracking: use getAlignment in isAlignedArtur Pilipenko2015-10-091-14/+1
| | | | | | | | Reviewed By: reames Differential Revision: http://reviews.llvm.org/D13517 llvm-svn: 249841
* Remove long-forgotten plugin virtuals.Bruce Mitchener2015-10-096-80/+0
| | | | | | | | | | | | | | | Summary: EnablePluginLogging, GetPluginCommandHelp and ExecutePluginCommand aren't implemented or used anywhere, so remove them from the Hexagon and POSIX Dynamic Loaders as well as the FreeBSD process. Reviewers: clayborg, labath, emaste Subscribers: lldb-commits, emaste Differential Revision: http://reviews.llvm.org/D13581 llvm-svn: 249840
* ELF2: Emit a PT_PHDR header as the first entry of the program header.Rui Ueyama2015-10-0910-23/+118
| | | | | | PT_PHDR entry points to the program header itself. llvm-svn: 249839
* [LLDB] Fix display of value of a vector variables in watchpoint operationsMohit K. Bhakkad2015-10-094-3/+95
| | | | | | | | Reviewers: clayborg, zturner. Subscribers: jaydeep, bhushan, sagar, nitesh.jain, brucem,lldb-commits. Differential Revision: http://reviews.llvm.org/D13202 llvm-svn: 249838
* [LLDB][MIPS] fix watchpoint searched on client side for same masked variablesMohit K. Bhakkad2015-10-091-0/+2
| | | | | | | | Reviewers: clayborg, jingham. Subscribers: jaydeep, bhushan, sagar, nitesh.jain, brucem,lldb-commits. Differential Revision: http://reviews.llvm.org/D13548 llvm-svn: 249837
* [dsymutil] Prevent warningFrederic Riss2015-10-091-1/+2
| | | | llvm-svn: 249836
* Revert "[ELF2] - Implemented rel[a].plt sections"Rafael Espindola2015-10-096-55/+29
| | | | | | | | | | | | | | | | This reverts commit r249816. It broke building llvm with lld: $ ./bin/FileCheck ./bin/FileCheck: error while loading shared libraries: unexpected PLT reloc type 0x06 I think the only thing that is wrong with this patch is that it is too soon. The plt we create (and its relocs) don't support lazy loading, so they have to be relocated as ordinary dynamic relocations. llvm-svn: 249835
OpenPOWER on IntegriCloud