Akira Hatanaka
5e9dde3782
Get the -march argument based on the target MIPS architecture or cpu and pass
...
it to GNU assembler. In addition, change function getMipsArchFromCPU() so that
it can be reused in ConstructJob().
Patch by Simon Atanasyan.
llvm-svn: 145509
2011-11-30 19:31:38 +00:00
Chad Rosier
738da252ab
Add a few functions to TargetLibraryInfo.
...
llvm-svn: 145508
2011-11-30 19:19:00 +00:00
Johnny Chen
d0cff1ea9b
I broke the test suite (4 failures) with r145459 check-in.
...
Fix the breakage by properly setting the result status before returning.
llvm-svn: 145507
2011-11-30 19:09:20 +00:00
Benjamin Kramer
9ce686e25f
Update CMake build.
...
llvm-svn: 145506
2011-11-30 18:56:24 +00:00
Kostya Serebryany
15dd3f2500
Refactor shadow poisoning done by asan-rt, no funtionality changes; patch by samsonov@google.com
...
llvm-svn: 145505
2011-11-30 18:50:23 +00:00
Jim Grosbach
3ecf976ca9
ARM parsing for VLD1 two register all lanes, no writeback.
...
llvm-svn: 145504
2011-11-30 18:21:25 +00:00
Douglas Gregor
11729f01f9
Move the module auto-import logic after the logic that allows a
...
callback client to suggest an alternative search path and after we
complain when the included file can't be found. The former can't be
tested in isolation, the latter doesn't actually matter (because we
won't make a module suggestion if no header is available). However,
the flow is better this way.
llvm-svn: 145502
2011-11-30 18:12:06 +00:00
Douglas Gregor
4401fbee56
Trivial indentation fix for the code I just committed
...
llvm-svn: 145501
2011-11-30 18:03:26 +00:00
Douglas Gregor
41e115a81a
Introduce an opt-in warning indicating when the compiler is treating
...
an #include/#import as a module import.
llvm-svn: 145500
2011-11-30 18:02:36 +00:00
Nadav Rotem
0a1801015c
Add test arch to make it pass on non x86 targets
...
llvm-svn: 145498
2011-11-30 17:34:28 +00:00
Douglas Gregor
6902197407
Implement (de-)serialization of the description of a module and its
...
submodules. This information will eventually be used for name hiding
when dealing with submodules. For now, we only use it to ensure that
the module "key" returned when loading a module will always be a
module (rather than occasionally being a FileEntry).
llvm-svn: 145497
2011-11-30 17:33:56 +00:00
Kostya Serebryany
9d1eee9e2a
fix asan-rt build on Mac. Patch by glider@google.com
...
llvm-svn: 145496
2011-11-30 17:33:13 +00:00
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