platform/upstream/llvm.git
11 years agoAvoid unnecessary line breaks in nested ObjC calls.
Daniel Jasper [Fri, 8 Feb 2013 08:22:00 +0000 (08:22 +0000)]
Avoid unnecessary line breaks in nested ObjC calls.

Before:
  [pboard setData:[NSData dataWithBytes:&button
                                 length:sizeof(button)]
          forType:kBookmarkButtonDragType];
After:
  [pboard setData:[NSData dataWithBytes:&button length:sizeof(button)]
          forType:kBookmarkButtonDragType];

llvm-svn: 174701

11 years agoImprove filechecking of volatile test.
Tim Northover [Fri, 8 Feb 2013 08:00:13 +0000 (08:00 +0000)]
Improve filechecking of volatile test.

My previous attempt was extremely deficient, allowing more volatiles
to be introduced and not even checking all of the ones that are
present.

This attempt doesn't try to keep track of the values stored or offsets
within particular objects, just that the correct objects are accessed
in a correctly volatile manner throughout.

llvm-svn: 174700

11 years ago[CMake] set -mmacosx-version-min to 10.7 if compiler-rt is built with -stdlib=libc++
Alexey Samsonov [Fri, 8 Feb 2013 07:39:25 +0000 (07:39 +0000)]
[CMake] set -mmacosx-version-min to 10.7 if compiler-rt is built with -stdlib=libc++

llvm-svn: 174699

11 years agoCMake: Include Clang unit tests in check-clang target in standalone builds.
Jordan Rose [Fri, 8 Feb 2013 07:28:25 +0000 (07:28 +0000)]
CMake: Include Clang unit tests in check-clang target in standalone builds.

Also, remove CLANG_BUILD_TESTS option. It won't have consistent behavior
between standalone and non-standalone builds, so I'm not going to bother
hooking it up for standalone builds. LLVM_BUILD_TESTS will continue to
control unit test inclusion in the "all" target in non-standalone builds.

Finally, fix the default value of CLANG_INCLUDE_TESTS, which was being set
to the boolean value of "LLVM_INCLUDE_TESTS", i.e. OFF, rather than actually
reading the variable ${LLVM_INCLUDE_TESTS}! If you picked up my earlier
commit, YOU WILL HAVE TO MANUALLY SET THIS OPTION BACK ON. My apologies!

Part two of r174691 (allow the unit tests to be built in standalone mode).

llvm-svn: 174698

11 years agoParse the attribute group reference on a function.
Bill Wendling [Fri, 8 Feb 2013 06:32:06 +0000 (06:32 +0000)]
Parse the attribute group reference on a function.

Attribute references are of this form:

  define void @foo() #0 #1 #2 { ... }

Parse them for function attributes. If there's more than one reference, then
they are merged together.

llvm-svn: 174697

11 years agoWhen Mips16 frames grow large, the immediate field may exceed the maximum
Reed Kotler [Fri, 8 Feb 2013 03:57:41 +0000 (03:57 +0000)]
When Mips16 frames grow large, the immediate field may exceed the maximum
allowed size for the instruction. This code uses RegScavenger to fix this.
We sometimes need 2 registers for Mips16 so we must handle things
differently than how register scavenger is normally used.

llvm-svn: 174696

11 years agoAdded the ability to specify a breakpoint using the GDB '*ADDRESS' format:
Greg Clayton [Fri, 8 Feb 2013 02:54:24 +0000 (02:54 +0000)]
Added the ability to specify a breakpoint using the GDB '*ADDRESS' format:

(lldb) b *0x1234

You can still of course just specify an address:

(lldb) b 0x1234

Also now we accept the '&' before function names to indicate to not to skip the function prologue like GDB supports. To see how this works:

(lldb) settings set interpreter.expand-regex-aliases 1
(lldb) b &main
breakpoint set --name 'main' --skip-prologue=0
Breakpoint 1: where = a.out`main at main.c:20, address = 0x0000000100000b60
(lldb) b main
breakpoint set --name 'main'
Breakpoint 2: where = a.out`main + 54 at main.c:21, address = 0x0000000100000b96

llvm-svn: 174695

11 years agoFix test failure by making sure this file isn't identical to any other file
Nick Lewycky [Fri, 8 Feb 2013 02:38:30 +0000 (02:38 +0000)]
Fix test failure by making sure this file isn't identical to any other file
included in the same test. Clang gets confused about whether it's already built
a module for this file, when running on a content-addressible filesystem.

