| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Using backslashes causes the compiler to interpret them as
escape sequences.
llvm-svn: 249885
|
|
|
|
| |
llvm-svn: 249884
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 249882
|
|
|
|
|
|
| |
The implementation is a direct translation to c++ of the rules in the ELF spec.
llvm-svn: 249881
|
|
|
|
| |
llvm-svn: 249880
|
|
|
|
| |
llvm-svn: 249879
|
|
|
|
|
|
| |
This happens to avoid a host of implicit ilist iterator conversions.
llvm-svn: 249877
|
|
|
|
| |
llvm-svn: 249876
|
|
|
|
| |
llvm-svn: 249875
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 249873
|
|
|
|
|
|
| |
TargetInfo class.
llvm-svn: 249872
|
|
|
|
|
|
| |
change the set of features.
llvm-svn: 249871
|
|
|
|
|
|
| |
cc_kext builtin library.
llvm-svn: 249870
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
There is no haswell support in 10.4, so we don't need a 10.4 builtin library.
llvm-svn: 249868
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 249866
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 249863
|
|
|
|
|
|
|
|
| |
just export the world.
This should resolve Bug 24157 - CMake built shared library does not export all public symbols
llvm-svn: 249862
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 249859
|
|
|
|
|
|
| |
This just fixes a small error in constructing the path to the LTO library.
llvm-svn: 249858
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
| |
metadata
Reviewed By: reames
Differential Revision: http://reviews.llvm.org/D13428
llvm-svn: 249856
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
Start removing implicit conversions to/from list iterators in CodeGen,
ala r249782 for IR. A lot more to go after this.
llvm-svn: 249851
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 249847
|
|
|
|
| |
llvm-svn: 249846
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
builtins library from being built properly.
llvm-svn: 249844
|
|
|
|
|
|
| |
Found by inspection.
llvm-svn: 249843
|
|
|
|
|
|
|
| |
Previously, we did this in assignAddresses(), but finalization was
not part of assigning addresses, so this is a better place.
llvm-svn: 249842
|
|
|
|
|
|
|
|
| |
Reviewed By: reames
Differential Revision: http://reviews.llvm.org/D13517
llvm-svn: 249841
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
PT_PHDR entry points to the program header itself.
llvm-svn: 249839
|
|
|
|
|
|
|
|
| |
Reviewers: clayborg, zturner.
Subscribers: jaydeep, bhushan, sagar, nitesh.jain, brucem,lldb-commits.
Differential Revision: http://reviews.llvm.org/D13202
llvm-svn: 249838
|
|
|
|
|
|
|
|
| |
Reviewers: clayborg, jingham.
Subscribers: jaydeep, bhushan, sagar, nitesh.jain, brucem,lldb-commits.
Differential Revision: http://reviews.llvm.org/D13548
llvm-svn: 249837
|
|
|
|
| |
llvm-svn: 249836
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|