Anna Zaks
92297f9dcc
[analyzer] Add checker callback documentation.
...
llvm-svn: 145495
2011-11-30 17:12:52 +00:00
Benjamin Kramer
5feb3dab79
X86: Turns out bulldozer also supports sse42 and lzcnt.
...
While at it remove the barcelona/instanbul/shanghai subtargets, they're
unsupported by GCC and look pretty broken.
llvm-svn: 145494
2011-11-30 15:48:16 +00:00
Benjamin Kramer
981f32327d
X86: Add subtargets for AMD's bulldozer.
...
llvm-svn: 145493
2011-11-30 15:27:46 +00:00
Benjamin Kramer
382eaadaa5
Use raw_ostream::indent.
...
llvm-svn: 145492
2011-11-30 15:07:30 +00:00
Douglas Gregor
4f3fa713bf
Switch the module map printer over to
...
raw_ostream::write_escaped. Thanks, Benjamin!
llvm-svn: 145491
2011-11-30 15:00:49 +00:00
Douglas Gregor
36b7f115e4
Add preprocessor-only test for submodule imports
...
llvm-svn: 145490
2011-11-30 14:57:39 +00:00
Nadav Rotem
66427bcce9
Add a tripple to the test
...
llvm-svn: 145489
2011-11-30 11:20:56 +00:00
Nadav Rotem
96923cc2bb
X86: PerformOrCombine introduced a vselect node with a wrong order of operands. This bug was introduced when a dedicated blend sdnode was replaced with the vselect node (in 139479).
...
llvm-svn: 145488
2011-11-30 10:13:37 +00:00
Craig Topper
c4977ba413
Add instruction selection support for AVX2 horizontal add/sub instructions.
...
llvm-svn: 145487
2011-11-30 09:10:50 +00:00
Duncan Sands
e9adf5c860
Mention that -O4 does result in more optimization when used with
...
-fplugin-arg-dragonegg-enable-gcc-optzns, though it usually isn't
a win.
llvm-svn: 145486
2011-11-30 08:46:05 +00:00
Craig Topper
0a672eaf9e
Merge VPERM2F128/VPERM2I128 ISD node types.
...
llvm-svn: 145485
2011-11-30 07:47:51 +00:00
Andrew Trick
613c67e475
Better test case found in duplicate PR10570.
...
llvm-svn: 145484
2011-11-30 06:26:42 +00:00
Craig Topper
bafd224c8b
Merge decoding of VPERMILPD and VPERMILPS shuffle masks. Merge X86ISD node type for VPERMILPD/PS. Add instruction selection support for VINSERTI128/VEXTRACTI128.
...
llvm-svn: 145483
2011-11-30 06:25:25 +00:00
Andrew Trick
ceafa2c746
LSR: handle the expansion of phi operands that use postinc forms of the IV.
...
Fixes PR11431: SCEVExpander::expandAddRecExprLiterally(const llvm::SCEVAddRecExpr*): Assertion `(!isa<Instruction>(Result) || SE.DT->dominates(cast<Instruction>(Result), Builder.GetInsertPoint())) && "postinc expansion does not dominate use"' failed.
llvm-svn: 145482
2011-11-30 06:07:54 +00:00
John McCall
e929082806
Fix the instantiation of pseudo-object expressions. This is a
...
really bad way to go about this, but I'm not sure there's a better
choice without substantial changes to TreeTransform --- most
notably, preserving implicit semantic nodes instead of discarding
and rebuilding them.
llvm-svn: 145480
2011-11-30 04:42:31 +00:00
Douglas Gregor
f7a700fd01
When writing a module file, pass the module through to the AST
...
writer. No functionality change.
llvm-svn: 145479
2011-11-30 04:39:39 +00:00
Douglas Gregor
1805b8a42f
Teach the preprocessor how to handle module import declarations that
...
involve submodules (e.g., importing std.vector), rather than always
importing the top-level module.
llvm-svn: 145478
2011-11-30 04:26:53 +00:00
Douglas Gregor
5196bc6b39
When loading a module that involves submodules (e.g., std.vector),
...
check whether the named submodules themselves are actually
valid, and drill down to the named submodule (although we don't do
anything with it yet). Perform typo correction on the submodule names
when possible.
llvm-svn: 145477
2011-11-30 04:03:44 +00:00
Jim Ingham
5a14c543c7
Turn off the resolver detection till we find a better method to do so.
...
llvm-svn: 145472
2011-11-30 03:15:08 +00:00
Greg Clayton
3a5f29a073
Add a work around to deal with incorrect forward class definitions in
...
objective C DWARF emitted by clang.
llvm-svn: 145471
2011-11-30 02:48:28 +00:00
Chad Rosier
385d9f6c24
Whitespace.
...
llvm-svn: 145470
2011-11-30 01:59:59 +00:00
Bob Wilson
5f4e3a780f
Add bigger method type encodings to protocol objects. <rdar://problem/10492418>
...
The new metadata are method @encode strings with additional data.
1. Each Objective-C object is marked with its class name and protocol names.
The same is done for property @encode already.
2. Each block object is marked with its function prototype's @encoding. For
example, a method parameter that is a block object that itself returns void
and takes an int would look like:
@?<v@?i>
These new method @encode strings are stored in a single array pointed to by structs protocol_t and objc_protocol_ext.
Patch provided by Greg Parker!
llvm-svn: 145469
2011-11-30 01:57:58 +00:00
Chad Rosier
abba0947db
Alphabetize TargetLibraryInfo enum and fix doxygen comments. No functional
...
change intended.
llvm-svn: 145468
2011-11-30 01:51:49 +00:00
Kostya Serebryany
7bca6c24ec
when -faddress-sanitizer is present, add required flags to the linker command (linux-only)
...
llvm-svn: 145467
2011-11-30 01:39:16 +00:00
Johnny Chen
99bb50c10d
rdar://problem/9211445
...
Fix wrong test logic in test_modules_search_paths(). Add additional exercising of 'target modules search-paths list/query".
There is a reproducible crash if 'target modules search-paths clear' is exercised during test teardown.
So we currently comment out the stmt as follows:
# Add teardown hook to clear image-search-paths after the test.
# rdar://problem/10501020
# Uncomment the following to reproduce 10501020.
#self.addTearDownHook(lambda: self.runCmd("target modules search-paths clear"))
llvm-svn: 145466
2011-11-30 01:33:59 +00:00
Jim Grosbach
f09b1c46cf
llvm_unreachable() is not for user diagnostics....
...
llvm-svn: 145465
2011-11-30 01:15:55 +00:00
Jim Grosbach
cd6f5e757c
ARM parsing aliases for VLD1 single register all lanes.
...
llvm-svn: 145464
2011-11-30 01:09:44 +00:00
Kostya Serebryany
019b76f5fd
AddressSanitizer run-time library. Not yet integrated with the compiler-rt build system, but can be built using the old makefile. See details in README.txt
...
llvm-svn: 145463
2011-11-30 01:07:02 +00:00
Douglas Gregor
71944203de
Switch the module-loading interfaces and parser from a simple
...
top-level module name to a module path (e.g., std.vector). We're still
missing a number of pieces for this actually to do something.
llvm-svn: 145462
2011-11-30 00:36:36 +00:00
Eric Christopher
607fb70750
Make sure that forward declarations are marked as such in the debug info
...
for the structure type.
rdar://10499337
llvm-svn: 145461
2011-11-29 23:57:40 +00:00
Chad Rosier
82e1bd8e94
Add support for sqrt, sqrtl, and sqrtf in TargetLibraryInfo. Disable
...
(fptrunc (sqrt (fpext x))) -> (sqrtf x) transformation if -fno-builtin is
specified.
rdar://10466410
llvm-svn: 145460
2011-11-29 23:57:10 +00:00
Johnny Chen
faa5c13d8f
Remove possible cut-and-paste code which doesn't belong.
...
llvm-svn: 145459
2011-11-29 23:56:14 +00:00
Jim Grosbach
182b6a077e
Tidy up a bit.
...
llvm-svn: 145458
2011-11-29 23:51:09 +00:00
Greg Clayton
187748456a
<rdar://problem/10500242>
...
Find the one true objective C type definition if there is one within a module.
llvm-svn: 145457
2011-11-29 23:40:34 +00:00
Jim Grosbach
ae672f8118
Add comment.
...
llvm-svn: 145456
2011-11-29 23:33:40 +00:00
Argyrios Kyrtzidis
ebbb20628a
[libclang] Do the ConcurrencyCheck at the beginning of clang_findReferencesInFile.
...
llvm-svn: 145455
2011-11-29 23:21:50 +00:00
Jim Grosbach
e1154eef0b
ARM parsing aliases for data-size suffices on VST1.
...
llvm-svn: 145454
2011-11-29 23:21:31 +00:00
Akira Hatanaka
a21f5dab3c
Change processor names. Patch by Simon Atanasyan.
...
llvm-svn: 145453
2011-11-29 23:09:24 +00:00
Jakob Stoklund Olesen
f50d2eafdb
FileCheckize.
...
llvm-svn: 145452
2011-11-29 23:09:16 +00:00
Akira Hatanaka
dc25f9f38a
Change names for MIPS "generic" processors defined in Mips.td to match what GNU
...
tools use. Patch by Simon Atanasyan.
"mips32r1" => "mips32"
"4ke" => mips32r2"
"mips64r1" => "mips64"
llvm-svn: 145451
2011-11-29 23:08:41 +00:00
Jim Grosbach
5ee209ce3a
ARM assembly parsing and encoding for four-register VST1.
...
llvm-svn: 145450
2011-11-29 22:58:48 +00:00
Daniel Dunbar
8d5cc33ad8
llvm-config: Replace with C++ version (was llvm-config-2).
...
- Reapply of r144300, with lots of fixes/migration easement in between.
llvm-svn: 145449
2011-11-29 22:56:31 +00:00
Evan Cheng
648e48d02e
Add another missing pattern. llvm-gcc likes f64 but clang likes i64 so it was generating poor code for some SSE builtins.
...
llvm-svn: 145448
2011-11-29 22:48:34 +00:00
Richard Smith
507840dbff
Revert r145244. It causes us to create broken ASTs with missing type information
...
for some cast expressions.
Original commit message:
Removed useless ImplicitCast nodes in explicit cstyle and static casts
llvm-svn: 145447
2011-11-29 22:48:16 +00:00
Sean Callanan
8b9ccfe270
Added #ifdef wrappers around the contents of
...
ASTDumper.h.
llvm-svn: 145446
2011-11-29 22:47:44 +00:00
Matt Beaumont-Gay
c93b489138
Suppress -Warray-bounds for classes (not just structs) where the last field is
...
a 1-length character array.
llvm-svn: 145445
2011-11-29 22:43:53 +00:00
Douglas Gregor
70db54f18d
Eliminate the -emit-module option, which emitted a module by parsing a
...
source file (e.g., a header). Immediately steal this useful option
name for building modules from a module map file.
llvm-svn: 145444
2011-11-29 22:42:06 +00:00
Jim Grosbach
2a9c43649a
Enable some VST1 tests and add a few more.
...
llvm-svn: 145443
2011-11-29 22:40:32 +00:00
Jim Grosbach
98d032fd67
ARM assembly parsing and encoding for three-register VST1.
...
llvm-svn: 145442
2011-11-29 22:38:04 +00:00
Lang Hames
c8c3b403c5
Test isa<FunctionDecl> to exclude objective-C methods. This ensures the following cast will never fail.
...
llvm-svn: 145441
2011-11-29 22:37:13 +00:00