llvm-svn: 174694

11 years ago<rdar://problem/12898191>
Enrico Granata [Fri, 8 Feb 2013 01:55:46 +0000 (01:55 +0000)]
<rdar://problem/12898191>

Added a summary for NSMutableAttributedString
In the process, converted formatters for other NSString-based classes over to C++ code

llvm-svn: 174693

11 years agoRevert "Have InstCombine call SipmlifyCall when handling calls. Test case included."
Andrew Trick [Fri, 8 Feb 2013 01:55:39 +0000 (01:55 +0000)]
Revert "Have InstCombine call SipmlifyCall when handling calls. Test case included."

This reverts commit 3854a5d90fee52af1065edbed34521fff6cdc18d.

This causes a clang unit test to hang: vtable-available-externally.cpp.

llvm-svn: 174692

11 years agoCMake: Optionally allow running the Clang unit tests in standalone builds.
Jordan Rose [Fri, 8 Feb 2013 01:42:37 +0000 (01:42 +0000)]
CMake: Optionally allow running the Clang unit tests in standalone builds.

The reason this is not enabled by default is because there is no way for
Clang to guarantee that the LLVM unit testing infrastruture has been built.
However, if it /has/ been built, there's no reason why the standalone Clang
build can't use it!

This should have no effect on existing builds -- in a combined build the
value of the CLANG_INCLUDE_TESTS option defaults to the LLVM equivalent,
and in a standalone build it defaults to off.

llvm-svn: 174691

