Johnny Chen
e95fcf7860
Check log shared pointer before using it.
...
llvm-svn: 137169
2011-08-09 22:52:27 +00:00
Owen Anderson
042619f97d
Create a new register class for the set of all GPRs except the PC. Use it to tighten our decoding of BFI.
...
llvm-svn: 137168
2011-08-09 22:48:45 +00:00
Sean Callanan
1c49954b51
Fixed the type code to print "<invalid>" for NULL
...
types instead of letting Clang crash.
llvm-svn: 137167
2011-08-09 22:42:51 +00:00
Bruno Cardoso Lopes
fc481959d2
Add v16i16 and v32i8 store patterns
...
llvm-svn: 137166
2011-08-09 22:39:53 +00:00
Johnny Chen
4a871f989e
Fix indentation.
...
llvm-svn: 137165
2011-08-09 22:38:07 +00:00
Jim Ingham
20829ac4da
Fix a bunch of places where we were calling log->Printf to put CStrings.
...
llvm-svn: 137164
2011-08-09 22:24:33 +00:00
Chad Rosier
a15e3aaaad
Fix 80-column violations.
...
llvm-svn: 137163
2011-08-09 22:23:40 +00:00
Rafael Espindola
6463cfa36c
Add missing file.
...
llvm-svn: 137162
2011-08-09 22:19:52 +00:00
Bruno Cardoso Lopes
6963062a99
Use fp unpack instructions to unpack int types. Until we have AVX2, this
...
is the best we can do for these patterns. This fix PR10554.
llvm-svn: 137161
2011-08-09 22:18:37 +00:00
Eli Friedman
4ef2426b87
Fix a couple ridiculous copy-paste errors. rdar://9914773 .
...
llvm-svn: 137160
2011-08-09 22:17:39 +00:00
Rafael Espindola
07f6091527
Add a C interface to PassManagerBuilder. It is missing the addExtension
...
functionality since in the C api a pass is created and added to a pass
manager in a single call.
llvm-svn: 137159
2011-08-09 22:17:34 +00:00
Jim Grosbach
a317160348
Don't truncate MachO addresses.
...
Assigned symbol addresses get truncated to 32-bits, even on 64-bit platforms.
That's obviously bogus.
For example,
.globl _foo
.equ _foo, 0x987654321ULL
rdar://9922863
llvm-svn: 137158
2011-08-09 22:12:37 +00:00
Sean Callanan
39821ac827
Fixed a potential crash in Process.cpp when we
...
used a log unchecked.
llvm-svn: 137157
2011-08-09 22:07:08 +00:00
Benjamin Kramer
406dc1755f
ARM Disassembler: sign extend branch immediates.
...
Not sure about BLXi, but this is what the old disassembler did.
llvm-svn: 137156
2011-08-09 22:02:50 +00:00
Owen Anderson
d151b09921
Silence an false-positive warning.
...
llvm-svn: 137154
2011-08-09 21:38:14 +00:00
Owen Anderson
d770f6c110
Don't generate the old-style disassembler in CMake builds either.
...
llvm-svn: 137153
2011-08-09 21:36:11 +00:00
Benjamin Kramer
de2c381331
The new ARM disassembler disassembles "bx lr" as a special BX_ret instruction so target specific analysis isn't needed anymore.
...
llvm-svn: 137151
2011-08-09 21:34:19 +00:00
Owen Anderson
982aa05017
Don't continue generating the old-style decoder file.
...
llvm-svn: 137150
2011-08-09 21:30:29 +00:00
Jim Ingham
ae24c42fc4
Typo in the test case for i386.
...
llvm-svn: 137149
2011-08-09 21:27:48 +00:00
Jim Grosbach
5e80abbb5d
ARM fix typo in pre-indexed store lowering.
...
rdar://9915869
llvm-svn: 137148
2011-08-09 21:22:41 +00:00
Owen Anderson
c7afd84322
Attempt to fix CMake build.
...
llvm-svn: 137147
2011-08-09 21:09:59 +00:00
Owen Anderson
7a2401dbf0
Tighten Thumb1 branch predicate decoding.
...
llvm-svn: 137146
2011-08-09 21:07:45 +00:00
Eli Friedman
84cd7927b9
First draft of the practical guide to atomics.
...
This is mostly descriptive of the intended state once atomic load and store have landed.
llvm-svn: 137145
2011-08-09 21:07:10 +00:00
Owen Anderson
e0152a73c2
Replace the existing ARM disassembler with a new one based on the FixedLenDecoderEmitter.
...
This new disassembler can correctly decode all the testcases that the old one did, though
some "expected failure" testcases are XFAIL'd for now because it is not (yet) as strict in
operand checking as the old one was.
llvm-svn: 137144
2011-08-09 20:55:18 +00:00
Jim Ingham
04f5672c5b
When unloading a library, pass the old complete version of the library to UnloadImageLoadAddress, since that
...
one is completely filled in. The one we make up from the event doesn't have section info since the
library has already been unloaded by the time we get to it.
llvm-svn: 137143
2011-08-09 20:45:45 +00:00
Sean Callanan
85a96b12de
Fixed the Objective-C "self" test case, which
...
was behaving erratically because it didn't
have a return statement in -[A init].
Also made minor cosmetic changes to that test
case.
llvm-svn: 137142
2011-08-09 20:28:32 +00:00
Johnny Chen
356b818882
Silence clang warning.
...
llvm-svn: 137141
2011-08-09 20:22:44 +00:00
Johnny Chen
53e2edbc5c
Simplify lang/objc/self/Makefile, plus it's wrong. :-)
...
For Makefile.rules, the modification of CFLAGS (addition of -arch $(ARCH) for Darwin) needs to come before
the consuming of CFLAGS, not after.
llvm-svn: 137140
2011-08-09 20:07:16 +00:00
Bob Wilson
f60d6df887
Put Darwin-specific code inside an __APPLE__ ifdef.
...
llvm-svn: 137137
2011-08-09 19:54:32 +00:00
Johnny Chen
4c1e920640
Fix a crash while running the test suite. Need to check the (LogSP)log shared pointer before using it.
...
llvm-svn: 137136
2011-08-09 18:56:45 +00:00
Bill Wendling
d7f41b7f66
Revert r137134. It breaks some code as Eli pointed out.
...
llvm-svn: 137135
2011-08-09 18:56:35 +00:00
Bill Wendling
84ec8f65d1
Print out the variable declaration only if it is a declaration. Otherwise, a
...
'static' variable will be emitted twice.
PR10081
llvm-svn: 137134
2011-08-09 18:31:50 +00:00
Jakob Stoklund Olesen
53910d6aae
Inflate register classes after coalescing.
...
Coalescing can remove copy-like instructions with sub-register operands
that constrained the register class. Examples are:
x86: GR32_ABCD:sub_8bit_hi -> GR32
arm: DPR_VFP2:ssub0 -> DPR
Recompute the register class of any virtual registers that are used by
less instructions after coalescing.
This affects code generation for the Cortex-A8 where we use NEON
instructions for f32 operations, c.f. fp_convert.ll:
vadd.f32 d16, d1, d0
vcvt.s32.f32 d0, d16
The register allocator is now free to use d16 for the temporary, and
that comes first in the allocation order because it doesn't interfere
with any s-registers.
llvm-svn: 137133
2011-08-09 18:19:41 +00:00
Eli Friedman
f5dfb31df0
Revert bad change. (It may look equivalent, but it isn't.)
...
llvm-svn: 137132
2011-08-09 18:16:09 +00:00
Sean Callanan
677f2a263a
Fixed a problem where the HasAVX() code in
...
debugserver did not back up %ebx/%rbx, even
though it was being clobbered by the CPUID
instruction.
llvm-svn: 137131
2011-08-09 18:10:15 +00:00
Caitlin Sadowski
4b1e8399c2
Thread Safety: Added basic argument parsing for all new attributes.
...
This patch special cases the parser for thread safety attributes so that all
attribute arguments are put in the argument list (instead of a special
parameter) since arguments may not otherwise resolve correctly without two-token
lookahead.
This patch also adds checks to make sure that attribute arguments are
lockable objects.
llvm-svn: 137130
2011-08-09 17:59:31 +00:00
Johnny Chen
606e049cca
Add a negative self.expect() to verify that the bug has been fixed.
...
rdar://problem/9747668
llvm-svn: 137129
2011-08-09 17:48:29 +00:00
Bruno Cardoso Lopes
bed48dc8ff
Reapply a more appropriate solution than in r137114. AVX supports
...
v4f64 = sitofp v4i32. This fix PR10559.
Also add support for v4i32 = fptosi v4f64.
llvm-svn: 137128
2011-08-09 17:39:13 +00:00
Bruno Cardoso Lopes
24dd1d4a27
Revert r137114
...
llvm-svn: 137127
2011-08-09 17:39:01 +00:00
Eli Friedman
f481ccafd8
Cleanup; no functionality change.
...
llvm-svn: 137126
2011-08-09 17:38:12 +00:00
Justin Holewinski
db05c2b963
PTX: Add initial support for device function calls
...
- Calls are supported on SM 2.0+ for function with no return values
llvm-svn: 137125
2011-08-09 17:36:31 +00:00
Douglas Gregor
636e200675
Move the creation of the record type for the state of Objective-C fast
...
enumerations from the ASTContext into CodeGen, so that we don't need
to serialize it to AST files. This appears to be the last of the
low-hanging fruit for SpecialTypes.
llvm-svn: 137124
2011-08-09 17:23:49 +00:00
Jakob Stoklund Olesen
da96006975
Move CalculateRegClass to MRI::recomputeRegClass.
...
This function doesn't have anything to do with spill weights, and MRI
already has functions for manipulating the register class of a virtual
register.
llvm-svn: 137123
2011-08-09 16:46:27 +00:00
Douglas Gregor
7874310ba1
Don't serialize the block descriptor or block extended descriptor
...
types to AST files; they're only used by debug info generation anyway,
and shouldn't ever exist in the AST anyway.
llvm-svn: 137122
2011-08-09 16:24:26 +00:00
Douglas Gregor
abf4e0dfcd
Move the construction of the RecordDecl representing the runtime
...
layout of a constant NSString from the ASTContext over to CodeGen,
since this is solely CodeGen's responsibility. Eliminates one of the
unnecessary "special" types that we serialize.
llvm-svn: 137121
2011-08-09 15:54:21 +00:00
Douglas Gregor
eda8e12e86
Migrate the serialization of ASTContext's AutoDeduceTy and
...
AutoRRefDeductTy from the "special types" block to predefined
types. The latter behaves better when loading multiple AST files.
llvm-svn: 137120
2011-08-09 15:13:55 +00:00
Marshall Clow
8769449b61
First cut at exception handling; missing dependent exceptions. Next step: tests
...
llvm-svn: 137118
2011-08-09 15:09:41 +00:00
Ted Kremenek
1b46951f9f
Place back previous order of add_subdirectory()'s to reflect build depedencies.
...
llvm-svn: 137117
2011-08-09 14:55:12 +00:00
Renato Golin
faff512536
Emitting ARM build attributes and values as ULEB, rather than char.
...
llvm-svn: 137115
2011-08-09 09:50:10 +00:00
Bruno Cardoso Lopes
ad3453cf2d
Handle sitofp between v4f64 <- v4i32. Fix PR10559
...
llvm-svn: 137114
2011-08-09 05:48:01 +00:00