platform/upstream/llvm.git
11 years agoPowerPC: fix __builtin_eh_return_data_regno return
Adhemerval Zanella [Tue, 22 Jan 2013 20:02:45 +0000 (20:02 +0000)]
PowerPC: fix __builtin_eh_return_data_regno return

llvm-svn: 173188

11 years ago[ms-inline asm] Remove the -fenable-experimental-ms-inline-asm flag. MS-style
Chad Rosier [Tue, 22 Jan 2013 19:38:32 +0000 (19:38 +0000)]
[ms-inline asm] Remove the -fenable-experimental-ms-inline-asm flag.  MS-style
inline assembly can be enable with -fasm-blocks or -fms-extensions alone.

llvm-svn: 173186

11 years agoSplit "discards qualifiers" warnings of -Wincompatible-pointer-types into subgroup.
Ted Kremenek [Tue, 22 Jan 2013 19:32:27 +0000 (19:32 +0000)]
Split "discards qualifiers" warnings of -Wincompatible-pointer-types into subgroup.

This allows users to promote -Wincompatible-pointer-type warnings to
errors but keep those for "discard qualifiers" as warnings (if they
so desire).

Addresses <rdar://problem/13062738>.

llvm-svn: 173184

11 years agoUpdate docs: nullptr conversion tool landed
Dmitri Gribenko [Tue, 22 Jan 2013 19:22:22 +0000 (19:22 +0000)]
Update docs: nullptr conversion tool landed

llvm-svn: 173183

11 years agoSmall code change to improve performance
Fariborz Jahanian [Tue, 22 Jan 2013 19:05:17 +0000 (19:05 +0000)]
Small code change to improve performance
in my last patch, suggested by Argyrios.

llvm-svn: 173182

11 years agoAdd forgotten test case for the x32 commit
Eli Bendersky [Tue, 22 Jan 2013 18:52:39 +0000 (18:52 +0000)]
Add forgotten test case for the x32 commit

llvm-svn: 173181

11 years agoobjectiveC (take two): don't warn when in -Wselector mode and
Fariborz Jahanian [Tue, 22 Jan 2013 18:35:43 +0000 (18:35 +0000)]
objectiveC (take two): don't warn when in -Wselector mode and
an unimplemented selector is consumed by
"respondsToSelector:". // rdar://12938616

llvm-svn: 173179

11 years agoAdd use-nullptr transform to cpp11-migrate
Edwin Vane [Tue, 22 Jan 2013 18:31:49 +0000 (18:31 +0000)]
Add use-nullptr transform to cpp11-migrate

This transform converts the usage of null pointer constants (e.g. NULL, 0,
etc.) in legacy C++ code and converts them to use the new C++11 nullptr
keyword.
- Added use-nullptr transform.
- Added C++11 support to the final syntax check. Used ArgumentAdjuster class to
  add -std=c++11 option to the command line options.
- Added tests for use-nullptr transform.
- Added tests that exercises both loop-convert and use-nullptr in the source
  file.

TODO: There's a known bug when using both -loop-convert and -use-nullptr at the
      same time.

Author: Tareq A Siraj <tareq.a.siraj@intel.com>
Reviewers: klimek, gribozavr
llvm-svn: 173178

11 years ago[ms-inline asm] Remove a warning about ms-style inline assembly not being
Chad Rosier [Tue, 22 Jan 2013 18:18:22 +0000 (18:18 +0000)]
[ms-inline asm] Remove a warning about ms-style inline assembly not being
supported.

llvm-svn: 173177

11 years agoX86: Make sure we account for the FMA4 register immediate value, otherwise rip-rel...
Benjamin Kramer [Tue, 22 Jan 2013 18:05:59 +0000 (18:05 +0000)]
X86: Make sure we account for the FMA4 register immediate value, otherwise rip-rel relocations will be off by one byte.

PR15040.

llvm-svn: 173176

11 years agoInitial patch for x32 ABI support.
Eli Bendersky [Tue, 22 Jan 2013 18:02:49 +0000 (18:02 +0000)]
Initial patch for x32 ABI support.

Add the x32 environment kind to the triple, and separate the concept of
pointer size and callee save stack slot size, since they're not equal
on x32.

llvm-svn: 173175

11 years agoSaleem Abdulrasool: If errno is defined as volatile int, the qualifier differences...
Howard Hinnant [Tue, 22 Jan 2013 17:26:08 +0000 (17:26 +0000)]
Saleem Abdulrasool: If errno is defined as volatile int, the qualifier differences can cause
template typename deductions on swap<> (used in string.cpp).  Use
decltype(errno) to replicate the type and qualifier information for holding the
errno value.  Because errno is expected to be assignable, there is no need to
use typename std::remove_const<decltype(errno)>::type to hold the value.