11 years agoFix conflict between r174685 and r174645 (rename -fmodule-cache-path <foo> to -fmodul...
Richard Smith [Fri, 8 Feb 2013 01:35:44 +0000 (01:35 +0000)]
Fix conflict between r174685 and r174645 (rename -fmodule-cache-path <foo> to -fmodules-cache-path=<foo>).

llvm-svn: 174690

11 years ago[libclang] Attribute visitation happens out-of-source-order, make sure
Argyrios Kyrtzidis [Fri, 8 Feb 2013 01:12:25 +0000 (01:12 +0000)]
[libclang] Attribute visitation happens out-of-source-order, make sure
we annotate properly when there is an attribute and not skip type specs
if the attribute is after the declaration.

rdar://13129077

llvm-svn: 174689

11 years agoUse the target address space value when mangling names.
Tanya Lattner [Fri, 8 Feb 2013 01:07:32 +0000 (01:07 +0000)]
Use the target address space value when mangling names.

llvm-svn: 174688

11 years ago[readobj] Fix memory leak.
Michael J. Spencer [Fri, 8 Feb 2013 01:05:48 +0000 (01:05 +0000)]
[readobj] Fix memory leak.

llvm-svn: 174687

11 years agoUse ParseFnAttributeValuePairs instead of ParseOptionalFuncAttrs
Bill Wendling [Fri, 8 Feb 2013 00:52:31 +0000 (00:52 +0000)]
Use ParseFnAttributeValuePairs instead of ParseOptionalFuncAttrs

The functionality of ParseOptionalFuncAttrs was there in
ParseFnAttributeValuePairs. So just use that instead.

llvm-svn: 174686

11 years agoFix stack overflow and improve performance when a module contains many
Richard Smith [Fri, 8 Feb 2013 00:37:45 +0000 (00:37 +0000)]
Fix stack overflow and improve performance when a module contains many
overloads of a name by claiming that there are no lookup results for that name
in modules while loading the names from the module. Lookups in deserialization
really don't want to find names which they themselves are in the process of
introducing. This also has the pleasant side-effect of automatically caching
PCH lookups which found no names.

The runtime here is still quadratic in the number of overloads, but the
constant is lower.

llvm-svn: 174685

11 years agoobjective-C modern translator. Generate #line
Fariborz Jahanian [Fri, 8 Feb 2013 00:27:34 +0000 (00:27 +0000)]
objective-C modern translator. Generate #line
info in the translated code under -g only.
// rdar://13138170

llvm-svn: 174684

11 years agoTeach subframework header lookup to suggest modules <rdar://problem/13176200>.
Douglas Gregor [Fri, 8 Feb 2013 00:10:48 +0000 (00:10 +0000)]
Teach subframework header lookup to suggest modules <rdar://problem/13176200>.

llvm-svn: 174683

11 years ago[Object][ELF] Add a way to get the dynamic symbol table section.
Michael J. Spencer [Thu, 7 Feb 2013 23:37:58 +0000 (23:37 +0000)]
[Object][ELF] Add a way to get the dynamic symbol table section.

llvm-svn: 174682

11 years ago[Object][ELF] Add {begin,end}_elf_dynamic_symbols to non-virtually iterate over dynam...
Michael J. Spencer [Thu, 7 Feb 2013 23:37:46 +0000 (23:37 +0000)]
[Object][ELF] Add {begin,end}_elf_dynamic_symbols to non-virtually iterate over dynamic symbols.

llvm-svn: 174681

11 years ago[analyzer] Remove redundant check as per Jordan's feedback.
Anna Zaks [Thu, 7 Feb 2013 23:29:22 +0000 (23:29 +0000)]
[analyzer] Remove redundant check as per Jordan's feedback.

llvm-svn: 174680

11 years ago[analyzer] Fix typo.
Anna Zaks [Thu, 7 Feb 2013 23:29:20 +0000 (23:29 +0000)]
[analyzer] Fix typo.

llvm-svn: 174679

11 years ago[analyzer] Report bugs when freeing memory with offset pointer
Anna Zaks [Thu, 7 Feb 2013 23:05:47 +0000 (23:05 +0000)]
[analyzer] Report bugs when freeing memory with offset pointer

The malloc checker will now catch the case when a previously malloc'ed
region is freed, but the pointer passed to free does not point to the
start of the allocated memory. For example:

int *p1 = malloc(sizeof(int));
p1++;
free(p1); // warn

From the "memory.LeakPtrValChanged enhancement to unix.Malloc" entry
in the list of potential checkers.

A patch by Branden Archer!

llvm-svn: 174678

11 years ago[analyzer] Add pointer escape type param to checkPointerEscape callback
Anna Zaks [Thu, 7 Feb 2013 23:05:43 +0000 (23:05 +0000)]
[analyzer] Add pointer escape type param to checkPointerEscape callback

The checkPointerEscape callback previously did not specify how a
pointer escaped. This change includes an enum which describes the
different ways a pointer may escape. This enum is passed to the
checkPointerEscape callback when a pointer escapes. If the escape
is due to a function call, the call is passed. This changes
previous behavior where the call is passed as NULL if the escape
was due to indirectly invalidating the region the pointer referenced.

A patch by Branden Archer!

llvm-svn: 174677

11 years ago[analyzer] Don't reinitialize static globals more than once along a path
Anna Zaks [Thu, 7 Feb 2013 23:05:37 +0000 (23:05 +0000)]
[analyzer] Don't reinitialize static globals more than once along a path

This patch makes sure that we do not reinitialize static globals when
the function is called more than once along a path. The motivation is
code with initialization patterns that rely on 2 static variables, where
one of them has an initializer while the other does not. Currently, we
reset the static variables with initializers on every visit to the
function along a path.

llvm-svn: 174676

11 years agoHave InstCombine call SipmlifyCall when handling calls. Test case included.
Michael Ilseman [Thu, 7 Feb 2013 23:01:35 +0000 (23:01 +0000)]
Have InstCombine call SipmlifyCall when handling calls. Test case included.

llvm-svn: 174675

11 years agoForm the default -fmodules-cache-path= properly.
Douglas Gregor [Thu, 7 Feb 2013 22:59:12 +0000 (22:59 +0000)]
Form the default -fmodules-cache-path= properly.

llvm-svn: 174674

11 years agoRenaming SBValueList::get() to
Enrico Granata [Thu, 7 Feb 2013 22:57:46 +0000 (22:57 +0000)]
Renaming SBValueList::get() to
opaque_ptr since it returns a void* instead of an usable object.

llvm-svn: 174673

11 years agoobjective-C modern translator. More fixups for
Fariborz Jahanian [Thu, 7 Feb 2013 22:50:40 +0000 (22:50 +0000)]
objective-C modern translator. More fixups for
modern meta-data abi translation. Still wip.
// rdar://13138459

llvm-svn: 174672

11 years agofix 80-col violation and fix the docs.
Nadav Rotem [Thu, 7 Feb 2013 22:34:07 +0000 (22:34 +0000)]
fix 80-col violation and fix the docs.

llvm-svn: 174671

11 years agoCorrect logging for function calls that return SBValueList
Enrico Granata [Thu, 7 Feb 2013 22:22:27 +0000 (22:22 +0000)]
Correct logging for function calls that return SBValueList

llvm-svn: 174670

11 years agoChange the 'result_type' from unsigned to 'uint_fast32_t'. This eliminates truncation...
Marshall Clow [Thu, 7 Feb 2013 22:12:02 +0000 (22:12 +0000)]
Change the 'result_type' from unsigned to 'uint_fast32_t'. This eliminates truncation warnings on Linux

llvm-svn: 174669

11 years agoBe sure to set the data offset to zero if we actually mmap the entire ELF file.
Greg Clayton [Thu, 7 Feb 2013 21:49:54 +0000 (21:49 +0000)]
Be sure to set the data offset to zero if we actually mmap the entire ELF file.

llvm-svn: 174668

11 years ago[lit] Add a display function for lit.Test.TestResult.
Daniel Dunbar [Thu, 7 Feb 2013 21:34:34 +0000 (21:34 +0000)]
[lit] Add a display function for lit.Test.TestResult.

llvm-svn: 174667

11 years ago[mips] Make Filler a class and reduce indentation.
Akira Hatanaka [Thu, 7 Feb 2013 21:32:32 +0000 (21:32 +0000)]
[mips] Make Filler a class and reduce indentation.

llvm-svn: 174666

11 years agoFixing stale pointer problem in ELFObjectFile
Andrew Kaylor [Thu, 7 Feb 2013 21:30:54 +0000 (21:30 +0000)]
Fixing stale pointer problem in ELFObjectFile

llvm-svn: 174665

11 years agoFormatting.
Eric Christopher [Thu, 7 Feb 2013 21:19:56 +0000 (21:19 +0000)]
Formatting.

llvm-svn: 174664

11 years ago"Clean up" line section symbol emission by emitting the section
Eric Christopher [Thu, 7 Feb 2013 21:19:50 +0000 (21:19 +0000)]
"Clean up" line section symbol emission by emitting the section
syms before constructing the compile units so we're not emitting
section references to sections not there already.

llvm-svn: 174663

11 years agoclang-format: Don't put useless space in f( ::g()).
Daniel Jasper [Thu, 7 Feb 2013 21:08:36 +0000 (21:08 +0000)]
clang-format: Don't put useless space in f( ::g()).

llvm-svn: 174662

11 years ago[patch] bug 15055 Add Unistd.h to OProfileWrapper.cpp
Will Schmidt [Thu, 7 Feb 2013 20:43:33 +0000 (20:43 +0000)]
[patch] bug 15055 Add Unistd.h to OProfileWrapper.cpp

Add #include <unistd.h> to OProfileWrapper.cpp.   This provides the declarations for 'read' and 'close' that are otherwise missing, and result in 'error: <foo> was not declared in this scope'.

This matches the issue as reported in bug 15055 "Can no longer compile LLVM with --with-oprofile"

llvm-svn: 174661

11 years agoConstrain PowerPC autovectorization to fix bug 15041.
Bill Schmidt [Thu, 7 Feb 2013 20:33:57 +0000 (20:33 +0000)]
Constrain PowerPC autovectorization to fix bug 15041.

Certain vector operations don't vectorize well with the current
PowerPC implementation.  Element insert/extract performs poorly
without VSX support because Altivec requires going through memory.
SREM, UREM, and VSELECT all produce bad scalar code.

There's a lot of work to do for the cost model before
autovectorization will be tuned well, and this is not an attempt to
address the larger problem.

llvm-svn: 174660

11 years agofix segment ordering of elf segments
Shankar Easwaran [Thu, 7 Feb 2013 20:33:55 +0000 (20:33 +0000)]
fix segment ordering of elf segments

llvm-svn: 174659

11 years agoadd changes for layoutafter/layoutbefore/ingroup/layoutpass and test cases
Shankar Easwaran [Thu, 7 Feb 2013 20:16:12 +0000 (20:16 +0000)]
add changes for layoutafter/layoutbefore/ingroup/layoutpass and test cases

llvm-svn: 174658

11 years ago[mips] Add definition of JALR instruction which has two register operands. Change the
Akira Hatanaka [Thu, 7 Feb 2013 19:48:00 +0000 (19:48 +0000)]
[mips] Add definition of JALR instruction which has two register operands. Change the
original JALR instruction with one register operand to be a pseudo-instruction.

llvm-svn: 174657

11 years agoR600/SI: cleanup VGPR encoding
Tom Stellard [Thu, 7 Feb 2013 19:39:45 +0000 (19:39 +0000)]
R600/SI: cleanup VGPR encoding

Remove all the unused code.

Patch by: Christian König

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 174656

11 years agoR600/SI: Handle VGPR64 destination in copyPhysReg().
Tom Stellard [Thu, 7 Feb 2013 19:39:43 +0000 (19:39 +0000)]
R600/SI: Handle VGPR64 destination in copyPhysReg().

Allows nexuiz to run with radeonsi.

Patch by: Michel Dänzer

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 174655

11 years agoR600/SI: Add pattern for mul.
Tom Stellard [Thu, 7 Feb 2013 19:39:42 +0000 (19:39 +0000)]
R600/SI: Add pattern for mul.

20 more little piglits with radeonsi.

Patch by: Michel Dänzer

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 174654

11 years agoR600/SI: simplify and fix SMRD encoding
Tom Stellard [Thu, 7 Feb 2013 19:39:40 +0000 (19:39 +0000)]
R600/SI: simplify and fix SMRD encoding

The _SGPR variants where wrong.

Patch by: Christian König

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 174653

11 years agoR600/SI: add proper 64bit immediate support v2
Tom Stellard [Thu, 7 Feb 2013 19:39:38 +0000 (19:39 +0000)]
R600/SI: add proper 64bit immediate support v2

v2: rebased on current upstream

Patch by: Christian König

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 174652

11 years agoR600: Add an explicit default processor
Tom Stellard [Thu, 7 Feb 2013 19:39:34 +0000 (19:39 +0000)]
R600: Add an explicit default processor

This is for the case when no processor is passed to the backend.  This
prevents the

'' is not a recognized processor for this target (ignoring processor)

warning from being generated by clang.

llvm-svn: 174651

11 years agoIdentify and simplify idempotent intrinsics. Test case included.
Michael Ilseman [Thu, 7 Feb 2013 19:26:05 +0000 (19:26 +0000)]
Identify and simplify idempotent intrinsics. Test case included.

llvm-svn: 174650

11 years agoAdd missing header from r174648
Douglas Gregor [Thu, 7 Feb 2013 19:15:44 +0000 (19:15 +0000)]
Add missing header from r174648

llvm-svn: 174649

11 years agoRetain all hidden methods in the global method pool, because they may become visible...
Douglas Gregor [Thu, 7 Feb 2013 19:13:24 +0000 (19:13 +0000)]
Retain all hidden methods in the global method pool, because they may become visible <rdar://problem/13172858>.

llvm-svn: 174648

11 years agolibclang: reduce CXString abuse
Dmitri Gribenko [Thu, 7 Feb 2013 19:09:22 +0000 (19:09 +0000)]
libclang: reduce CXString abuse

ContainerUSR is not really a CXString, but it should own the underlying memory
buffer.  Thus, it is better to change the type to std::string.  This will not
introduce extra copying overhead, since the workaround that is being removed
was already making a copy.

llvm-svn: 174647

11 years agoLoop Vectorizer: Refactor Memory Cost Computation
Arnold Schwaighofer [Thu, 7 Feb 2013 19:05:21 +0000 (19:05 +0000)]
Loop Vectorizer: Refactor Memory Cost Computation

We don't want too many classes in a pass and the classes obscure the details. I
was going a little overboard with object modeling here. Replace classes by
generic code that handles both loads and stores.

No functionality change intended.

llvm-svn: 174646

11 years agoRename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency.
Douglas Gregor [Thu, 7 Feb 2013 19:01:24 +0000 (19:01 +0000)]
Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency.

llvm-svn: 174645

11 years agoThread safety analysis: make sure that expressions in attributes are parsed
DeLesley Hutchins [Thu, 7 Feb 2013 19:01:07 +0000 (19:01 +0000)]
Thread safety analysis: make sure that expressions in attributes are parsed
in an unevaluated context.

llvm-svn: 174644

11 years agoFix for combined loop and nullptr convert tests
Edwin Vane [Thu, 7 Feb 2013 18:49:23 +0000 (18:49 +0000)]
Fix for combined loop and nullptr convert tests

The rewriter was previously reading the content buffer from the file itself.
Since we are now keeping the content in memory and writing to the file only
once, the rewriter's buffer (from the file) was not in sync with the
RefactoringTool's buffer. Adding an overrideFileContents call (similar to how
Clang-format handles for this) will resolve this issue.

