| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
| |
On cores without fpcvt support, we cannot promote int_to_fp i1 operations,
because there is nothing to promote them to. The most straightforward
implementation of this uses a select to choose between the two possible
resulting floating-point values (and that's what is done here).
llvm-svn: 203015
|
| |
|
|
| |
llvm-svn: 203013
|
| |
|
|
|
|
| |
improvement.
llvm-svn: 203011
|
| |
|
|
|
|
|
|
| |
Provide triple and data layout as well as module names (or empty string) when there's a mismatch.
Differential Revision: http://llvm-reviews.chandlerc.com/D2971
llvm-svn: 203009
|
| |
|
|
|
|
| |
Fixes PR19045.
llvm-svn: 203008
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before llvm-mc would print it, but llc was assuming that it would produce
another section changing directive before one was needed. That assumption is
false with inline asm.
Fixes PR19049.
Another option would be to always create the section, but in the asm printer
avoid printing sections changes during initialization. That would work, but
* We do use the fact that llvm-mc prints it in testing. The tests can be changed
if needed.
* A quick poll on IRC suggest that most developers prefer the implicit .text to
be printed.
llvm-svn: 203001
|
| |
|
|
|
|
|
|
|
| |
When using a //net/ path, we were transforming the trailing / into a '.'
when the path was just the root path and we were iterating backwards.
Forwards iteration and other kinds of root path (C:\, /) were already
correct.
llvm-svn: 202999
|
| |
|
|
| |
llvm-svn: 202997
|
| |
|
|
| |
llvm-svn: 202996
|
| |
|
|
|
|
| |
Originally committed in r202985.
llvm-svn: 202992
|
| |
|
|
|
|
|
|
|
|
|
| |
The build was failing with:
error C2664: 'std::atomic_int::atomic_int(const std::atomic_int &)' : cannot convert argument 1 from 'int' to 'const std::atomic_int &'
Apparently "std::atomic_int x(0)" doesn't work, but "std::atomic<int> x(0)"
does.
llvm-svn: 202988
|
| |
|
|
| |
llvm-svn: 202985
|
| |
|
|
|
|
|
| |
A version of RefCountedBase that uses std::atomic_int to store its
reference count.
llvm-svn: 202984
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The following changes have been applied:
- Removed 'align 4'. We can simplify this away, as it does not provide useful
information in the example.
- Use named instructions instead of '%0'. This is nicer, but more importantly
this makes the IR valid. Before we had two assignments to %0 in a single
example.
- Add a missing branch instruction to make the loop structure clear.
- Move one access into outer.for.body to make it not look that empty.
- The statments that are only in the outer loop body should not reference the
inner loop metadata, but only the outer loop. Only statements in both loops
should reference both surrounding loops.
- Rename the array indexes to make them all independent. Before there were
identical array indexes in the inner and the outer loop. We want to
avoid this special case as it may lead to confusion.
llvm-svn: 202973
|
| |
|
|
|
|
| |
From Brad Smith.
llvm-svn: 202967
|
| |
|
|
|
|
| |
bits.This directive is a counterpart of -mattr=dsp command line option with the exception that it does not influence elf header flags. The usage example is gives in test file.
llvm-svn: 202966
|
| |
|
|
|
| |
Contributed-by: Michael Zolutukin <mzolotukhin@apple.com>
llvm-svn: 202963
|
| |
|
|
|
|
| |
implementation already lives.
llvm-svn: 202961
|
| |
|
|
|
|
|
|
|
|
|
| |
already lived there and it is where it belongs -- this is the in-memory
debug location representation.
This is just cleanup -- Modules can actually cope with this, but that
doesn't make it right. After chatting with folks that have out-of-tree
stuff, going ahead and moving the rest of the headers seems preferable.
llvm-svn: 202960
|
| |
|
|
|
|
|
|
| |
This will allow external callers of these functions to switch over time
rather than forcing a breaking change all a once. These particular
functions were determined by building clang/lld/lldb.
llvm-svn: 202959
|
| |
|
|
|
|
|
|
| |
to ensure we don't mess up any of the overrides. Necessary for cleaning
up the Value use iterators and enabling range-based traversing of use
lists.
llvm-svn: 202958
|
| |
|
|
| |
llvm-svn: 202957
|
| |
|
|
|
|
| |
class.
llvm-svn: 202953
|
| |
|
|
|
|
|
| |
This will make the transition to unique_ptr easier by allowing more
incremental changes.
llvm-svn: 202949
|
| |
|
|
|
|
| |
class.
llvm-svn: 202946
|
| |
|
|
|
|
| |
class.
llvm-svn: 202945
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Patchpoints already did this. Doing it for stackmaps is a convenience
for the runtime in the event that it needs to scratch register to
patch or perform a runtime call thunk.
Unlike patchpoints, we just assume the AnyRegCC calling
convention. This is the only language and target independent calling
convention specific to stackmaps so makes sense. Although the calling
convention is not currently used to select the scratch registers.
llvm-svn: 202943
|
| |
|
|
| |
llvm-svn: 202939
|
| |
|
|
| |
llvm-svn: 202937
|
| |
|
|
|
|
| |
Patch by Manuel Jacob.
llvm-svn: 202936
|
| |
|
|
|
|
| |
Found self-hosting clang-cl on windows. :)
llvm-svn: 202935
|
| |
|
|
| |
llvm-svn: 202932
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
selection dag (PR19012)
In X86SelectionDagInfo::EmitTargetCodeForMemcpy we check with MachineFrameInfo
to make sure that ESI isn't used as a base pointer register before we choose to
emit rep movs (which clobbers esi).
The problem is that MachineFrameInfo wouldn't know about dynamic allocas or
inline asm that clobbers the stack pointer until SelectionDAGBuilder has
encountered them.
This patch fixes the problem by checking for such things when building the
FunctionLoweringInfo.
Differential Revision: http://llvm-reviews.chandlerc.com/D2954
llvm-svn: 202930
|
| |
|
|
|
|
|
|
|
|
|
| |
The correct name of the type in LLVM assembly is "x86_mmx". Also remove
the reST label "t_x86mmx" because it was unused anyway.
Patch by Manuel Jacob!
Differential Revision: http://llvm-reviews.chandlerc.com/D2955
llvm-svn: 202929
|
| |
|
|
|
|
| |
Patch by Manuel Jacob!
llvm-svn: 202928
|
| |
|
|
|
|
|
|
|
| |
The distinction between "identified" and "literal" struct types is fully
documented in a later section.
Patch by Philip Reames!
llvm-svn: 202927
|
| |
|
|
| |
llvm-svn: 202926
|
| |
|
|
| |
llvm-svn: 202924
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
itself and teach it to convert between the non-const and const variants.
De-templatetize its usage in APIs to just use the const variant which
always works for those use cases. Also, rename its implementation to
reflect that it is an iterator over *users* not over *uses*.
This is a step toward providing both iterator and range support for
walking the *uses* distinct from the *users*. In a subsequent patch this
will get renamed to make it clear that this is an adaptor over the
fundamental use iterator.
llvm-svn: 202923
|
| |
|
|
|
|
|
| |
using a full uint16_t with the flag value... which happens to be
0 or 1. Update the class for bool values and rename functions slightly.
llvm-svn: 202921
|
| |
|
|
| |
llvm-svn: 202920
|
| |
|
|
| |
llvm-svn: 202919
|
| |
|
|
| |
llvm-svn: 202918
|
| |
|
|
| |
llvm-svn: 202917
|
| |
|
|
|
|
|
| |
I did not intend to cast a pointer to ulittle32_t there because the return
type is const void*.
llvm-svn: 202916
|
| |
|
|
|
|
|
|
| |
Looks like llvm-readobj is the only customer of this code, and apparently
there's no test to cover this function. I'll write it after finishing
plumbing from llvm-objdump to there.
llvm-svn: 202915
|
| |
|
|
| |
llvm-svn: 202914
|
| |
|
|
| |
llvm-svn: 202913
|
| |
|
|
|
|
|
|
|
| |
Currently this code is duplicated across visitSHL, visitSRA and visitSRL. The
plan is to add rotates as clients to this new function.
There is no functional change intended here.
llvm-svn: 202908
|
| |
|
|
| |
llvm-svn: 202905
|