| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
llvm-svn: 58644
|
|
|
|
| |
llvm-svn: 58643
|
|
|
|
|
|
|
| |
work correctly, and bring over a late change to ppcf128
SetCC handling.
llvm-svn: 58642
|
|
|
|
|
|
| |
X x(5, 7);
llvm-svn: 58641
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
sized integers like i129, and also reduce the number
of assumptions made about how vaarg is implemented.
This still doesn't work correctly for small integers
like (eg) i1 on x86, since x86 passes each of them
(essentially an i8) in a 4 byte stack slot, so the
pointer needs to be advanced by 4 bytes not by 1 byte
as now. But this is no longer a LegalizeTypes problem
(it was also wrong in LT before): it is a bug in the
operation expansion in LegalizeDAG: now LegalizeTypes
turns an i1 vaarg into an i8 vaarg which would work
fine if only the i8 vaarg was turned into correct code
later.
llvm-svn: 58635
|
|
|
|
|
|
| |
Eric C, thanks!
llvm-svn: 58634
|
|
|
|
|
|
|
| |
to avoid overload ambiguities. This fixes build errors introduced
by r58623.
llvm-svn: 58632
|
|
|
|
| |
llvm-svn: 58631
|
|
|
|
|
|
| |
would be hard pressed to be considered a sentence, but if it makes Bill happy...
llvm-svn: 58630
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
cope with the case where a user-defined conversion is actually a copy
construction, and therefore can be compared against other standard
conversion sequences. While I called this a hack before, now I'm
convinced that it's the right way to go.
Compare overloads based on derived-to-base conversions that invoke
copy constructors.
Suppress user-defined conversions when attempting to call a
user-defined conversion.
llvm-svn: 58629
|
|
|
|
|
|
| |
fill in, but the basics are there.
llvm-svn: 58626
|
|
|
|
|
|
|
|
| |
This allows SCEV users to effectively calculate trip count.
LSR later on transforms back integer IVs to floating point IVs
later on to avoid int-to-float casts inside the loop.
llvm-svn: 58625
|
|
|
|
|
|
| |
adding a TargetMachine member to the base TargetAsmInfo class instead.
llvm-svn: 58624
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
bits, use a union of a SimpleValueType enum and a regular Type*.
This increases the size of MVT on 64-bit hosts from 32 bits to 64 bits.
In most cases, this doesn't add significant overhead. There are places
in codegen that use arrays of MVTs, so these are now larger, but
they're small in common cases.
This eliminates restrictions on the size of integer types and vector
types that can be represented in codegen. As the included testcase
demonstrates, it's now possible to codegen very large add operations.
There are still some complications with using very large types. PR2880
is still open so they can't be used as return values on normal targets,
there are no libcalls defined for very large integers so operations
like multiply and divide aren't supported.
This also introduces a minimal tablgen Type library, capable of
handling IntegerType and VectorType. This will allow parts of
TableGen that don't depend on using SimpleValueType values to handle
arbitrary integer and vector types.
llvm-svn: 58623
|
|
|
|
|
|
|
|
|
|
|
| |
when appropriate.
Conversions for class types now make use of copy constructors. I've
replaced the egregious hack allowing class-to-class conversions with a
slightly less egregious hack calling these conversions standard
conversions (for overloading reasons).
llvm-svn: 58622
|
|
|
|
| |
llvm-svn: 58621
|
|
|
|
|
|
| |
class definitions.
llvm-svn: 58620
|
|
|
|
|
|
| |
specializing
llvm-svn: 58615
|
|
|
|
| |
llvm-svn: 58613
|
|
|
|
|
|
|
|
|
|
|
| |
reference-collapsing.
Implement diagnostic for formation of a reference to cv void.
Drop cv-qualifiers added to a reference type when the reference type
comes from a typedef.
llvm-svn: 58612
|
|
|
|
| |
llvm-svn: 58611
|
|
|
|
|
|
| |
wchar_t types. Fixes recent breakage on Linux.
llvm-svn: 58609
|
|
|
|
|
|
| |
10 bytes long, but is passed in 12/16 bytes).
llvm-svn: 58608
|
|
|
|
|
|
| |
Offset+NumBytes <= size() && "Invalid region to erase!", file c:\cygwin\home\Administrator\llvm\to ols\clang\include\clang/Rewrite/RewriteRope.h, line 219.
llvm-svn: 58607
|
|
|
|
| |
llvm-svn: 58606
|
|
|
|
|
|
|
| |
the designator corresponding to it, otherwise Sema and later parsing will
get confused.
llvm-svn: 58603
|
|
|
|
| |
llvm-svn: 58602
|
|
|
|
|
|
|
|
| |
the following command line in the HTML output: scan-build gcc -x c /dev/null -c -Dfoo='"string abc"'
Fixes <rdar://problem/6338651>
llvm-svn: 58600
|
|
|
|
| |
llvm-svn: 58598
|
|
|
|
| |
llvm-svn: 58597
|
|
|
|
| |
llvm-svn: 58596
|
|
|
|
|
|
| |
- Prepare AnonPointeeRegioin for later use.
llvm-svn: 58595
|
|
|
|
| |
llvm-svn: 58594
|
|
|
|
| |
llvm-svn: 58593
|
|
|
|
|
|
| |
We're still waiting on code that actually analyzes them properly.
llvm-svn: 58592
|
|
|
|
| |
llvm-svn: 58591
|
|
|
|
| |
llvm-svn: 58570
|
|
|
|
|
|
|
|
| |
* merge two weak functions by making them both alias a third non-weak fn
* don't reimplement CallSite::hasArgument
* whitelist the safe linkage types
llvm-svn: 58568
|
|
|
|
| |
llvm-svn: 58567
|
|
|
|
|
|
| |
to be manually maintained, but it won't automatically detect a new header. I think this is a good compromise for the header files, since there presence in the solution is just an help for the user. Moreover, a new header is often introduced with a new cpp source file which need a makefile change, which will regenerate the solution and detect the new header.
llvm-svn: 58566
|
|
|
|
| |
llvm-svn: 58565
|
|
|
|
|
|
|
|
|
|
|
| |
sets the whole struct to Unknown. Then we cannot assume the V passed to
BindStruct() is always a CompoundVal. When it is an UnknownVal, we call
BindStructToVal(UnknownVal).
2. Change the signature of InitializeStructToUndefined() to BindStructToVal()
to reuse the code.
llvm-svn: 58564
|
|
|
|
| |
llvm-svn: 58563
|
|
|
|
| |
llvm-svn: 58562
|
|
|
|
|
|
|
| |
cast from ‘const llvm::PointerType*’ to ‘unsigned int’
loses precision).
llvm-svn: 58561
|
|
|
|
|
|
|
|
|
| |
exist before. Updating the live intervals in that care is tricky in the general
case.
Evan, if you see a tighter guard condition for this, let me know.
llvm-svn: 58560
|
|
|
|
| |
llvm-svn: 58559
|
|
|
|
| |
llvm-svn: 58558
|
|
|
|
|
|
|
|
| |
This triggers only 60 times in llvm-test (look at .llvm.bc, not .linked.rbc)
and so it probably wont be turned on by default. Also, may of those are likely
to go away when PR2973 is fixed.
llvm-svn: 58557
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the types for size_t and ptrdiff_t more accurate. I think all of these
are correct, but please compare the defines for __PTRDIFF_TYPE__ and
__SIZE_TYPE__ to gcc to double-check; this particularly applies to
those on BSD variants, since I'm not sure what they do here; I assume
here that they're the same as on Linux.
Fixes wchar_t to be "int", not "unsigned int" (which I think is
correct on everything but Windows).
Fixes ptrdiff_t to be "int" rather than "short" on PIC16; "short" is an
somewhat strange choice because it normally gets promoted, and it's not
consistent with the choice for size_t.
llvm-svn: 58556
|