Author: Jack Yang <jack.yang@intel.com>
Reviewers: gribozavr, klimek
llvm-svn: 174643

11 years agoBelt and suspenders when calling sysconf
Marshall Clow [Thu, 7 Feb 2013 18:48:09 +0000 (18:48 +0000)]
Belt and suspenders when calling sysconf

llvm-svn: 174642

11 years agoADT: Correct APInt::getActiveWords for zero values
Meador Inge [Thu, 7 Feb 2013 18:36:50 +0000 (18:36 +0000)]
ADT: Correct APInt::getActiveWords for zero values

PR15138 was opened because of a segfault in the Bitcode writer.
The actual issue ended up being a bug in APInt where calls to
APInt::getActiveWords returns a bogus value when the APInt value
is 0.  This patch fixes the problem by ensuring that getActiveWords
returns 1 for 0 valued APInts.

llvm-svn: 174641

11 years agoTestcase for r174477.
Chad Rosier [Thu, 7 Feb 2013 18:32:25 +0000 (18:32 +0000)]
Testcase for r174477.

llvm-svn: 174640

11 years ago[Object][ELF] Fix crash on no dynamic section.
Michael J. Spencer [Thu, 7 Feb 2013 18:26:45 +0000 (18:26 +0000)]
[Object][ELF] Fix crash on no dynamic section.

