Dan Gohman
0daf687e1d
Change a few std::maps to DenseMaps.
...
llvm-svn: 131088
2011-05-09 18:44:09 +00:00
Alexis Hunt
f479f1b7e4
Rename "hasTrivialConstructor" to "hasTrivialDefaultConstructor" and
...
modify the semantics slightly to accomodate default constructors (I
hope).
llvm-svn: 131087
2011-05-09 18:22:59 +00:00
Eric Christopher
5dc19f916c
Fix td file comments for Mips.
...
Patch by Liu <proljc@gmail.com>!
llvm-svn: 131086
2011-05-09 18:16:46 +00:00
Mon P Wang
92ff16b7bb
Fixed MC encoding for index_align for VLD1/VST1 (single element from one lane) for size 32
...
llvm-svn: 131085
2011-05-09 17:47:27 +00:00
Daniel Dunbar
eb86b04595
Driver/Darwin: Put dsymutil -o arguments first, so that dysmutil doesn't barf
...
when POSIXLY_COMPLIANT is set.
- Patch by Dave Vasilevsky!
llvm-svn: 131084
2011-05-09 17:23:16 +00:00
Duncan Sands
6be291a2cd
Indent properly, no functionality change.
...
llvm-svn: 131082
2011-05-09 08:03:33 +00:00
Greg Clayton
0e4851641f
Fixed an issue with the MacOSX backchain register context where the pc was
...
being returned for both the PC and FP.
llvm-svn: 131081
2011-05-09 03:39:34 +00:00
John McCall
e155a3d8aa
__builtin_va_list is void* on ARM, not char*.
...
rdar://problem/9391966
llvm-svn: 131080
2011-05-09 02:19:37 +00:00
Jim Ingham
1a414cfb5d
Change an unconditional log to a conditional one.
...
llvm-svn: 131079
2011-05-09 01:06:45 +00:00
NAKAMURA Takumi
392445823d
Eliminate an unused line to fix a warning.
...
llvm-svn: 131078
2011-05-08 23:19:04 +00:00
Francois Pichet
a7c8da40a8
Fix test.
...
llvm-svn: 131077
2011-05-08 23:15:10 +00:00
Francois Pichet
bc6ebb5b76
Allow implicit conversion from function pointer to void* in Microsoft mode.
...
Necessary to parse MFC code.
llvm-svn: 131076
2011-05-08 22:52:41 +00:00
Anders Carlsson
c36783e8b9
Move code to emit the callee of an CXXOperatorCallExpr out into a separate function in CGClass.cpp
...
llvm-svn: 131075
2011-05-08 20:32:23 +00:00
Alexis Hunt
d8ee4beff4
Restore an accidentally-deleted word.
...
llvm-svn: 131074
2011-05-08 20:15:27 +00:00
Jakob Stoklund Olesen
89bd2ae517
Remove an assertion to fix PR9872.
...
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
2011-05-08 19:21:08 +00:00
Johnny Chen
2158b97358
Fix docstring.
...
llvm-svn: 131072
2011-05-08 18:55:37 +00:00
Benjamin Kramer
d724a590e5
X86: Add a bunch of peeps for add and sub of SETB.
...
"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
2011-05-08 18:36:07 +00:00
Johnny Chen
b21c52eac8
Add test scenario to verify 'eax' register is available when launching the i386 slice
...
of a universal binary and 'rax' register is available when launching the x86_64 slice.
rdar://problem/9403437
llvm-svn: 131069
2011-05-08 17:25:27 +00:00
Anders Carlsson
cc53197903
Don't emit complete constructors for abstract classes. Also, don't emit
...
complete destructors for abstract classes unless the destructor is virtual
and thus needs to be in the vtable.
llvm-svn: 131068
2011-05-08 17:25:05 +00:00
Rafael Espindola
ab39c63538
Don't force relaxation of AdvanceLoc instructions on OS X. gdb is happy with
...
the smaller encoding and this cuts 270336 bytes from a release version of
clang and 1246272 bytes from a debug build.
llvm-svn: 131067
2011-05-08 14:35:21 +00:00
Francois Pichet
59d2b017d7
Look at all the record redeclaration when looking for a uuid attribute.
...
llvm-svn: 131066
2011-05-08 10:02:20 +00:00
Douglas Gregor
f30053d18d
Relax the conversion rules for Objective-C GC qualifiers a
...
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
2011-05-08 06:09:53 +00:00
Greg Clayton
c4103b3c2f
Fixed not being able to launch the i386 slice of a universal binary by adding
...
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
2011-05-08 04:53:50 +00:00
Sean Callanan
d9ca42aa4f
Added support for reading untyped symbols. Right now
...
they are treated as pointers of type (void*). This
allows reading of environ, for instance.
llvm-svn: 131063
2011-05-08 02:21:26 +00:00
Eli Friedman
aa2637343c
PR9869: Add explicit destructor declarations to Operator subclasses, to allow
...
compiling Operator.h with gcc 4.6 in C++0x mode.
llvm-svn: 131062
2011-05-08 01:59:22 +00:00
Jim Ingham
9b70ddb305
StepUntil should check whether the target of the step until is in the current
...
function and if not return an error.
llvm-svn: 131061
2011-05-08 00:56:32 +00:00
Douglas Gregor
2d1c055eba
In C++, allow us to emit a global as 'constant' even if it has class
...
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
2011-05-07 22:06:45 +00:00
Jakob Stoklund Olesen
c132174169
Eliminate the ARM sub-register indexes that are not needed by the sources.
...
Tablegen will invent its own names for these indexes, and the register file is a
bit simpler.
llvm-svn: 131059
2011-05-07 21:22:42 +00:00
Jakob Stoklund Olesen
c8c4ded3c6
Teach TableGen to automatically generate missing SubRegIndex instances.
...
The RegisterInfo.td file should only specify the indexes that sources need to
refer to. The rest is inferred.
llvm-svn: 131058
2011-05-07 21:22:39 +00:00
Douglas Gregor
9ca5465500
Revert r130717, which caused a regression (<rdar://problem/9402621>).
...
llvm-svn: 131057
2011-05-07 20:12:26 +00:00
Eli Friedman
6dec2aa9b4
Fix comments per Duncan's review.
...
llvm-svn: 131055
2011-05-07 19:23:14 +00:00
Eli Friedman
61bb499622
Zap unnecessary svn:ignore.
...
llvm-svn: 131054
2011-05-07 19:22:28 +00:00
Francois Pichet
dcf88932a2
Don't fail at parsing __declspec(property(get=get_func_name)). Just skip everything inside property() for now while we wait for the BoostPro people to provide a complete patch.
...
llvm-svn: 131053
2011-05-07 19:04:49 +00:00
Eli Friedman
8ba29d8e7f
PR9866: Fix the implementation of _mm_loadl_pd and _mm_loadh_pd to not make
...
bad assumptions about the alignment of the double* argument.
llvm-svn: 131052
2011-05-07 18:59:31 +00:00
Francois Pichet
61d818c058
Temporary preprocessor hack to get around the Microsoft __identifier(x) 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
2011-05-07 17:47:38 +00:00
Francois Pichet
a5b3fcbc02
Add support for _if_exists and __if_not_exists at namespace/global scope.
...
llvm-svn: 131050
2011-05-07 17:30:27 +00:00
Duncan Sands
af32728a57
The comparision "max(x,y)==x" is equivalent to "x>=y". Since the max is
...
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
2011-05-07 16:56:49 +00:00
Eric Christopher
1e3db02bda
Fix the non-MC encoding of pkhbt and pkhtb.
...
Patch by Stephen Hines.
llvm-svn: 131045
2011-05-07 04:37:27 +00:00
Jakob Stoklund Olesen
58799a35e5
Revert ExecutionEngine patches, they either failed to build or broke unit tests.
...
Please ensure the build is clean and tests are passing when recommitting.
llvm-svn: 131044
2011-05-07 03:12:54 +00:00
Richard Trieu
de756fbbd7
Patch for PR 7409 - only error on definition of invalid typedefs. Suppress errors for additional uses of this invalid typedef.
...
llvm-svn: 131043
2011-05-07 01:36:37 +00:00
Sean Callanan
63697e5025
Made expressions that are just casts of pointer
...
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
2011-05-07 01:06:41 +00:00
Jim Ingham
95496b1856
Deleted one too many characters...
...
llvm-svn: 131041
2011-05-07 01:03:33 +00:00
Jim Ingham
2eec4876a2
Fix an unitialized pointer in ValueObject::CreateChildAtIndex.
...
llvm-svn: 131039
2011-05-07 00:10:58 +00:00
Johnny Chen
32103ac2a9
Modify the test case related to "target modules search-paths" as it suffers from code rotting.
...
llvm-svn: 131038
2011-05-06 23:59:10 +00:00
Douglas Gregor
0de016dbb7
Implement a minor optimization by not introducing declarations into
...
DeclContext's lookup table when they aren't in any identifier namespace.
llvm-svn: 131037
2011-05-06 23:32:38 +00:00
Douglas Gregor
b578fbe0f2
When checking for a prior declaration of the name of a namespace, skip
...
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
2011-05-06 23:28:47 +00:00
Johnny Chen
7209d84f1c
Add an API test script file for SBCommandInterpreter.
...
llvm-svn: 131035
2011-05-06 23:26:12 +00:00
Daniel Dunbar
eac62c5388
clang/Darwin: Include divsi3 functions on x86, they are used by the divmod
...
implementation.
llvm-svn: 131034
2011-05-06 23:06:07 +00:00
Johnny Chen
ed0443624b
Fix wrong test method name due to cut-and-paste.
...
llvm-svn: 131033
2011-05-06 22:53:08 +00:00
Fariborz Jahanian
307eace474
In ms_struct structs, Establish a new alignment for a
...
non-bitfield following a bitfield if size of their types differ.
llvm-svn: 131032
2011-05-06 22:42:22 +00:00