platform/upstream/llvm.git
12 years agoclang/test/Tooling: Remove XFAIL in 5 tests to unveil the real failure.
NAKAMURA Takumi [Wed, 16 May 2012 17:38:04 +0000 (17:38 +0000)]
clang/test/Tooling: Remove XFAIL in 5 tests to unveil the real failure.

FYI, they can pass on Cygwin w/o any tweaks.

llvm-svn: 156930

12 years agoclang/test/Tooling/clang-check-pwd.cpp: Add "REQUIRES: shell".
NAKAMURA Takumi [Wed, 16 May 2012 17:37:56 +0000 (17:37 +0000)]
clang/test/Tooling/clang-check-pwd.cpp: Add "REQUIRES: shell".

This passes on MSYS bash and Cygwin.

llvm-svn: 156929

12 years agoDon't do a stat compare of the module with its underlying file if we already matched...
Jim Ingham [Wed, 16 May 2012 17:16:59 +0000 (17:16 +0000)]
Don't do a stat compare of the module with its underlying file if we already matched the UUID.

llvm-svn: 156928

12 years agoAdd GetID to the .i file.
Jim Ingham [Wed, 16 May 2012 17:15:08 +0000 (17:15 +0000)]
Add GetID to the .i file.

llvm-svn: 156927