llvm-svn: 174639

11 years ago<rdar://problem/13107151>
Enrico Granata [Thu, 7 Feb 2013 18:23:56 +0000 (18:23 +0000)]
<rdar://problem/13107151>

SBValueList was backed by a ValueObjectList. This caused us to lose track of the additional metadata in the ValueImpl that backs SBValue.
This checkin fixes that by backing SBValueList with ValueListImpl (that essentially wraps a vector<SBValue>).

llvm-svn: 174638

11 years agoAnother libc++ warning suppression on Linux; no functionality change
Marshall Clow [Thu, 7 Feb 2013 17:37:58 +0000 (17:37 +0000)]
Another libc++ warning suppression on Linux; no functionality change

llvm-svn: 174637

11 years agoMore libc++ warning suppression on Linux; no functionality change
Marshall Clow [Thu, 7 Feb 2013 17:20:56 +0000 (17:20 +0000)]
More libc++ warning suppression on Linux; no functionality change

llvm-svn: 174636

11 years agotsan: fix suppress_java logic
Dmitry Vyukov [Thu, 7 Feb 2013 17:12:28 +0000 (17:12 +0000)]
tsan: fix suppress_java logic

llvm-svn: 174635

11 years agoR600/SI: Use proper instructions for array/shadow samplers.
Tom Stellard [Thu, 7 Feb 2013 17:02:14 +0000 (17:02 +0000)]
R600/SI: Use proper instructions for array/shadow samplers.