llvm-svn: 173172

11 years agoMake getDefinitiveDeclContext() actually return a DeclContext, as one
Douglas Gregor [Tue, 22 Jan 2013 17:08:30 +0000 (17:08 +0000)]
Make getDefinitiveDeclContext() actually return a DeclContext, as one
would expect, and clean up the return/break inconsistencies. Thanks,
Sebastian!

llvm-svn: 173171

11 years agoFix a bug in VarDecl::getSourceRange() for static member arrays with an element
Nico Weber [Tue, 22 Jan 2013 17:00:09 +0000 (17:00 +0000)]
Fix a bug in VarDecl::getSourceRange() for static member arrays with an element
type with an implicit initializer expression.

Patch from Will Wilson <will@indefiant.com>!

llvm-svn: 173170

11 years agoFormatter: Remove a fixme klimek fixed in r173168.
Nico Weber [Tue, 22 Jan 2013 16:53:59 +0000 (16:53 +0000)]
Formatter: Remove a fixme klimek fixed in r173168.

Add a few comments to the ObjC test cases.

llvm-svn: 173169

11 years agoImplements more principled comment parsing.
Manuel Klimek [Tue, 22 Jan 2013 16:31:55 +0000 (16:31 +0000)]
Implements more principled comment parsing.

Changing nextToken() in the UnwrappedLineParser to get the next
non-comment token. This allows us to correctly layout a whole class of
snippets, like:

if /* */(/* */ a /* */) /* */
  f() /* */; /* */
else /* */
  g();

Fixes a bug in the formatter where we would assume there is a previous
non-comment token.
Also adds the indent level of an unwrapped line to the debug output in
the parser.

llvm-svn: 173168

11 years agochange enum class to enum, as g++ doesnot support bitfields with enumerated classes...
Shankar Easwaran [Tue, 22 Jan 2013 14:58:51 +0000 (14:58 +0000)]
change enum class to enum, as g++ doesnot support bitfields with enumerated classes with c++11 flag set

llvm-svn: 173166

11 years agoSaleem Abdulrasool: __terminate_handler and __unexpected_handler are defined but...
Howard Hinnant [Tue, 22 Jan 2013 14:48:10 +0000 (14:48 +0000)]
Saleem Abdulrasool: __terminate_handler and __unexpected_handler are defined but not used when
building against libsupc++ as the functions for which they are used are provided
by libsupc++.  Simply preprocess them away when building against libsupc++.

llvm-svn: 173165

11 years agoSaleem Abdulrasool: Ensure that __GLIBCXX__ is defined when building with libsupc++.
Howard Hinnant [Tue, 22 Jan 2013 14:44:06 +0000 (14:44 +0000)]
Saleem Abdulrasool: Ensure that __GLIBCXX__ is defined when building with libsupc++.

llvm-svn: 173164

11 years agoTests: rewrite 'opt ... %s' to 'opt ... < %s' so that opt does not emit a ModuleID
Dmitri Gribenko [Tue, 22 Jan 2013 14:39:21 +0000 (14:39 +0000)]
Tests: rewrite 'opt ... %s' to 'opt ... < %s' so that opt does not emit a ModuleID

This is done to avoid odd test failures, like the one fixed in r171243.

llvm-svn: 173163

11 years ago[msan] Remove the trap handler code.
Evgeniy Stepanov [Tue, 22 Jan 2013 14:29:15 +0000 (14:29 +0000)]
[msan] Remove the trap handler code.

llvm-svn: 173161

11 years agoLet the formatter be more restrictive for breaking around . and ->
Daniel Jasper [Tue, 22 Jan 2013 14:28:24 +0000 (14:28 +0000)]
Let the formatter be more restrictive for breaking around . and ->

Before:
aaaaaaaaaaaaaaa(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)
    .aaaaaaaaaaaaaaaaaa();

After:
aaaaaaaaaaaaaaa(aaaaaaaaaaaaaaaaaa,
                aaaaaaaaaaaaaaaaaaaaaaa).aaaaaaaaaaaaaaaaaa();

llvm-svn: 173160

11 years agollvm-symbolizer: factor out bits of the tool into separate LLVMSymbolize.{h,cpp}...
Alexey Samsonov [Tue, 22 Jan 2013 14:21:19 +0000 (14:21 +0000)]
llvm-symbolizer: factor out bits of the tool into separate LLVMSymbolize.{h,cpp} files. No functionality change.

