| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
| |
down to 8 by restricting the maximum allowed regparm value to 6
(previously it was 7). I need the extra bit in Type to handle
instantiation-dependence.
llvm-svn: 133924
|
| |
|
|
|
|
| |
getting the index, decrement it so that it points to the current element. Fixes an off-by-one bug encountered when trying to make use of MVT::untyped.
llvm-svn: 133923
|
| |
|
|
|
|
| |
into XXXGenRegisterInfo.inc.
llvm-svn: 133922
|
| |
|
|
| |
llvm-svn: 133921
|
| |
|
|
| |
llvm-svn: 133920
|
| |
|
|
|
|
| |
functionalities and order to reside under macosx.
llvm-svn: 133919
|
| |
|
|
|
|
| |
embedded_interpreter to reside under functionalities.
llvm-svn: 133918
|
| |
|
|
|
|
|
|
| |
Removed the check that peeks past EXTRA_SUBREG, which I don't think
makes sense any more. Intead treat it as a normal register def. No
significant affect on x86 or ARM benchmarks.
llvm-svn: 133917
|
| |
|
|
|
|
|
|
|
|
| |
Also fix some of the tests that were actually testing wrong behavior -
An input operand in {st} is only popped by the inline asm when {st} is
also in the clobber list.
The original bug reports all had ~{st} clobbers as they should.
llvm-svn: 133916
|
| |
|
|
|
|
|
|
| |
for the '(' and ')' around the initializer unless we actually have an
initializer. Fixes PR10197, an issue where we were value-initializing
rather than default-initializing.
llvm-svn: 133913
|
| |
|
|
|
|
| |
a pointer to void.
llvm-svn: 133912
|
| |
|
|
| |
llvm-svn: 133911
|
| |
|
|
|
|
| |
Patch by Sanjoy Das!
llvm-svn: 133910
|
| |
|
|
|
|
|
|
|
|
|
| |
of a single if block. This is really annoying to track down and test.
Silly changes to the test case caused it to stop showing up. I wish
there were a more concrete way of asserting that a note attaches to the
intended diagnostic.
This fixes PR10195.
llvm-svn: 133907
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
arithmetic into a couple of common routines. Use these to make the
messages more consistent in the various contexts, especially in terms of
consistently diagnosing binary operators with invalid types on both the
left- and right-hand side. Also, improve the grammar and wording of the
messages some, handling both two pointers and two (different) types.
The wording of function pointer arithmetic diagnostics still strikes me
as poorly phrased, and I worry this makes them slightly more awkward if
more consistent. I'm hoping to fix that with a follow-on patch and test
case that will also make them more helpful when a typedef or template
type parameter makes the type completely opaque.
Suggestions on better wording are very welcome, thanks to Richard Smith
for some initial help on that front.
llvm-svn: 133906
|
| |
|
|
|
|
|
|
| |
alloca that only holds a copy of a global and we're going to replace the users
of the alloca with that global, just nuke the lifetime intrinsics. Part of
PR10121.
llvm-svn: 133905
|
| |
|
|
|
|
| |
passes as well.
llvm-svn: 133904
|
| |
|
|
|
|
|
| |
This allows for more live scratch registers which is needed to handle
live ST registers before return and inline asm instructions.
llvm-svn: 133903
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Both become <earlyclobber> defs on the INLINEASM MachineInstr, but we
now use two different asm operand kinds.
The new Kind_Clobber is treated identically to the old
Kind_RegDefEarlyClobber for now, but x87 floating point stack inline
assembly does care about the difference.
This will pop a register off the stack:
asm("fstp %st" : : "t"(x) : "st");
While this will pop the input and push an output:
asm("fst %st" : "=&t"(r) : "t"(x));
We need to know if ST0 was a clobber or an output operand, and we can't
depend on <dead> flags for that.
llvm-svn: 133902
|
| |
|
|
|
|
|
|
|
|
| |
The INLINEASM MachineInstrs have an immediate operand describing each
original inline asm operand. Decode the bits in MachineInstr::print() so
it is easier to read:
INLINEASM <es:rorq $1,$0>, $0:[regdef], %vreg0<def>, %vreg1<def>, $1:[imm], 1, $2:[reguse] [tiedto:$0], %vreg2, %vreg3, $3:[regdef-ec], %EFLAGS<earlyclobber,imp-def>
llvm-svn: 133901
|
| |
|
|
| |
llvm-svn: 133900
|
| |
|
|
|
|
| |
remove the analysis group.
llvm-svn: 133899
|
| |
|
|
|
|
| |
assert that any names we find are valid candidates for the call.
llvm-svn: 133898
|
| |
|
|
| |
llvm-svn: 133897
|
| |
|
|
| |
llvm-svn: 133896
|
| |
|
|
| |
llvm-svn: 133895
|
| |
|
|
| |
llvm-svn: 133894
|
| |
|
|
| |
llvm-svn: 133893
|
| |
|
|
| |
llvm-svn: 133892
|
| |
|
|
|
|
| |
level directories.
llvm-svn: 133891
|
| |
|
|
| |
llvm-svn: 133890
|
| |
|
|
|
|
| |
dir.
llvm-svn: 133889
|
| |
|
|
| |
llvm-svn: 133886
|
| |
|
|
|
|
| |
Move stl dir to now reside under lang/cpp.
llvm-svn: 133884
|
| |
|
|
| |
llvm-svn: 133883
|
| |
|
|
| |
llvm-svn: 133882
|
| |
|
|
| |
llvm-svn: 133881
|
| |
|
|
| |
llvm-svn: 133880
|
| |
|
|
| |
llvm-svn: 133879
|
| |
|
|
| |
llvm-svn: 133878
|
| |
|
|
| |
llvm-svn: 133877
|
| |
|
|
| |
llvm-svn: 133876
|
| |
|
|
| |
llvm-svn: 133875
|
| |
|
|
|
|
| |
necessary check.
llvm-svn: 133874
|
| |
|
|
|
|
|
|
| |
The .b8 operations in PTX are far more limiting than I first thought. The mov operation isn't even supported, so there's no way of converting a .pred value into a .b8 without going via .b16, which is
not sensible. An improved implementation needs to use the fact that loads and stores automatically extend and truncate to implement support for EXTLOAD and TRUNCSTORE in order to correctly support
boolean values.
llvm-svn: 133873
|
| |
|
|
| |
llvm-svn: 133872
|
| |
|
|
| |
llvm-svn: 133871
|
| |
|
|
| |
llvm-svn: 133870
|
| |
|
|
| |
llvm-svn: 133869
|
| |
|
|
| |
llvm-svn: 133868
|