Patch by: Michel Dänzer

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 174634

11 years agoR600/SI: Make sample intrinsic address parameter type overloaded.
Tom Stellard [Thu, 7 Feb 2013 17:02:13 +0000 (17:02 +0000)]
R600/SI: Make sample intrinsic address parameter type overloaded.

Handle vectors of 1 to 16 integers.

Change the intrinsic names to prevent the wrong one from being selected at
runtime due to the overloading.

Patch By: Michel Dänzer

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 174633

11 years agoR600/SI: Add basic support for more integer vector types.
Tom Stellard [Thu, 7 Feb 2013 17:02:09 +0000 (17:02 +0000)]
R600/SI: Add basic support for more integer vector types.

v1i32, v2i32, v8i32 and v16i32.

Only add VGPR register classes for integer vector types, to avoid attempts
copying from VGPR to SGPR registers, which is not possible.

Patch By: Michel Dänzer

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 174632

11 years agoARM cost model: Add costs for vector selects
Arnold Schwaighofer [Thu, 7 Feb 2013 16:10:15 +0000 (16:10 +0000)]
ARM cost model: Add costs for vector selects

Vector selects are cheap on NEON. They get lowered to a vbsl instruction.

radar://13158753

llvm-svn: 174631

11 years agoEnable overloading of OpenCL events - this is needed for the overloaded OpenCL builti...
Guy Benyei [Thu, 7 Feb 2013 16:05:33 +0000 (16:05 +0000)]
Enable overloading of OpenCL events - this is needed for the overloaded OpenCL builtin functions.

llvm-svn: 174630

11 years ago[ASan] Remove the replace_cfallocator flag, which is used no more.
Alexander Potapenko [Thu, 7 Feb 2013 15:59:37 +0000 (15:59 +0000)]
[ASan] Remove the replace_cfallocator flag, which is used no more.
See https://code.google.com/p/address-sanitizer/issues/detail?id=10 for the context.

llvm-svn: 174629