llvm-svn: 173159

11 years ago[msan] Follow -msan-keep-going in reports from interceptors.
Evgeniy Stepanov [Tue, 22 Jan 2013 13:35:45 +0000 (13:35 +0000)]
[msan] Follow -msan-keep-going in reports from interceptors.

llvm-svn: 173158

11 years ago[msan] Fix linkage type of __msan_track_origins.
Evgeniy Stepanov [Tue, 22 Jan 2013 13:34:57 +0000 (13:34 +0000)]
[msan] Fix linkage type of __msan_track_origins.

llvm-svn: 173157

11 years ago[msan] Export the value of msan-keep-going flag for the runtime.
Evgeniy Stepanov [Tue, 22 Jan 2013 13:26:53 +0000 (13:26 +0000)]
[msan] Export the value of msan-keep-going flag for the runtime.

llvm-svn: 173156

11 years ago[msan] Simplify test code.
Evgeniy Stepanov [Tue, 22 Jan 2013 12:33:11 +0000 (12:33 +0000)]
[msan] Simplify test code.

llvm-svn: 173155

11 years ago[msan] Test handling of volatile bitfields.
Evgeniy Stepanov [Tue, 22 Jan 2013 12:31:39 +0000 (12:31 +0000)]
[msan] Test handling of volatile bitfields.

llvm-svn: 173154

11 years ago[msan] Do not insert check on volatile store.
Evgeniy Stepanov [Tue, 22 Jan 2013 12:30:52 +0000 (12:30 +0000)]
[msan] Do not insert check on volatile store.

Volatile bitfields can cause valid stores of uninitialized bits.

llvm-svn: 173153

11 years ago[msan] Stop using volatile assignments as undef checks in MSan tests.
Evgeniy Stepanov [Tue, 22 Jan 2013 12:29:00 +0000 (12:29 +0000)]
[msan] Stop using volatile assignments as undef checks in MSan tests.

A runtime call is used instead.
MSan will stop adding shadow checks on volatile stores soon.

llvm-svn: 173152

11 years agoFix truncation of relocation types in Support/ELF.h
Tim Northover [Tue, 22 Jan 2013 12:01:43 +0000 (12:01 +0000)]
Fix truncation of relocation types in Support/ELF.h

This is a follow-up to r171845, which fixes the same issue in the Support code.
Only targets with >256 relocations (principally AArch64) should be affected.

llvm-svn: 173151

11 years agoFix "*" formatting when creating arrays of pointers.
Daniel Jasper [Tue, 22 Jan 2013 11:46:26 +0000 (11:46 +0000)]
Fix "*" formatting when creating arrays of pointers.

Before: A = new int * [10]();
After:  A = new int *[10]();
llvm-svn: 173150

11 years ago[ASan] Disable the new/delete implementations for OSX
Alexander Potapenko [Tue, 22 Jan 2013 11:39:28 +0000 (11:39 +0000)]
[ASan] Disable the new/delete implementations for OSX
See https://code.google.com/p/address-sanitizer/issues/detail?id=131

llvm-svn: 173149

11 years agoBegin fleshing out an interface in TTI for modelling the costs of
Chandler Carruth [Tue, 22 Jan 2013 11:26:02 +0000 (11:26 +0000)]
Begin fleshing out an interface in TTI for modelling the costs of
generic function calls and intrinsics. This is somewhat overlapping with
an existing intrinsic cost method, but that one seems targetted at
vector intrinsics. I'll merge them or separate their names and use cases
in a separate commit.

This sinks the test of 'callIsSmall' down into TTI where targets can
control it. The whole thing feels very hack-ish to me though. I've left
a FIXME comment about the fundamental design problem this presents. It
isn't yet clear to me what the users of this function *really* care
about. I'll have to do more analysis to figure that out. Putting this
here at least provides it access to proper analysis pass tools and other
such. It also allows us to more cleanly implement the baseline cost
interfaces in TTI.

With this commit, it is now theoretically possible to simplify much of
the inline cost analysis's handling of calls by calling through to this
interface. That conversion will have to happen in subsequent commits as
it requires more extensive restructuring of the inline cost analysis.

The CodeMetrics class is now really only in the business of running over
a block of code and aggregating the metrics on that block of code, with
the actual cost evaluation done entirely in terms of TTI.

llvm-svn: 173148

11 years agoASan: add output test for -fsanitize-address-zero-based-shadow option on Linux
Alexey Samsonov [Tue, 22 Jan 2013 10:45:20 +0000 (10:45 +0000)]
ASan: add output test for -fsanitize-address-zero-based-shadow option on Linux