12 years agoClean up r156925, so that we only mark the capturing DeclRefExpr of a
Douglas Gregor [Wed, 16 May 2012 17:01:33 +0000 (17:01 +0000)]
Clean up r156925, so that we only mark the capturing DeclRefExpr of a
lambda as referring to a local in an enclosing scope if we're in the
enclosing scope of the lambda (not it's function call operator). Also,
turn the test into an IR generation test, since that's where the
crashes occurred. Really fixes PR12746 / <rdar://problem/11465120>.

llvm-svn: 156926

12 years agoFix code generation of variables reference expressions when mixing
Douglas Gregor [Wed, 16 May 2012 16:50:20 +0000 (16:50 +0000)]
Fix code generation of variables reference expressions when mixing
blocks and lambdas, based heavily on a patch from Meador Inge. Fixes
PR12746 / <rdar://problem/11465120>.

llvm-svn: 156925

12 years agotsan: improve addr2line symbolizer
Dmitry Vyukov [Wed, 16 May 2012 16:40:47 +0000 (16:40 +0000)]
tsan: improve addr2line symbolizer
-provide support for non-continous modules
-ignore not loaded sections
-more debug output

llvm-svn: 156924

12 years agoFix ASTReader handling of ImportDecls, from Meador Inge!
Douglas Gregor [Wed, 16 May 2012 16:31:58 +0000 (16:31 +0000)]
Fix ASTReader handling of ImportDecls, from Meador Inge!

llvm-svn: 156923

12 years agoUse a llvm::SmallString rather than std::string for duplicate-case errors
Douglas Gregor [Wed, 16 May 2012 16:11:17 +0000 (16:11 +0000)]
Use a llvm::SmallString rather than std::string for duplicate-case errors

llvm-svn: 156922

12 years ago[analyzer] Fix RUN lines for old XFAIL tests, one of which actually works.
Jordy Rose [Wed, 16 May 2012 16:01:14 +0000 (16:01 +0000)]
[analyzer] Fix RUN lines for old XFAIL tests, one of which actually works.

llvm-svn: 156921

12 years ago[analyzer] Convert many existing tests to use clang_analyzer_eval.
Jordy Rose [Wed, 16 May 2012 16:01:10 +0000 (16:01 +0000)]
[analyzer] Convert many existing tests to use clang_analyzer_eval.

llvm-svn: 156920

12 years ago[analyzer] Introduce clang_analyzer_eval for regression test constraint checks.
Jordy Rose [Wed, 16 May 2012 16:01:07 +0000 (16:01 +0000)]
[analyzer] Introduce clang_analyzer_eval for regression test constraint checks.

The new debug.ExprInspection checker looks for calls to clang_analyzer_eval,
and emits a warning of TRUE, FALSE, or UNKNOWN (or UNDEFINED) based on the
constrained value of its (boolean) argument. It does not modify the analysis
state though the conditions tested can result in branches (e.g. through the
use of short-circuit operators).

llvm-svn: 156919

12 years agoCleanup after functionalities/alias/TestAliases.py
Filipe Cabecinhas [Wed, 16 May 2012 15:07:07 +0000 (15:07 +0000)]
Cleanup after functionalities/alias/TestAliases.py

This test is run after TestAbbreviations and was making runCmd("h") fail
in that test, on the second tested architecture (two commands would be
avilable for "h": "help" and "hello").

Later I'm sending a patch for review to add some information to the error
message for that case.

llvm-svn: 156918

12 years agoHexagon: Remove unused command line option.
Benjamin Kramer [Wed, 16 May 2012 15:03:55 +0000 (15:03 +0000)]
Hexagon: Remove unused command line option.

llvm-svn: 156917

12 years agoStringSwitchify. No functionality change.
Benjamin Kramer [Wed, 16 May 2012 12:44:25 +0000 (12:44 +0000)]
StringSwitchify. No functionality change.

llvm-svn: 156916

12 years agoI noticed that named metadata doesn't provide a direct way of getting at the
Duncan Sands [Wed, 16 May 2012 12:25:43 +0000 (12:25 +0000)]
I noticed that named metadata doesn't provide a direct way of getting at the
named metadata list, unlike all the other global objects (global variables,
functions, aliases), so add that for consistency.

llvm-svn: 156915

12 years agoFactor sema for attributes unavailable and deprecated into a common function.
Benjamin Kramer [Wed, 16 May 2012 12:19:08 +0000 (12:19 +0000)]
Factor sema for attributes unavailable and deprecated into a common function.

No functionality change.

llvm-svn: 156914

12 years agoTeach the 'opt' tool about '-Os' and '-Oz', corresponding to the Clang
Chandler Carruth [Wed, 16 May 2012 08:32:49 +0000 (08:32 +0000)]
Teach the 'opt' tool about '-Os' and '-Oz', corresponding to the Clang
options, to enable easier testing of the innards of LLVM that are
enabled by such optimization strategies.

Note that this doesn't provide the (much needed) function attribute
support for -Oz (as opposed to -Os), but still seems like a positive
step to better test the logic that Clang currently relies on.

Patch by Patrik Hägglund.

llvm-svn: 156913

12 years ago[tsan] fix typo
Kostya Serebryany [Wed, 16 May 2012 08:19:13 +0000 (08:19 +0000)]
[tsan] fix typo

llvm-svn: 156912

12 years agoClarify how libstdc++ and other bits of the system toolchain are found
Chandler Carruth [Wed, 16 May 2012 08:18:58 +0000 (08:18 +0000)]
Clarify how libstdc++ and other bits of the system toolchain are found
on Linux in the getting started documentation.

Patch by Nathan Ridge.

llvm-svn: 156911

12 years ago[tsan] first version of ThreadSanitizer docs
Kostya Serebryany [Wed, 16 May 2012 08:14:36 +0000 (08:14 +0000)]
[tsan] first version of ThreadSanitizer docs

llvm-svn: 156910

12 years agoFix a thinko in DisintegrateMERGE_VALUES. Patch by Xiaoyi Guo.
Duncan Sands [Wed, 16 May 2012 07:57:18 +0000 (07:57 +0000)]
Fix a thinko in DisintegrateMERGE_VALUES.  Patch by Xiaoyi Guo.

llvm-svn: 156909

12 years ago[tsan] add tiny_test.c
Kostya Serebryany [Wed, 16 May 2012 07:48:16 +0000 (07:48 +0000)]
[tsan] add tiny_test.c

llvm-svn: 156908

12 years ago[tsan] fix old-style makefile -- we still need them to run our tests
Kostya Serebryany [Wed, 16 May 2012 07:46:55 +0000 (07:46 +0000)]
[tsan] fix old-style makefile -- we still need them to run our tests

llvm-svn: 156907

12 years ago[tsan] add ThreadSanitizer linker flags on Linux and also copy the tsan-rt into...
Kostya Serebryany [Wed, 16 May 2012 06:36:00 +0000 (06:36 +0000)]
[tsan] add  ThreadSanitizer linker flags on Linux and also copy the tsan-rt into the appropriate place at build time

llvm-svn: 156906

12 years agoSignificantly reduce the compiled size of Functions.cpp by turning a big blob of...
Chris Lattner [Wed, 16 May 2012 06:34:44 +0000 (06:34 +0000)]
Significantly reduce the compiled size of Functions.cpp by turning a big blob of tblgen
generated code (for Intrinsic::getType) into a table.  This handles common cases right now,
but I plan to extend it to handle all cases and merge in type verification logic as well
in follow-on patches.

llvm-svn: 156905

12 years agoProduce more useful 'duplicate case' diagnostics. Fixes PR9243, from Terry Long!
Douglas Gregor [Wed, 16 May 2012 05:32:58 +0000 (05:32 +0000)]
Produce more useful 'duplicate case' diagnostics. Fixes PR9243, from Terry Long!

llvm-svn: 156904

12 years agohave tblgen emit cast<> instead of dyn_cast<> when we know it must succeed.
Chris Lattner [Wed, 16 May 2012 04:51:09 +0000 (04:51 +0000)]
have tblgen emit cast<> instead of dyn_cast<> when we know it must succeed.

llvm-svn: 156902

12 years agoInclude the correct conversion context locations for condition expressions.
David Blaikie [Wed, 16 May 2012 04:20:04 +0000 (04:20 +0000)]
Include the correct conversion context locations for condition expressions.

This improves the conversion diagnostics (by correctly pointing to the loop
construct for conversions that may've been caused by the contextual conversion
to bool caused by a condition expression) and also causes the NULL conversion
warnings to be correctly suppressed when crossing a macro boundary in such a
context. (previously, since the conversion context location was incorrect, the
suppression could not be performed)

Reported by Nico Weber as feedback to r156826.

llvm-svn: 156901

12 years agoMake sure that our thread list can't get out of date like was happening before Jims...
Greg Clayton [Wed, 16 May 2012 02:48:06 +0000 (02:48 +0000)]
Make sure that our thread list can't get out of date like was happening before Jims fix in revision 156894.

llvm-svn: 156898

12 years agoFix the visibility of instantiations of static data members.
Rafael Espindola [Wed, 16 May 2012 02:10:38 +0000 (02:10 +0000)]
Fix the visibility of instantiations of static data members.
Fixes pr12835.

llvm-svn: 156897

12 years agoAvoid creating a cycle when folding load / op with flag / store. PR11451474. rdar...
Evan Cheng [Wed, 16 May 2012 01:54:27 +0000 (01:54 +0000)]
Avoid creating a cycle when folding load / op with flag / store. PR11451474. rdar://11451474

llvm-svn: 156896

12 years agoAlways call RefreshStateAfterStop when we get a stop event. We were skipping doing...
Jim Ingham [Wed, 16 May 2012 01:32:14 +0000 (01:32 +0000)]
Always call RefreshStateAfterStop when we get a stop event.  We were skipping doing it in the case where we had interrupted the target.  Presumably at some point in the past RefreshStateAfterStop was done more directly when we handled the interrupt, but it isn't any more so now we need to do it all the time.

llvm-svn: 156894

12 years agoAdd an accessor on SBBreakpointLocation to get its location ID.
Jim Ingham [Wed, 16 May 2012 00:51:15 +0000 (00:51 +0000)]
Add an accessor on SBBreakpointLocation to get its location ID.

llvm-svn: 156891

12 years ago[libclang/AST] Index references of protocols in "@protocol(...)" syntax.
Argyrios Kyrtzidis [Wed, 16 May 2012 00:50:02 +0000 (00:50 +0000)]
[libclang/AST] Index references of protocols in "@protocol(...)" syntax.

To do that, keep track of the location of the protocol id in the ObjCProtocolExpr
AST node.

rdar://11190837

llvm-svn: 156890

12 years agoBump debugserver version # to 187.
Jason Molenda [Wed, 16 May 2012 00:40:45 +0000 (00:40 +0000)]
Bump debugserver version # to 187.

llvm-svn: 156888

12 years agoBump version # to lldb-147.
Jason Molenda [Wed, 16 May 2012 00:40:14 +0000 (00:40 +0000)]
Bump version # to lldb-147.

llvm-svn: 156887

12 years agoAdd LLDB_DISABLE_PYTHON around newly added methods in
Jason Molenda [Wed, 16 May 2012 00:38:08 +0000 (00:38 +0000)]
Add LLDB_DISABLE_PYTHON around newly added methods in
DataVisualization.h / DataVisualization.cpp / ValueObject.cpp
and
FormatManager.h / FormatManager.cpp

llvm-svn: 156886

12 years agoSet the result status correctly for asynchronous step-in/out/over commands.
Jim Ingham [Wed, 16 May 2012 00:37:40 +0000 (00:37 +0000)]
Set the result status correctly for asynchronous step-in/out/over commands.

llvm-svn: 156885

12 years agoFix comment typeo.
Jason Molenda [Wed, 16 May 2012 00:36:41 +0000 (00:36 +0000)]
Fix comment typeo.

llvm-svn: 156884

12 years agoChange lockdown API use in RNBSocket::ConnectToService.
Jason Molenda [Wed, 16 May 2012 00:36:21 +0000 (00:36 +0000)]
Change lockdown API use in RNBSocket::ConnectToService.
<rdar://problem/10800927>

llvm-svn: 156883

12 years agoFix Makefile to pass the correct -arch flag to the toolchains.
Johnny Chen [Wed, 16 May 2012 00:33:34 +0000 (00:33 +0000)]
Fix Makefile to pass the correct -arch flag to the toolchains.

llvm-svn: 156882

12 years agoFixed grammar for the llvm.trap intrinsic description.
John Criswell [Wed, 16 May 2012 00:26:51 +0000 (00:26 +0000)]
Fixed grammar for the llvm.trap intrinsic description.

llvm-svn: 156881

12 years ago[objcmt] Accept char arrays for rewriting to @() syntax.
Argyrios Kyrtzidis [Wed, 16 May 2012 00:21:21 +0000 (00:21 +0000)]
[objcmt] Accept char arrays for rewriting to @() syntax.

Part of rdar://11438360

llvm-svn: 156880

12 years ago<rdar://problem/11246147>
Greg Clayton [Wed, 16 May 2012 00:11:54 +0000 (00:11 +0000)]
<rdar://problem/11246147>

Make sure our debugger STDIN read thread shuts down quickly when we are done with it. We had a case where the owner of the file handle was not closing it and caused spins.

llvm-svn: 156879

12 years agoEnable sub-sub-register copy coalescing.
Jakob Stoklund Olesen [Tue, 15 May 2012 23:31:35 +0000 (23:31 +0000)]
Enable sub-sub-register copy coalescing.

It is now possible to coalesce weird skewed sub-register copies by
picking a super-register class larger than both original registers. The
included test case produces code like this:

  vld2.32 {d16, d17, d18, d19}, [r0]!
  vst2.32 {d18, d19, d20, d21}, [r0]

We still perform interference checking as if it were a normal full copy
join, so this is still quite conservative. In particular, the f1 and f2
functions in the included test case still have remaining copies because
of false interference.

llvm-svn: 156878

12 years agoInclude llvm/ADT/STLExtras.h from lldb/Utility/Utils.h and use llvm::array_lengthof...
Johnny Chen [Tue, 15 May 2012 23:21:36 +0000 (23:21 +0000)]
Include llvm/ADT/STLExtras.h from lldb/Utility/Utils.h and use llvm::array_lengthof(), instead.

llvm-svn: 156876

12 years ago[analyzer] Add a test for dead stores, which uses OpaqueValExpr.
Anna Zaks [Tue, 15 May 2012 23:12:53 +0000 (23:12 +0000)]
[analyzer] Add a test for dead stores, which uses OpaqueValExpr.

llvm-svn: 156875

12 years ago[objcmt] When using NSNumber numberWithInteger:/numberWithUnsignedInteger: be
Argyrios Kyrtzidis [Tue, 15 May 2012 22:59:54 +0000 (22:59 +0000)]
[objcmt] When using NSNumber numberWithInteger:/numberWithUnsignedInteger: be
more liberal in rewriting when the parameter is an enum constant.

Part of rdar://11438360

llvm-svn: 156873

12 years agoobjective-c: perform strict type checking on property
Fariborz Jahanian [Tue, 15 May 2012 22:37:04 +0000 (22:37 +0000)]
objective-c: perform strict type checking on property
type and its accessor type and issue error if types
are incompatible, instead of crashing in IRgen.
// rdar://1105153

llvm-svn: 156871

12 years ago[analyzer] Fix a regression in ObjCUnusedIVars checker.
Anna Zaks [Tue, 15 May 2012 22:31:56 +0000 (22:31 +0000)]
[analyzer] Fix a regression in ObjCUnusedIVars checker.

We can no longer rely on children iterator to visit all the AST
tree children of an expression (OpaqueValueExpr has no children).

llvm-svn: 156870

12 years agoTeach RegisterCoalescer to handle symmetric sub-register copies.
Jakob Stoklund Olesen [Tue, 15 May 2012 22:26:28 +0000 (22:26 +0000)]
Teach RegisterCoalescer to handle symmetric sub-register copies.

It is possible to coalesce two overlapping registers to a common
super-register that it larger than both of the original registers.

The important difference is that it may be necessary to rewrite DstReg
operands as well as SrcReg operands because the sub-register index has
changed.

This behavior is still disabled by CoalescerPair.

llvm-svn: 156869

12 years ago[objcmt] Rewrite messages to NSString's stringWithUTF8String:/stringWithCString:
Argyrios Kyrtzidis [Tue, 15 May 2012 22:22:10 +0000 (22:22 +0000)]
[objcmt] Rewrite messages to NSString's stringWithUTF8String:/stringWithCString:
to use the @() boxing syntax.

It will also rewrite uses of stringWithCString:encoding: where the encoding that is
used is NSASCIIStringEncoding or NSUTF8StringEncoding.

rdar://11438360

llvm-svn: 156868

12 years agoHandle NewReg==OldReg in renameRegister().
Jakob Stoklund Olesen [Tue, 15 May 2012 22:20:27 +0000 (22:20 +0000)]
Handle NewReg==OldReg in renameRegister().

This can happen when widening a virtual register to a super-register
class.

llvm-svn: 156867

12 years agoWe never call adjustCopiesBackFrom() for partial copies.
Jakob Stoklund Olesen [Tue, 15 May 2012 22:18:49 +0000 (22:18 +0000)]
We never call adjustCopiesBackFrom() for partial copies.

There is no need to look at an always null SrcIdx.

llvm-svn: 156866

12 years agollvm-config: Use sys::fs::equivalent instead of string comparison.
Daniel Dunbar [Tue, 15 May 2012 22:07:18 +0000 (22:07 +0000)]
llvm-config: Use sys::fs::equivalent instead of string comparison.
 - Hopefully fixes PR11600 (untested).

llvm-svn: 156865

12 years ago[Support] Add a version of sys::fs::equivalent() that treats errors as false.
Daniel Dunbar [Tue, 15 May 2012 22:07:14 +0000 (22:07 +0000)]
[Support] Add a version of sys::fs::equivalent() that treats errors as false.

llvm-svn: 156864

12 years agoDon't warn when NULL is used within a macro but its conversion is outside a macro.
David Blaikie [Tue, 15 May 2012 21:57:38 +0000 (21:57 +0000)]
Don't warn when NULL is used within a macro but its conversion is outside a macro.

This fixes the included test case & was reported by Nico Weber.

It's a little bit nasty using the difference in the conversion context, but
seems to me like a not unreasonable solution. I did have to fix up the
conversion context for conditional operators (it seems correct to me to include
the context for which we're actually doing the comparison - across all the
nested conditionals, rather than the innermost conditional which might not
actually have the problematic implicit conversion at all) and template default
arguments (this is a bit of a hack, since we don't have the source location of
the '=' anymore, so I just used the start of the parameter - open to
suggestions there)

llvm-svn: 156861

12 years agoTypo.
Richard Smith [Tue, 15 May 2012 21:42:17 +0000 (21:42 +0000)]
Typo.

llvm-svn: 156860

12 years ago[docs] Remove unsupported references to ExtraSource variable.
Daniel Dunbar [Tue, 15 May 2012 21:32:27 +0000 (21:32 +0000)]
[docs] Remove unsupported references to ExtraSource variable.

llvm-svn: 156857

12 years agoIf we see a declaration which is either missing a type or has a malformed type,
Richard Smith [Tue, 15 May 2012 21:29:55 +0000 (21:29 +0000)]
If we see a declaration which is either missing a type or has a malformed type,
and the thing we have has a scope specifier, and we're in a context that doesn't
allow declaring a qualified name, then the error is a malformed type, not a
missing type.

llvm-svn: 156856

12 years agoAdd i386-only expectedFailure decorators for current ToT.
Johnny Chen [Tue, 15 May 2012 21:27:40 +0000 (21:27 +0000)]
Add i386-only expectedFailure decorators for current ToT.

llvm-svn: 156855

12 years agoDon't use the implicit int rule for error recovery in C++. Instead, try to
Richard Smith [Tue, 15 May 2012 21:01:51 +0000 (21:01 +0000)]
Don't use the implicit int rule for error recovery in C++. Instead, try to
disambiguate whether the type name was forgotten or mistyped.

llvm-svn: 156854

12 years agoAdd the Objective-C runtime linking arguments after user-specified
Douglas Gregor [Tue, 15 May 2012 21:00:27 +0000 (21:00 +0000)]
Add the Objective-C runtime linking arguments after user-specified
linker arguments. Fixes <rdar://problem/11417441>.

llvm-svn: 156853

12 years agoAdd blurb for Crack.
Bill Wendling [Tue, 15 May 2012 20:47:23 +0000 (20:47 +0000)]
Add blurb for Crack.

llvm-svn: 156852

12 years agoAdd documentation about boxing enum types and a codegen test to make
Argyrios Kyrtzidis [Tue, 15 May 2012 20:45:35 +0000 (20:45 +0000)]
Add documentation about boxing enum types and a codegen test to make
sure we pick up the underlying type, per suggestion by Fariborz.

No functionality change.

llvm-svn: 156851

12 years agoAdd a test case for r156840, a fix to llvm-objdump when disassembling using
Kevin Enderby [Tue, 15 May 2012 20:20:50 +0000 (20:20 +0000)]
Add a test case for r156840, a fix to llvm-objdump when disassembling using
-macho to disassemble the last symbol to the end of the section.

llvm-svn: 156850

12 years agoreuse the result of some expensive computations in getSignExtendExpr() and getZeroExt...
Nuno Lopes [Tue, 15 May 2012 20:20:14 +0000 (20:20 +0000)]
reuse the result of some expensive computations in getSignExtendExpr() and getZeroExtendExpr()
this gives a speedup of > 80 in a debug build in the test case of PR12825 (php_sha512_crypt_r)

llvm-svn: 156849

12 years agoExtend the CoalescerPair interface to handle symmetric sub-register copies.
Jakob Stoklund Olesen [Tue, 15 May 2012 20:09:43 +0000 (20:09 +0000)]
Extend the CoalescerPair interface to handle symmetric sub-register copies.

Now both SrcReg and DstReg can be sub-registers of the final coalesced
register.

CoalescerPair::setRegisters still rejects such copies because
RegisterCoalescer doesn't yet handle them.

llvm-svn: 156848

12 years agoUpdate MIPS' section in the release notes. Patch by Simon Atanasyan.
Akira Hatanaka [Tue, 15 May 2012 20:06:41 +0000 (20:06 +0000)]
Update MIPS' section in the release notes. Patch by Simon Atanasyan.

llvm-svn: 156847

12 years ago[clang.py] Store reference to TranslationUnit in Cursor and Type
Gregory Szorc [Tue, 15 May 2012 19:51:02 +0000 (19:51 +0000)]
[clang.py] Store reference to TranslationUnit in Cursor and Type

llvm-svn: 156846

12 years agoModified "image lookup -t <typename>" to expand typedefs.
Greg Clayton [Tue, 15 May 2012 19:26:12 +0000 (19:26 +0000)]
Modified "image lookup -t <typename>" to expand typedefs.

llvm-svn: 156845

12 years ago[objcmt] Rewrite [NSNumber numberWith*] messages to the new @() boxing syntax.
Argyrios Kyrtzidis [Tue, 15 May 2012 19:17:49 +0000 (19:17 +0000)]
[objcmt] Rewrite [NSNumber numberWith*] messages to the new @() boxing syntax.

There are some caveats:
-If an implicit cast (e.g. int -> float for numberWithFloat:) was required, the message
 will not get rewritten
-If the message was with numberWithInteger:/numberWithUnsignedInteger:, which are very
 commonly used, be more liberal and allow the boxing syntax if the underlying type has
 same signedness and will not lose precision.

Part of rdar://11438360

llvm-svn: 156844

12 years agoAllow objc @() syntax for enum types.
Argyrios Kyrtzidis [Tue, 15 May 2012 19:17:44 +0000 (19:17 +0000)]
Allow objc @() syntax for enum types.

Previously we would reject it as illegal using a value of
enum type and on ObjC++ it was illegal to use an enumerator
as well.

rdar://11454917

llvm-svn: 156843

12 years agoAdd -enable-aa-sched-mi, off by default, for AliasAnalysis inside MachineScheduler.
Andrew Trick [Tue, 15 May 2012 18:59:41 +0000 (18:59 +0000)]
Add -enable-aa-sched-mi, off by default, for AliasAnalysis inside MachineScheduler.

This feature avoids creating edges in the scheduler's dependence graph
for non-aliasing memory operations according to whichever alias
analysis is available. It has been fully tested in Hexagon. Before
making this default, it needs to be extended to handle multiple
MachineMemOperands, compile time needs more evaluation, and
benchmarking on X86 and ARM is needed.

Patch by Sergei Larin!

llvm-svn: 156842

12 years agoDo not link with Objective-C libraries with -nostdlib or -nodefaultlibs.
Bob Wilson [Tue, 15 May 2012 18:57:39 +0000 (18:57 +0000)]
Do not link with Objective-C libraries with -nostdlib or -nodefaultlibs.
<rdar://problem/11433499>

llvm-svn: 156841

12 years agoFixed a bug in llvm-objdump when disassembling using -macho option for a binary
Kevin Enderby [Tue, 15 May 2012 18:57:14 +0000 (18:57 +0000)]
Fixed a bug in llvm-objdump when disassembling using -macho option for a binary
that has more than one symbol.  The last symbol was not being disassembled to
the end of the section.

llvm-svn: 156840

12 years agollvm-build: Add support for non-installed libraries (e.g., gtest).
Daniel Dunbar [Tue, 15 May 2012 18:44:17 +0000 (18:44 +0000)]
llvm-build: Add support for non-installed libraries (e.g., gtest).
 - These libraries are only reported by llvm-config when run from a development
   tree.

llvm-svn: 156838

12 years agollvm-build: Don't emit library information for disabled targets.
Daniel Dunbar [Tue, 15 May 2012 18:44:12 +0000 (18:44 +0000)]
llvm-build: Don't emit library information for disabled targets.

llvm-svn: 156837

12 years ago[utils] Fix Get{RepositoryPath,SourceVersion} to have a more robust is-git-svn
Daniel Dunbar [Tue, 15 May 2012 18:44:09 +0000 (18:44 +0000)]
[utils] Fix Get{RepositoryPath,SourceVersion} to have a more robust is-git-svn
check.

llvm-svn: 156836

12 years ago<rdar://problem/11455398>
Greg Clayton [Tue, 15 May 2012 18:43:44 +0000 (18:43 +0000)]
<rdar://problem/11455398>

Add "--name" option to "image lookup" that will search both functions and symbols.

Also made all of the output from any of the "image lookup" commands be the same regardless of the lookup type (function name, symbol name, func or symbol, file and line, address, etc). The --verbose or -v option also will expand the results as needed and display things so they look the same.

llvm-svn: 156835

12 years agoAdd the output of "clang --version" to scan-build results, from Gerald Combs!
Douglas Gregor [Tue, 15 May 2012 18:41:55 +0000 (18:41 +0000)]
Add the output of "clang --version" to scan-build results, from Gerald Combs!

llvm-svn: 156834

12 years agoobjc: avoid duplicate diagnostics on certain type mismatches
Fariborz Jahanian [Tue, 15 May 2012 18:12:51 +0000 (18:12 +0000)]
objc: avoid duplicate diagnostics on certain type mismatches
between property and its backing ivar.

llvm-svn: 156832

12 years agoRemove word 'block' from option and diagnostic I added
Fariborz Jahanian [Tue, 15 May 2012 17:43:16 +0000 (17:43 +0000)]
Remove word 'block' from option and diagnostic I added
in r156825.

llvm-svn: 156831

12 years agoAllow MCCodeEmitter access to the target MCRegisterInfo.
Jim Grosbach [Tue, 15 May 2012 17:36:07 +0000 (17:36 +0000)]
Allow MCCodeEmitter access to the target MCRegisterInfo.

Add MRI to the createMCCodeEmitter() call.

llvm-svn: 156830

12 years agoTableGen'erate mapping physical registers to encoding values.
Jim Grosbach [Tue, 15 May 2012 17:35:57 +0000 (17:35 +0000)]
TableGen'erate mapping physical registers to encoding values.

Many targets always use the same bitwise encoding value for physical
registers in all (or most) instructions. Add this mapping to the
.td files and TableGen'erate the information and expose an accessor
in MCRegisterInfo.

patch by Tom Stellard.

llvm-svn: 156829

12 years agoAllow MCCodeEmitter access to the target MCRegisterInfo.
Jim Grosbach [Tue, 15 May 2012 17:35:52 +0000 (17:35 +0000)]
Allow MCCodeEmitter access to the target MCRegisterInfo.

Add the MCRegisterInfo to the factories and constructors.

Patch by Tom Stellard <Tom.Stellard@amd.com>.

llvm-svn: 156828

12 years agoChanging std::string to SmallString for r156826.
David Blaikie [Tue, 15 May 2012 17:18:27 +0000 (17:18 +0000)]
Changing std::string to SmallString for r156826.

Based on code review feedback by Jordan Rose.

llvm-svn: 156827

12 years agoImprove some of the conversion warnings to fire on conversion to bool.
David Blaikie [Tue, 15 May 2012 16:56:36 +0000 (16:56 +0000)]
Improve some of the conversion warnings to fire on conversion to bool.

Moves the bool bail-out down a little in SemaChecking - so now
-Wnull-conversion and -Wliteral-conversion can fire when the target type is
bool.

Also improve the wording/details in the -Wliteral-conversion warning to match
the -Wconstant-conversion.

llvm-svn: 156826

12 years agoobjective-c nonfragile abi: discourage ivar declarations
Fariborz Jahanian [Tue, 15 May 2012 16:33:04 +0000 (16:33 +0000)]
objective-c nonfragile abi: discourage ivar declarations
in @interface by issuing warning (off by default) under
opt'ed in flag -Winterface-block-ivar. // rdar://10763173

llvm-svn: 156825

12 years agoEnable all Hexagon tests.
Sirish Pande [Tue, 15 May 2012 16:13:12 +0000 (16:13 +0000)]
Enable all Hexagon tests.

llvm-svn: 156824

12 years agominor simplification to code: Ty is already a SCEV type; don't need to run getEffecti...
Nuno Lopes [Tue, 15 May 2012 15:44:38 +0000 (15:44 +0000)]
minor simplification to code: Ty is already a SCEV type; don't need to run getEffectiveSCEVType() twice

llvm-svn: 156823

12 years ago[tsan] makefile machinery to build tsan-rt (linux-x86_64 only)
Kostya Serebryany [Tue, 15 May 2012 15:17:35 +0000 (15:17 +0000)]
[tsan] makefile machinery to build tsan-rt (linux-x86_64 only)

llvm-svn: 156822

12 years agoFix our handling of visibility in explicit template instantiations.
Rafael Espindola [Tue, 15 May 2012 14:09:55 +0000 (14:09 +0000)]
Fix our handling of visibility in explicit template instantiations.

* Don't copy the visibility attribute during instantiations. We have to be able
  to distinguish

 struct HIDDEN foo {};
 template<class T>
 DEFAULT void bar() {}
 template DEFAULT void bar<foo>();

from

 struct HIDDEN foo {};
 template<class T>
 DEFAULT void bar() {}
 template void bar<foo>();

* If an instantiation has an attribute, it takes precedence over an attribute
  in the template.

* With instantiation attributes handled with the above logic, we can now
  select the minimum visibility when looking at template arguments.

llvm-svn: 156821

12 years agoAdd a note about atomic builtins to c11 section of release notes.
David Chisnall [Tue, 15 May 2012 13:18:03 +0000 (13:18 +0000)]
Add a note about atomic builtins to c11 section of release notes.

llvm-svn: 156820

12 years agoAdd some release notes about compiler-rt and libc++
David Chisnall [Tue, 15 May 2012 13:06:46 +0000 (13:06 +0000)]
Add some release notes about compiler-rt and libc++

llvm-svn: 156819

12 years ago[asan] fix the old-style Makefile, which we still need to run asan tests
Kostya Serebryany [Tue, 15 May 2012 12:41:14 +0000 (12:41 +0000)]
[asan] fix the old-style Makefile, which we still need to run asan tests

llvm-svn: 156818

12 years agoUpdate atomic.c to work with the new clang builtins.
David Chisnall [Tue, 15 May 2012 12:36:14 +0000 (12:36 +0000)]
Update atomic.c to work with the new clang builtins.

llvm-svn: 156817

12 years ago[asan] move lib/asan/interception to lib/interception so that other tools (e.g. tsan...
Kostya Serebryany [Tue, 15 May 2012 12:21:33 +0000 (12:21 +0000)]
[asan] move lib/asan/interception to lib/interception so that other tools (e.g. tsan) can use it

llvm-svn: 156816

12 years agoTeach SimplifyLibCalls about stpcpy.
David Majnemer [Tue, 15 May 2012 11:46:21 +0000 (11:46 +0000)]
Teach SimplifyLibCalls about stpcpy.

llvm-svn: 156815