11 years ago[ASan] Enable alloc_dealloc_mismatch by default on Darwin.
Alexander Potapenko [Thu, 7 Feb 2013 15:55:21 +0000 (15:55 +0000)]
[ASan] Enable alloc_dealloc_mismatch by default on Darwin.
Enable AddressSanitizer.AllocDeallocMismatch tests.

llvm-svn: 174628

11 years agoFileCheckize volatile test
Tim Northover [Thu, 7 Feb 2013 15:39:16 +0000 (15:39 +0000)]
FileCheckize volatile test

llvm-svn: 174627

11 years ago[ASan] Enable the new and delete wrappers on Darwin.
Alexander Potapenko [Thu, 7 Feb 2013 15:33:56 +0000 (15:33 +0000)]
[ASan] Enable the new and delete wrappers on Darwin.
Also fix large_func_test.cc, which got broken when we switched to allocator2: the OOB access was too far from the original allocation, so ASan decided to describe the next one.

llvm-svn: 174626

11 years agoRevert accidental check-in. These changes are probably good, but premature at this...
Howard Hinnant [Thu, 7 Feb 2013 15:31:44 +0000 (15:31 +0000)]
Revert accidental check-in.  These changes are probably good, but premature at this point.

llvm-svn: 174625

11 years agotsan: intercept libc __res_iclose
Dmitry Vyukov [Thu, 7 Feb 2013 15:27:45 +0000 (15:27 +0000)]
tsan: intercept libc __res_iclose
this is required to catch close of file descriptors created in getaddrinfo()

llvm-svn: 174624

11 years agoMichael van der Westhuizen: The attached patch add support for building against libc...
Howard Hinnant [Thu, 7 Feb 2013 15:27:39 +0000 (15:27 +0000)]
Michael van der Westhuizen: The attached patch add support for building against libc++abi and libcxxrt to CMake builds of libc++.

Usage (with the appropriate CC and CXX environment variables) is:
$ cmake -DLIBCXX_CXX_ABI=libcxxabi '-DLIBCXX_LIBCXXABI_INCLUDE_PATHS=/home/michael/libcxxabi/include' ../libcxx
and:
$ cmake -DLIBCXX_CXX_ABI=libcxxrt '-DLIBCXX_LIBCXXRT_INCLUDE_PATHS=/home/michael/libcxxrt/src' ../libcxx

llvm-svn: 174623

11 years agotsan: fix Go build
Dmitry Vyukov [Thu, 7 Feb 2013 15:26:55 +0000 (15:26 +0000)]
tsan: fix Go build

llvm-svn: 174622

11 years agoOnly check for volatile memcpys in test.
Tim Northover [Thu, 7 Feb 2013 15:11:48 +0000 (15:11 +0000)]
Only check for volatile memcpys in test.

AArch64 handles aggFct's return struct slightly differently, leading
to an extra memcpy. This test is fortunately only concerned about
volatile copies, so we can modify the grep text to filter it.

llvm-svn: 174621

11 years agoAdd AArch64 wchar definition to test
Tim Northover [Thu, 7 Feb 2013 15:11:44 +0000 (15:11 +0000)]
Add AArch64 wchar definition to test

This should allow it to pass if the default triple is AArch64

llvm-svn: 174620

11 years agoXFAIL test that's inappropriate for AArch64 ABI
Tim Northover [Thu, 7 Feb 2013 15:11:40 +0000 (15:11 +0000)]
XFAIL test that's inappropriate for AArch64 ABI

Only some ABIs require the "signext" attribute on parameters. On most
platforms, however, it's a useful test so it's best not to limit it to some
random arbitrary platform.

llvm-svn: 174619

11 years agoPermit ABIs where the caller extends the result (test change).
Tim Northover [Thu, 7 Feb 2013 15:11:36 +0000 (15:11 +0000)]
Permit ABIs where the caller extends the result (test change).

This test was written to make sure *something* sane is generated, not
to test any ABI's signedness semantics.

This should allow the test to pass if AArch64 is the default target.

llvm-svn: 174618

11 years ago[sanitizer] always allocate 16-byte aligned chunks of memory
Kostya Serebryany [Thu, 7 Feb 2013 15:04:06 +0000 (15:04 +0000)]
[sanitizer] always allocate 16-byte aligned chunks of memory

llvm-svn: 174617

11 years ago[sanitizer_common] Fix lint warnings.
Alexander Potapenko [Thu, 7 Feb 2013 14:58:04 +0000 (14:58 +0000)]
[sanitizer_common] Fix lint warnings.

