| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Patch by Liu <proljc@gmail.com>!
llvm-svn: 131086
|
| |
|
|
|
|
| |
lane) for size 32
llvm-svn: 131085
|
| |
|
|
|
|
|
| |
when POSIXLY_COMPLIANT is set.
- Patch by Dave Vasilevsky!
llvm-svn: 131084
|
| |
|
|
| |
llvm-svn: 131082
|
| |
|
|
|
|
| |
being returned for both the PC and FP.
llvm-svn: 131081
|
| |
|
|
|
|
| |
rdar://problem/9391966
llvm-svn: 131080
|
| |
|
|
| |
llvm-svn: 131079
|
| |
|
|
| |
llvm-svn: 131078
|
| |
|
|
| |
llvm-svn: 131077
|
| |
|
|
|
|
| |
Necessary to parse MFC code.
llvm-svn: 131076
|
| |
|
|
|
|
| |
function in CGClass.cpp
llvm-svn: 131075
|
| |
|
|
| |
llvm-svn: 131074
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It can happen that a live debug variable is the last use of a sub-register, and
the register allocator will pick a larger register class for the virtual
register. If the allocated register doesn't support the sub-register index,
just use %noreg for the debug variables instead of asserting.
In PR9872, a debug variable ends up in the sub_8bit_hi part of a GR32_ABCD
register. The register is split and one part is inflated to GR32 and assigned
%ESI because there are no more normal uses of sub_8bit_hi.
Since %ESI doesn't have that sub-register, substPhysReg asserted. Now it will
simply insert a %noreg instead, and the debug variable will be marked
unavailable in that range.
We don't currently have a way of saying: !"value" is in bits 8-15 of %ESI, I
don't know if DWARF even supports that.
llvm-svn: 131073
|
| |
|
|
| |
llvm-svn: 131072
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
"b + ((a < b) ? 1 : 0)" compiles into
cmpl %esi, %edi
adcl $0, %esi
instead of
cmpl %esi, %edi
sbbl %eax, %eax
andl $1, %eax
addl %esi, %eax
This saves a register, a false dependency on %eax
(Intel's CPUs still don't ignore it) and it's shorter.
llvm-svn: 131070
|
| |
|
|
|
|
|
|
|
|
| |
i386 slice
of a universal binary and 'rax' register is available when launching the x86_64 slice.
rdar://problem/9403437
llvm-svn: 131069
|
| |
|
|
|
|
|
| |
complete destructors for abstract classes unless the destructor is virtual
and thus needs to be in the vtable.
llvm-svn: 131068
|
| |
|
|
|
|
|
| |
the smaller encoding and this cuts 270336 bytes from a release version of
clang and 1246272 bytes from a debug build.
llvm-svn: 131067
|
| |
|
|
| |
llvm-svn: 131066
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
bit by allowing __weak and __strong to be added/dropped as part of
implicit conversions (qualification conversions in C++). A little
history: GCC lets one add/remove/change GC qualifiers just about
anywhere, implicitly. Clang did roughly the same before, but we
recently normalized the semantics of qualifiers across the board to
get a semantics that we could reason about (yay). Unfortunately, this
tightened the screws a bit too much for GC qualifiers, where it's
common to add/remove these qualifiers at will.
Overall, we're still in better shape than we were before: we don't
permit directly changing the GC qualifier (e.g., __weak -> __strong),
so type safety is improved. More importantly, we're internally
consistent in our handling of qualifiers, and the logic that allows
adding/removing GC qualifiers (but not adding/removing address
spaces!) only touches two obvious places.
Fixes <rdar://problem/9402499>.
llvm-svn: 131065
|
| |
|
|
|
|
|
|
| |
a new "QLaunchArch:<arch-name>" where <arch-name> is the architecture name.
This allows us to remotely launch a debugserver and then set the architecture
for the binary we will launch.
llvm-svn: 131064
|
| |
|
|
|
|
|
| |
they are treated as pointers of type (void*). This
allows reading of environ, for instance.
llvm-svn: 131063
|
| |
|
|
|
|
| |
compiling Operator.h with gcc 4.6 in C++0x mode.
llvm-svn: 131062
|
| |
|
|
|
|
| |
function and if not return an error.
llvm-svn: 131061
|
| |
|
|
|
|
|
| |
type, so long as it is known to have a constant initializer and the
class type is a POD class. Fixes <rdar://problem/9306265>.
llvm-svn: 131060
|
| |
|
|
|
|
|
| |
Tablegen will invent its own names for these indexes, and the register file is a
bit simpler.
llvm-svn: 131059
|
| |
|
|
|
|
|
| |
The RegisterInfo.td file should only specify the indexes that sources need to
refer to. The rest is inferred.
llvm-svn: 131058
|
| |
|
|
| |
llvm-svn: 131057
|
| |
|
|
| |
llvm-svn: 131055
|
| |
|
|
| |
llvm-svn: 131054
|
| |
|
|
|
|
| |
everything inside property() for now while we wait for the BoostPro people to provide a complete patch.
llvm-svn: 131053
|
| |
|
|
|
|
| |
bad assumptions about the alignment of the double* argument.
llvm-svn: 131052
|
| |
|
|
|
|
|
|
|
|
|
| |
extension.
http://msdn.microsoft.com/en-us/library/hzc8ytsz(v=VS.100).aspx
Microsoft doc claims this is a C++/CLI feature but it is really always enabled.
This removes 2 error when parsing MFC code with clang.
llvm-svn: 131051
|
| |
|
|
| |
llvm-svn: 131050
|
| |
|
|
|
|
|
| |
often expressed as "x >= y ? x : y", there is a good chance we can extract
the existing "x >= y" from it and use that as a replacement for "max(x,y)==x".
llvm-svn: 131049
|
| |
|
|
|
|
| |
Patch by Stephen Hines.
llvm-svn: 131045
|
| |
|
|
|
|
| |
Please ensure the build is clean and tests are passing when recommitting.
llvm-svn: 131044
|
| |
|
|
|
|
| |
errors for additional uses of this invalid typedef.
llvm-svn: 131043
|
| |
|
|
|
|
|
|
|
|
|
|
| |
variables be evaluated statically.
Also fixed a bug that caused the results of
statically-evaluated expressions to be materialized
improperly.
This bug also removes some duplicate code.
llvm-svn: 131042
|
| |
|
|
| |
llvm-svn: 131041
|
| |
|
|
| |
llvm-svn: 131039
|
| |
|
|
|
|
| |
from code rotting.
llvm-svn: 131038
|
| |
|
|
|
|
| |
DeclContext's lookup table when they aren't in any identifier namespace.
llvm-svn: 131037
|
| |
|
|
|
|
|
|
| |
any names that aren't in the appropriate identifier namespaces. Fixes
an embarrassing bug where we give a redefinition error due to an
Objective-C category (<rdar://problem/9388207>).
llvm-svn: 131036
|
| |
|
|
| |
llvm-svn: 131035
|
| |
|
|
|
|
| |
implementation.
llvm-svn: 131034
|
| |
|
|
| |
llvm-svn: 131033
|
| |
|
|
|
|
| |
non-bitfield following a bitfield if size of their types differ.
llvm-svn: 131032
|
| |
|
|
| |
llvm-svn: 131031
|
| |
|
|
|
|
| |
Forgot to `svn rm` these in revisions 131025 / 131029.
llvm-svn: 131030
|