llvm-svn: 173146

11 years agoADT/SparseMultiSetTest.cpp: Try to appease cygwin-clang on stage2, take two. [-Wsign...
NAKAMURA Takumi [Tue, 22 Jan 2013 10:39:31 +0000 (10:39 +0000)]
ADT/SparseMultiSetTest.cpp: Try to appease cygwin-clang on stage2, take two. [-Wsign-compare]

llvm-svn: 173144

11 years ago[ASan] Remove the declarations of pthread_workqueue_t and pthread_workitem_handle_t...
Alexander Potapenko [Tue, 22 Jan 2013 10:32:06 +0000 (10:32 +0000)]
[ASan] Remove the declarations of pthread_workqueue_t and pthread_workitem_handle_t, which are used no more.
Kudos to Jeremy Huddleston Sequoia <jeremyhu@apple.com>

llvm-svn: 173143

11 years agoASan: use Clang -fsanitize-blacklist flag in unit tests (instead of -mllvm)
Alexey Samsonov [Tue, 22 Jan 2013 10:30:17 +0000 (10:30 +0000)]
ASan: use Clang -fsanitize-blacklist flag in unit tests (instead of -mllvm)

llvm-svn: 173142

11 years agoFix missed out llvm-stress after APFloat change.
Tim Northover [Tue, 22 Jan 2013 10:18:26 +0000 (10:18 +0000)]
Fix missed out llvm-stress after APFloat change.

llvm-svn: 173141

11 years ago[ASan] Fix the path to ASan interface in interface_symbols_linux.c
Alexander Potapenko [Tue, 22 Jan 2013 10:13:37 +0000 (10:13 +0000)]
[ASan] Fix the path to ASan interface in interface_symbols_linux.c

llvm-svn: 173140

11 years agoSwitch to APFloat constructor taking fltSemantics.
Tim Northover [Tue, 22 Jan 2013 09:46:51 +0000 (09:46 +0000)]
Switch to APFloat constructor taking fltSemantics.

This change also makes the serialisation store the required semantics,
fixing an issue where PPC128 was always assumed when re-reading a
128-bit value.

llvm-svn: 173139

11 years agoMake APFloat constructor require explicit semantics.
Tim Northover [Tue, 22 Jan 2013 09:46:31 +0000 (09:46 +0000)]
Make APFloat constructor require explicit semantics.

Previously we tried to infer it from the bit width size, with an added
IsIEEE argument for the PPC/IEEE 128-bit case, which had a default
value. This default value allowed bugs to creep in, where it was
inappropriate.

llvm-svn: 173138

11 years ago[ASan] Fixed darwin-sanitizer-ld.c to match the flags after the switch to the dynamic...
Alexander Potapenko [Tue, 22 Jan 2013 09:27:00 +0000 (09:27 +0000)]
[ASan] Fixed darwin-sanitizer-ld.c to match the flags after the switch to the dynamic runtime.

llvm-svn: 173137

11 years ago[ASan] Moved interface_symbols.c to lit_tests/Linux.
Alexander Potapenko [Tue, 22 Jan 2013 09:22:10 +0000 (09:22 +0000)]
[ASan] Moved interface_symbols.c to lit_tests/Linux.
We already have Darwin-specific version of this test.

llvm-svn: 173136

11 years ago[ASan] Link with the dynamic runtime on OS X
Alexander Potapenko [Tue, 22 Jan 2013 09:16:03 +0000 (09:16 +0000)]
[ASan] Link with the dynamic runtime on OS X
This patch changes the behavior of the -fsanitize=address flag, making it use the dynamic runtime library (libclang_rt.asan_osx_dynamic.dylib) instead of the static one. It also drops the CoreFoundation dependency, since the dynamic runtime doesn't need it.

llvm-svn: 173135

11 years ago[ASan] Use dylib interposition to hook memory allocation in the dynamic runtime.
Alexander Potapenko [Tue, 22 Jan 2013 09:14:54 +0000 (09:14 +0000)]
[ASan] Use dylib interposition to hook memory allocation in the dynamic runtime.
This CL drastically simplifies the way we're hooking the memory allocation routines in ASan on Mac by using dylib interposition to replace the main malloc_zone_* functions. This allows us to avoid replacing the default CFAllocator and drop the CF dependency at all.

Committing this patch will result in the static runtime being broken. A follow-up CL will switch ASan to use the dynamic runtime library.

llvm-svn: 173134

11 years agoASan: simplify build rules for unit tests
Alexey Samsonov [Tue, 22 Jan 2013 07:31:28 +0000 (07:31 +0000)]
ASan: simplify build rules for unit tests

llvm-svn: 173133

11 years agoASan: disable flexible mapping and offset on Android. It doesn't work for dynamic...
Alexey Samsonov [Tue, 22 Jan 2013 07:21:24 +0000 (07:21 +0000)]
ASan: disable flexible mapping and offset on Android. It doesn't work for dynamic ASan runtime there

llvm-svn: 173132

11 years ago[asan] split asan_test.cc even more
Kostya Serebryany [Tue, 22 Jan 2013 07:01:47 +0000 (07:01 +0000)]
[asan] split asan_test.cc even more

llvm-svn: 173131

11 years ago[asan] split asan_test.cc more
Kostya Serebryany [Tue, 22 Jan 2013 06:50:42 +0000 (06:50 +0000)]
[asan] split asan_test.cc more

llvm-svn: 173130

11 years ago[asan] split asan_test.cc to speedup parallel build (most important if building with...
Kostya Serebryany [Tue, 22 Jan 2013 06:39:20 +0000 (06:39 +0000)]
[asan] split asan_test.cc to speedup parallel build (most important if building with a debug clang, which takes a couple of minutes on this large file with templates). More splits to follow

llvm-svn: 173129

11 years agoSparseMultiSet.h: Add suggested parentheses.
NAKAMURA Takumi [Tue, 22 Jan 2013 05:41:57 +0000 (05:41 +0000)]
SparseMultiSet.h: Add suggested parentheses.

llvm-svn: 173128

11 years agoADT/SparseMultiSetTest.cpp: Try to appease cygwin-clang (libstdc++-4.5) on stage2...
NAKAMURA Takumi [Tue, 22 Jan 2013 05:30:15 +0000 (05:30 +0000)]
ADT/SparseMultiSetTest.cpp: Try to appease cygwin-clang (libstdc++-4.5) on stage2. [-Wsign-compare]

llvm-svn: 173127

11 years agoThis test is only supposed to test that the objc-arc alias analysis
Michael Gottesman [Tue, 22 Jan 2013 04:41:11 +0000 (04:41 +0000)]
This test is only supposed to test that the objc-arc alias analysis
allows for gvn to perform certain optimizations. Thus the runline should
only contain -objc-arc-aa, not the full -objc-arc.

llvm-svn: 173126

11 years agoit looks like g++ 4.7.2 doesnot like bit fields when the type is a enumeration (Throw...
Shankar Easwaran [Tue, 22 Jan 2013 04:12:03 +0000 (04:12 +0000)]
it looks like g++ 4.7.2 doesnot like bit fields when the type is a enumeration (Throws an error as bit-field with non integral type)

llvm-svn: 173125

11 years agolibclang: Update comment about USEDLIBS in c-*-test/Makefile.
NAKAMURA Takumi [Tue, 22 Jan 2013 04:11:33 +0000 (04:11 +0000)]
libclang: Update comment about USEDLIBS in c-*-test/Makefile.

"Note that 'USEDLIBS' must include all of the core clang libraries when -static is given to linker on cygming."

llvm-svn: 173124

11 years agoErrorOrTest.cpp: Check existence of EXPECT_DEBUG_DEATH. It is not always available.
NAKAMURA Takumi [Tue, 22 Jan 2013 04:02:41 +0000 (04:02 +0000)]
ErrorOrTest.cpp: Check existence of EXPECT_DEBUG_DEATH. It is not always available.

llvm-svn: 173123

11 years agoUse the correct field to copy/dispose a __block variable.
John McCall [Tue, 22 Jan 2013 03:56:22 +0000 (03:56 +0000)]
Use the correct field to copy/dispose a __block variable.

We were previously hard-coding a particular field index.  This was
fine before (because we were obviously guaranteed the presence
of a copy/dispose member) except for (1) alignment padding and
(2) future extensions adding extra members to the header, such
as the extended-layout pointer.

Note that we only introduce the extended-layout pointer in the
presence of structs.  (We also seem to be introducing it even
in the presence of an all-non-object layout, but that's a
different potential issue.)

llvm-svn: 173122

11 years agoclang/test/Index/comment-to-html-xml-conversion.cpp: Mark this as XFAIL:valgrind...
NAKAMURA Takumi [Tue, 22 Jan 2013 03:49:16 +0000 (03:49 +0000)]
clang/test/Index/comment-to-html-xml-conversion.cpp: Mark this as XFAIL:valgrind, for now. Working in progress.

llvm-svn: 173121

11 years ago[MC/Mach-O] Load commands are supposed to 8-byte aligned on 64-bit.
Daniel Dunbar [Tue, 22 Jan 2013 03:42:49 +0000 (03:42 +0000)]
[MC/Mach-O] Load commands are supposed to 8-byte aligned on 64-bit.

llvm-svn: 173120

11 years agolldb.thread is not to be used anymore
Enrico Granata [Tue, 22 Jan 2013 02:32:56 +0000 (02:32 +0000)]
lldb.thread is not to be used anymore

llvm-svn: 173119

11 years agoQuick fix to make LLDB TOT work with Clang TOT.
Sean Callanan [Tue, 22 Jan 2013 02:20:20 +0000 (02:20 +0000)]
Quick fix to make LLDB TOT work with Clang TOT.
Avoids an error about an ambiguous constructor
call.

llvm-svn: 173118

11 years agoAdd {,ELF,MachO}TargetInfo.
Michael J. Spencer [Tue, 22 Jan 2013 02:15:30 +0000 (02:15 +0000)]
Add {,ELF,MachO}TargetInfo.

llvm-svn: 173117

11 years agoclang/test: [CMake] check-clang doesn't require llvm-dis any more.
NAKAMURA Takumi [Tue, 22 Jan 2013 01:52:04 +0000 (01:52 +0000)]
clang/test: [CMake] check-clang doesn't require llvm-dis any more.

llvm-svn: 173116

11 years agoclang/test/CodeGen: Nuke llvm's opt and llvm-dis, and FileCheck-ize two tests. -O1...
NAKAMURA Takumi [Tue, 22 Jan 2013 01:51:59 +0000 (01:51 +0000)]
clang/test/CodeGen: Nuke llvm's opt and llvm-dis, and FileCheck-ize two tests. -O1 is sufficient here.

llvm-svn: 173115

11 years agoclang/test/CodeGen/2006-01-13-StackSave.c: Nuke llvm's opt and llvm-dis, and FileChec...
NAKAMURA Takumi [Tue, 22 Jan 2013 01:51:54 +0000 (01:51 +0000)]
clang/test/CodeGen/2006-01-13-StackSave.c: Nuke llvm's opt and llvm-dis, and FileCheck-ize.

@llvm.stacksave is emitted regardless of "opt -std-compile-opts". We have optimizers' tests in llvm/test/Transforms.

llvm-svn: 173114

11 years agoclang/test/CodeGen/blocks-seq.c: FileCheck-ize.
NAKAMURA Takumi [Tue, 22 Jan 2013 01:51:48 +0000 (01:51 +0000)]
clang/test/CodeGen/blocks-seq.c: FileCheck-ize.

llvm-svn: 173113

11 years ago[CMake] bugpoint-passes should not be built in "all", when LLVM_BUILD_TOOLS is OFF.
NAKAMURA Takumi [Tue, 22 Jan 2013 01:44:00 +0000 (01:44 +0000)]
[CMake] bugpoint-passes should not be built in "all", when LLVM_BUILD_TOOLS is OFF.

llvm-svn: 173112

11 years agoReplacing a "no clue why" comment with the explanation it was demanding
Enrico Granata [Tue, 22 Jan 2013 01:43:59 +0000 (01:43 +0000)]
Replacing a "no clue why" comment with the explanation it was demanding

llvm-svn: 173111

11 years agoRemove target triple from an LSR test.
Andrew Trick [Tue, 22 Jan 2013 00:57:16 +0000 (00:57 +0000)]
Remove target triple from an LSR test.

Manish already fixed this test to work with NoTTI.

llvm-svn: 173110

11 years agoAdd a new method that adds the AttributeSet at the given index. No functional change.
Bill Wendling [Tue, 22 Jan 2013 00:53:12 +0000 (00:53 +0000)]
Add a new method that adds the AttributeSet at the given index. No functional change.

llvm-svn: 173109

11 years agoAdd the attributes that are passed in instead of the ones we're merging into.
Bill Wendling [Tue, 22 Jan 2013 00:41:33 +0000 (00:41 +0000)]
Add the attributes that are passed in instead of the ones we're merging into.

llvm-svn: 173108

11 years agoClear up the documentation for the "container-regs" and "invalidate-regs" key/value...
Greg Clayton [Mon, 21 Jan 2013 23:54:42 +0000 (23:54 +0000)]
Clear up the documentation for the "container-regs" and "invalidate-regs" key/value pair responses for qRegisterInfo with examples of single and multiple registers for each.

llvm-svn: 173107

11 years agoRemove unused method.
Bill Wendling [Mon, 21 Jan 2013 23:41:50 +0000 (23:41 +0000)]
Remove unused method.

llvm-svn: 173106

11 years agoChanged the register number lists for the qRegisterInfo packet response to be raw...
Greg Clayton [Mon, 21 Jan 2013 23:32:42 +0000 (23:32 +0000)]
Changed the register number lists for the qRegisterInfo packet response to be raw hex to match all other register reading and writing APIs.

llvm-svn: 173105

11 years agoAdded all of the 16 and 8 bit register variants for i386.
Greg Clayton [Mon, 21 Jan 2013 23:25:18 +0000 (23:25 +0000)]
Added all of the 16 and 8 bit register variants for i386.

Modified the ARM register context to invalidate r8 - r14 when the CPSR register is modified.

llvm-svn: 173104

11 years agoFix spelling
Joel Jones [Mon, 21 Jan 2013 23:20:47 +0000 (23:20 +0000)]
Fix spelling

llvm-svn: 173103

11 years agoUpdated the LLDB qRegisterInfo documentation to contain information on the new "inval...
Greg Clayton [Mon, 21 Jan 2013 23:18:28 +0000 (23:18 +0000)]
Updated the LLDB qRegisterInfo documentation to contain information on the new "invalidate-regs" and "container-regs" keys that can be returned in response to a qRegisterInfo packet.

llvm-svn: 173102

11 years agoUse AttributeSet instead of Attribute to verify things.
Bill Wendling [Mon, 21 Jan 2013 23:03:18 +0000 (23:03 +0000)]
Use AttributeSet instead of Attribute to verify things.

llvm-svn: 173101

11 years agoRemove "incorrect" aligning of trailing comments.
Daniel Jasper [Mon, 21 Jan 2013 22:49:20 +0000 (22:49 +0000)]
Remove "incorrect" aligning of trailing comments.

We used to align trailing comments belong to different things.
Before:
void f() { // some function..
}
int a;     // some variable..

After:
void f() { // some function..
}
int a; // some variable..

llvm-svn: 173100

11 years agoHave AttributeSet::getRetAttributes() return an AttributeSet instead of Attribute.
Bill Wendling [Mon, 21 Jan 2013 22:45:00 +0000 (22:45 +0000)]
Have AttributeSet::getRetAttributes() return an AttributeSet instead of Attribute.

This further restricts the use of the Attribute class to the Attribute family of
classes.

llvm-svn: 173099

11 years agoHave AttributeSet::getRetAttributes() return an AttributeSet instead of Attribute.
Bill Wendling [Mon, 21 Jan 2013 22:44:49 +0000 (22:44 +0000)]
Have AttributeSet::getRetAttributes() return an AttributeSet instead of Attribute.

This further restricts the use of the Attribute class to the Attribute family of
classes.

llvm-svn: 173098

11 years agoobjectiveC: don't warn when in -Wselector mode and
Fariborz Jahanian [Mon, 21 Jan 2013 22:32:29 +0000 (22:32 +0000)]
objectiveC: don't warn when in -Wselector mode and
an unimplemented selector is consumed by
"respondsToSelector:". // rdar://12938616

llvm-svn: 173097

11 years ago<rdar://problem/13020634>
Greg Clayton [Mon, 21 Jan 2013 22:17:50 +0000 (22:17 +0000)]
<rdar://problem/13020634>

Fixed the 32, 16, and 8 bit pseudo regs for x86_64 (real reg of "rax" which subvalues "eax", "ax", etc...) to correctly get updated when stepping. Also fixed it so actual registers can specify what other registers must be invalidated when a register is modified. Previously, only pseudo registers could invalidate other registers.

Modified the LLDB qRegisterInfo extension to the GDB remote interface to support specifying the containing registers with the new "container-regs" key whose value is a comma separated list of register numbers. Also added a "invalidate-regs" key whose value is also a comma separated list of register numbers.

Removed the hack GDBRemoteDynamicRegisterInfo::Addx86_64ConvenienceRegisters() function and modified "debugserver" to specify the registers correctly using the new "container-regs" and "invalidate-regs" keys.

llvm-svn: 173096

11 years agoMake AttributeSet::getFnAttributes() return an AttributeSet instead of an Attribute.
Bill Wendling [Mon, 21 Jan 2013 21:57:40 +0000 (21:57 +0000)]
Make AttributeSet::getFnAttributes() return an AttributeSet instead of an Attribute.

This is more code to isolate the use of the Attribute class to that of just
holding one attribute instead of a collection of attributes.

llvm-svn: 173095

11 years agoMake AttributeSet::getFnAttributes() return an AttributeSet instead of an Attribute.
Bill Wendling [Mon, 21 Jan 2013 21:57:28 +0000 (21:57 +0000)]
Make AttributeSet::getFnAttributes() return an AttributeSet instead of an Attribute.

This is more code to isolate the use of the Attribute class to that of just
holding one attribute instead of a collection of attributes.

llvm-svn: 173094

11 years agoTransform (sub 0, (zext bool to A)) to (sext bool to A) and
Paul Redmond [Mon, 21 Jan 2013 21:57:20 +0000 (21:57 +0000)]
Transform (sub 0, (zext bool to A)) to (sext bool to A) and
(sub 0, (sext bool to A)) to (zext bool to A).

Patch by Muhammad Ahmad
Reviewed by Duncan Sands

llvm-svn: 173093

11 years agoDocs for SparseMultiSet
Michael Ilseman [Mon, 21 Jan 2013 21:46:32 +0000 (21:46 +0000)]
Docs for SparseMultiSet

llvm-svn: 173092

11 years agoFix some incorrectly named u10 / lu10 instructions.
Richard Osborne [Mon, 21 Jan 2013 21:12:30 +0000 (21:12 +0000)]
Fix some incorrectly named u10 / lu10 instructions.

llvm-svn: 173090

11 years agoRemove unneeded #include.
Jakub Staszak [Mon, 21 Jan 2013 21:02:47 +0000 (21:02 +0000)]
Remove unneeded #include.

llvm-svn: 173088

11 years agoRemove unused multiclass.
Richard Osborne [Mon, 21 Jan 2013 20:50:54 +0000 (20:50 +0000)]
Remove unused multiclass.

llvm-svn: 173087

11 years agoAdd instruction encodings / disassembly support for u6 / lu6 instructions.
Richard Osborne [Mon, 21 Jan 2013 20:44:17 +0000 (20:44 +0000)]
Add instruction encodings / disassembly support for u6 / lu6 instructions.

llvm-svn: 173086

11 years agoAdd instruction encoding / disassembly support for ru6 / lru6 instructions.
Richard Osborne [Mon, 21 Jan 2013 20:42:16 +0000 (20:42 +0000)]
Add instruction encoding / disassembly support for ru6 / lru6 instructions.

llvm-svn: 173085

11 years agoImplement the ATOMIC_*_LOCK_FREE macros.
Howard Hinnant [Mon, 21 Jan 2013 20:39:41 +0000 (20:39 +0000)]
Implement the ATOMIC_*_LOCK_FREE macros.

llvm-svn: 173084

11 years agoUse correct format for the LDAWCP instruction (u6).
Richard Osborne [Mon, 21 Jan 2013 20:32:54 +0000 (20:32 +0000)]
Use correct format for the LDAWCP instruction (u6).

llvm-svn: 173083

11 years agono functionality changes(split WriterELF into multiple files)
Shankar Easwaran [Mon, 21 Jan 2013 20:09:55 +0000 (20:09 +0000)]
no functionality changes(split WriterELF into multiple files)

llvm-svn: 173082

11 years agoGive ModuleFiles an index, so that we can use indexed vectors rather
Douglas Gregor [Mon, 21 Jan 2013 20:07:12 +0000 (20:07 +0000)]
Give ModuleFiles an index, so that we can use indexed vectors rather
than DenseMaps and SmallPtrSets for module-visitation data. ~2.6%
speedup for modules.

llvm-svn: 173081

11 years agoEliminate Sema::CompareProperties(), which was walking over a pile of
Douglas Gregor [Mon, 21 Jan 2013 19:42:21 +0000 (19:42 +0000)]
Eliminate Sema::CompareProperties(), which was walking over a pile of
lexical declarations looking for properties when we could more
efficiently check for property mismatches at property declaration
time. Good for ~1% of -fsyntax-only time when most of the properties
we're checking against come from an AST file.

llvm-svn: 173079

11 years agoFormatter: Set MatchingParen for [], to match <>, (), {}. No functionality change.
Nico Weber [Mon, 21 Jan 2013 19:35:06 +0000 (19:35 +0000)]
Formatter: Set MatchingParen for [], to match <>, (), {}. No functionality change.

llvm-svn: 173078

11 years agoFormatter: Rename LSquare to Left to make parseSquare() more consistent with the...
Nico Weber [Mon, 21 Jan 2013 19:29:31 +0000 (19:29 +0000)]
Formatter: Rename LSquare to Left to make parseSquare() more consistent with the other paren parsing methods.

llvm-svn: 173077