llvm-svn: 174616

11 years agoR600/SI: Add pattern for flog2
Michel Danzer [Thu, 7 Feb 2013 14:55:16 +0000 (14:55 +0000)]
R600/SI: Add pattern for flog2

22 more little piglits with radeonsi.

Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 174615

11 years agoFDE::dumpHeader(): Forgot to fix one more formatting, ... take two!
NAKAMURA Takumi [Thu, 7 Feb 2013 14:54:42 +0000 (14:54 +0000)]
FDE::dumpHeader(): Forgot to fix one more formatting, ... take two!

Excuse me, I could not test it locally.

llvm-svn: 174614

11 years agoDocumentation: fix typo: stdard -> stdarg
Dmitri Gribenko [Thu, 7 Feb 2013 14:48:33 +0000 (14:48 +0000)]
Documentation: fix typo: stdard -> stdarg

llvm-svn: 174613

11 years agoDocumentation: add information about builtin includes to FAQ
Dmitri Gribenko [Thu, 7 Feb 2013 14:36:37 +0000 (14:36 +0000)]
Documentation: add information about builtin includes to FAQ

llvm-svn: 174612

11 years agoClean up some warnings for Linux build; No functionality change
Marshall Clow [Thu, 7 Feb 2013 14:22:51 +0000 (14:22 +0000)]
Clean up some warnings for Linux build; No functionality change

llvm-svn: 174611

11 years agoR600: Consolidate sub register indices.
Tom Stellard [Thu, 7 Feb 2013 14:02:37 +0000 (14:02 +0000)]
R600: Consolidate sub register indices.

Use sub0-15 everywhere.

Patch by: Michel Dänzerr

Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
llvm-svn: 174610

11 years agoR600: Add support for SET*_DX10 instructions
Tom Stellard [Thu, 7 Feb 2013 14:02:35 +0000 (14:02 +0000)]
R600: Add support for SET*_DX10 instructions

These instructions compare two floating point values and return an
integer true (-1) or false (0) value.

When compiling code generated by the Mesa GLSL frontend, the SET*_DX10
instructions save us four instructions for most branch decisions that
use floating-point comparisons.

llvm-svn: 174609

11 years agoR600: Add tests for unsupported condition codes.
Tom Stellard [Thu, 7 Feb 2013 14:02:33 +0000 (14:02 +0000)]
R600: Add tests for unsupported condition codes.

All of the le and lt variants are unsupported.

llvm-svn: 174608

11 years agoR600: Fix assembly name for SETGT_INT
Tom Stellard [Thu, 7 Feb 2013 14:02:27 +0000 (14:02 +0000)]
R600: Fix assembly name for SETGT_INT

llvm-svn: 174607

11 years agolibclang: CursorVisitor::VisitBuiltinTypeLoc(): Add OCLSampler. [-Wswitch]
NAKAMURA Takumi [Thu, 7 Feb 2013 12:47:42 +0000 (12:47 +0000)]
libclang: CursorVisitor::VisitBuiltinTypeLoc(): Add OCLSampler. [-Wswitch]

llvm-svn: 174606

11 years agoImplements equalsNode for Decl and Stmt.
Manuel Klimek [Thu, 7 Feb 2013 12:42:10 +0000 (12:42 +0000)]
Implements equalsNode for Decl and Stmt.

This is a powerful tool when doing iterative refined matches,
where another match is started inside the match callback of the first
one; this allows for example to find out whether the node was in
the condition or body of its parent if-statement.

llvm-svn: 174605

11 years ago[ASan] Fix a compilation warning.
Alexander Potapenko [Thu, 7 Feb 2013 12:00:40 +0000 (12:00 +0000)]
[ASan] Fix a compilation warning.

llvm-svn: 174604

11 years ago[ASan] Implement asan_mz_size(), asan_mz_force_lock() and asan_mz_force_unlock()...
Alexander Potapenko [Thu, 7 Feb 2013 11:40:03 +0000 (11:40 +0000)]
[ASan] Implement asan_mz_size(), asan_mz_force_lock() and asan_mz_force_unlock() for allocator2.
Switch to allocator2 on Darwin.

llvm-svn: 174603

11 years agoFDE::dumpHeader(): Forgot to fix one more formatting. It affected bigendian hosts.
NAKAMURA Takumi [Thu, 7 Feb 2013 10:57:42 +0000 (10:57 +0000)]
FDE::dumpHeader(): Forgot to fix one more formatting. It affected bigendian hosts.

llvm-svn: 174602