Nick Lewycky
038124b671
Teach PatternMatch that splat vectors could be floating point as well as
...
integer. Fixes PR9228!
llvm-svn: 125613
2011-02-15 23:13:23 +00:00
Argyrios Kyrtzidis
a9215281de
[analyzer] Use the new registration mechanism on some of the experimental internal checkers:
...
CastToStructChecker
FixedAddressChecker
PointerArithChecker
PointerSubChecker
llvm-svn: 125612
2011-02-15 22:55:20 +00:00
Argyrios Kyrtzidis
b2400924d9
[analyzer] Use the new registration mechanism on the IdempotentOperationChecker.
...
llvm-svn: 125611
2011-02-15 22:55:14 +00:00
Caroline Tice
f199eea579
Add eContextRegisterLoad instruction emulation context.
...
Add code to emulate STR (Immediate, Thumb) instruction.
llvm-svn: 125610
2011-02-15 22:53:54 +00:00
John McCall
9743e8d84e
Handle delayed access in local declarations. PR9229.
...
llvm-svn: 125609
2011-02-15 22:51:53 +00:00
Douglas Gregor
24bbc46208
Teach code completion to cope with block types written without a
...
prototype, e.g., ^() rather than ^(void). Fixes
<rdar://problem/8875712>.
llvm-svn: 125608
2011-02-15 22:37:09 +00:00
Rafael Espindola
d62acb569c
Add a hack to avoid adding '\01' to asm names when possible. It would be
...
better for clang to always compute the right name, but for now this hack
fixes PR9177 and lets us build firefox with LTO :-)
llvm-svn: 125607
2011-02-15 22:23:51 +00:00
Johnny Chen
f35024b087
Modify the various shift routines to handle cases where the shift amount comes
...
from the bottom byte of a register.
llvm-svn: 125606
2011-02-15 22:21:33 +00:00
John McCall
4d9f14234f
Refactor CGRecordLayoutBuilder to use CharUnits more consistently.
...
llvm-svn: 125605
2011-02-15 22:21:29 +00:00
Douglas Gregor
f34a6f0fef
Implement a special code-completion pattern for "IBAction". Fixes
...
<rdar://problem/8767704>.
llvm-svn: 125604
2011-02-15 22:19:42 +00:00
Greg Clayton
b841ff5da5
Removed my specific binaires from the xcscheme.
...
llvm-svn: 125603
2011-02-15 22:00:20 +00:00
Greg Clayton
514487e806
Made lldb_private::ArchSpec contain much more than just an architecture. It
...
now, in addition to cpu type/subtype and architecture flavor, contains:
- byte order (big endian, little endian)
- address size in bytes
- llvm::Triple for true target triple support and for more powerful plug-in
selection.
llvm-svn: 125602
2011-02-15 21:59:32 +00:00
Rafael Espindola
41febc658b
Fix the distro name.
...
llvm-svn: 125601
2011-02-15 21:44:06 +00:00
Zhanyong Wan
bc402abcc9
Moves FileManagerTest.cpp to unittests/Basic such that the unit test
...
directory structure matches the library structure. Reviewed by jyasskin.
llvm-svn: 125600
2011-02-15 21:30:27 +00:00
Argyrios Kyrtzidis
f81ff04ba3
[analyzer] Remove ObjCSelfInitCheck from AnalyzerOptions.
...
llvm-svn: 125599
2011-02-15 21:25:07 +00:00
Argyrios Kyrtzidis
2d3905ffac
[analyzer] Use the new registration mechanism on some of the experimental checks. These are:
...
CStringChecker
ChrootChecker
MallocChecker
PthreadLockChecker
StreamChecker
UnreachableCodeChecker
MallocChecker creates implicit dependencies between checkers and needs to be handled differently.
llvm-svn: 125598
2011-02-15 21:25:03 +00:00
Rafael Espindola
65941e50ef
Fix include paths on 32 bit ubuntu 10.10.
...
Original patch by Jonas Bülow.
llvm-svn: 125597
2011-02-15 21:16:43 +00:00
Johnny Chen
f976896b83
Remove the "Register ®" parameter from the BXWritePC(), LoadWritePC(), and ALUWritePC()
...
methods of EmulateInstructionARM class. The context data structure should provide sufficient
information already.
llvm-svn: 125596
2011-02-15 21:08:58 +00:00
Roman Divacky
4e0f4957bc
Add support for parsing [expr].
...
This is submitted by Joerg Sonnenberger and fixes his PR8685.
llvm-svn: 125595
2011-02-15 20:43:39 +00:00
Douglas Gregor
8003924d10
When code-completing within a list of declaration specifiers,
...
separately handle the case of a local declaration-specifier list,
including all types in the set of options. Fixes
<rdar://problem/8790735> and <rdar://problem/8662831>.
llvm-svn: 125594
2011-02-15 20:33:25 +00:00
Johnny Chen
6f93f63955
Fix wrong mask and encoding for T2 of ASR (immediate).
...
llvm-svn: 125593
2011-02-15 20:14:02 +00:00
Johnny Chen
a4afff97ad
A8.6.14 ASR (immediate)
...
Add EmulateASRImm() Encodings T1, T2, and A1 to the opcodes tables.
llvm-svn: 125592
2011-02-15 20:10:55 +00:00
Jakob Stoklund Olesen
d9c80ef837
Teach ARMLoadStoreOptimizer to remove kill flags from merged instructions as well.
...
This is necessary to avoid a crash in certain tangled situations where a kill
flag is first correctly moved to a merged instruction, and then needs to be
moved again:
STR %R0, a...
STR %R0<kill>, b...
First becomes:
STR %R0, b...
STM a, %R0<kill>, ...
and then:
STM a, %R0, ...
STM b, %R0<kill>, ...
We can now remove the kill flag from the merged STM when needed. 8960050.
llvm-svn: 125591
2011-02-15 19:51:58 +00:00
Peter Collingbourne
e91b2dbdf1
OpenCL: standardise naming of test cases
...
llvm-svn: 125590
2011-02-15 19:46:41 +00:00
Peter Collingbourne
5df20e02af
Serialization/deserialization support for floating point #pragma
...
options, enabled OpenCL extensions and default FP_CONTRACT setting.
llvm-svn: 125589
2011-02-15 19:46:30 +00:00
Peter Collingbourne
e87167b7d8
OpenCL: semantic analysis support for cl_khr_fp64 extension
...
llvm-svn: 125588
2011-02-15 19:46:23 +00:00
Douglas Gregor
d39ae3eec8
When we encounter an Objective-C class name in an expression, followed
...
by the code completion token, treat this as a class message send where
the opening square bracket is missing. Fixes <rdar://problem/6970911>.
llvm-svn: 125587
2011-02-15 19:17:31 +00:00
Fariborz Jahanian
09948f1af6
In -fapple-kext mode, global object construction code
...
ends up in the text segment. // rdar://8825235.
llvm-svn: 125585
2011-02-15 18:54:46 +00:00
Johnny Chen
ffb3b51ba8
Refactored the test driver to abstract out the Python sys.path specification for
...
different build configurations.
llvm-svn: 125584
2011-02-15 18:50:19 +00:00
Caroline Tice
6e12e117d4
Add code to emulate STMIB Arm instruction.
...
llvm-svn: 125580
2011-02-15 18:42:15 +00:00
Douglas Gregor
e061015de8
Emit in-class member function definitions that are marked
...
"used". Fixes <rdar://problem/8684363>.
llvm-svn: 125579
2011-02-15 18:11:42 +00:00
Caroline Tice
5e38f35fe3
Add code to emulate STMDB Arm instruction.
...
Add some bit-mask fixes to code for getting register bits for various LDM and STM instructions.
llvm-svn: 125578
2011-02-15 18:10:01 +00:00
Devang Patel
d12c0a2764
Ignore DBG_VALUE machine instructions while constructing instruction ranges based on location info.
...
Machine instruction range consisting of only DBG_VALUE MIs only contributes consecutive labels in assembly output, which is harmless, and empty scope entry in DebugInfo, which confuses debugger tools.
llvm-svn: 125577
2011-02-15 17:56:09 +00:00
Argyrios Kyrtzidis
10b2368e9f
Allow resolving headers from a PCH even after headers+PCH were moved to another path.
...
Store in PCH the directory that the PCH was originally created in.
If a header file is not found at the path that we expect it to be and the PCH file
was moved from its original location, try to resolve the file by assuming that
header+PCH were moved together and the header is in the same place relative to the PCH.
llvm-svn: 125576
2011-02-15 17:54:22 +00:00
Johnny Chen
7a03c852d0
Add a bunch of utilities and an enum (ARM_ShifterType) for shift and rotate operations pertaining to:
...
o A2.2.1 Pseudocode details of shift and rotate operations
o A8.4.3 Pseudocode details of instruction-specified shifts and rotates
llvm-svn: 125575
2011-02-15 17:52:22 +00:00
Argyrios Kyrtzidis
a61736ff90
Implement a function from PathV2 whose definition is missing.
...
llvm-svn: 125574
2011-02-15 17:51:19 +00:00
Fariborz Jahanian
d724a109cf
Refactoring of code to issue warning on implemented
...
deprecated class and methods in objective-c.
llvm-svn: 125573
2011-02-15 17:49:58 +00:00
Devang Patel
4ab0852080
Move DbgInfoPrinter specific utlities inside DbgInfoPrinter.cpp
...
llvm-svn: 125571
2011-02-15 17:36:11 +00:00
Johnny Chen
ef55e4c174
Remove the unnecessary assignment of m_inst_cpsr inside EvaluateInstruction(),
...
because it's already been done within ReadInstruction().
llvm-svn: 125569
2011-02-15 17:31:33 +00:00
Devang Patel
27924da676
Print function info. Patch by Minjang Kim.
...
llvm-svn: 125567
2011-02-15 17:24:56 +00:00
Douglas Gregor
9892e3545a
Add missing CMake dependency
...
llvm-svn: 125566
2011-02-15 17:09:56 +00:00
Argyrios Kyrtzidis
6fa0d20a6f
Fix the clang-wpa example.
...
llvm-svn: 125565
2011-02-15 16:54:12 +00:00
Argyrios Kyrtzidis
f2ec88ea54
Initialize InlineCall in AnalyzerOptions.
...
llvm-svn: 125564
2011-02-15 16:54:07 +00:00
Duncan Sands
75b5d27b84
Spelling fix: consequtive -> consecutive.
...
llvm-svn: 125563
2011-02-15 09:23:02 +00:00
John McCall
e3dc1707b5
Assorted cleanup:
...
- Have CGM precompute a number of commonly-used types
- Have CGF copy that during initialization instead of recomputing them
- Use TBAA info when initializing a parameter variable
- Refactor the scalar ++/-- code
llvm-svn: 125562
2011-02-15 09:22:45 +00:00
Jeffrey Yasskin
cd3858b103
Add CMake support to the clang unittests.
...
llvm-svn: 125561
2011-02-15 07:54:28 +00:00
Argyrios Kyrtzidis
4e52527c28
[analyzer] Reflect changes for tablegen'ing the checkers.
...
-Update tablegen files for checkers, use the tablegen class name for the checker class name.
-Update ClangSACheckersProvider to not look into hidden checker packages.
llvm-svn: 125560
2011-02-15 07:42:38 +00:00
Argyrios Kyrtzidis
a6d04d541d
[analyzer] Use the new registration mechanism on some of the internal checks. These are:
...
StackAddrLeakChecker
ObjCAtSyncChecker
UnixAPIChecker
MacOSXAPIChecker
The rest have/create implicit dependencies between checkers and need to be handled differently.
llvm-svn: 125559
2011-02-15 07:42:33 +00:00
Argyrios Kyrtzidis
6254f29d22
When tablegen'ing the clang analyzer checkers:
...
-Use the tablegen class name for the checker class name.
-Mark checker packages as hidden/not hidden.
llvm-svn: 125558
2011-02-15 07:42:16 +00:00
Nadav Rotem
67d67a0385
Fix 9216 - Endless loop in InstCombine pass.
...
The pattern "A&(A^B) -> A & ~B" recreated itself because ~B is
actually a xor -1.
llvm-svn: 125557
2011-02-15 07:13:48 +00:00