Joel Jones [Mon, 21 Jan 2013 23:20:47 +0000 (23:20 +0000)]
Fix spelling
llvm-svn: 173103
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
Bill Wendling [Mon, 21 Jan 2013 23:03:18 +0000 (23:03 +0000)]
Use AttributeSet instead of Attribute to verify things.
llvm-svn: 173101
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
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
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
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
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
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
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
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
Michael Ilseman [Mon, 21 Jan 2013 21:46:32 +0000 (21:46 +0000)]
Docs for SparseMultiSet
llvm-svn: 173092
Richard Osborne [Mon, 21 Jan 2013 21:12:30 +0000 (21:12 +0000)]
Fix some incorrectly named u10 / lu10 instructions.
llvm-svn: 173090
Jakub Staszak [Mon, 21 Jan 2013 21:02:47 +0000 (21:02 +0000)]
Remove unneeded #include.
llvm-svn: 173088
Richard Osborne [Mon, 21 Jan 2013 20:50:54 +0000 (20:50 +0000)]
Remove unused multiclass.
llvm-svn: 173087
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
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
Howard Hinnant [Mon, 21 Jan 2013 20:39:41 +0000 (20:39 +0000)]
Implement the ATOMIC_*_LOCK_FREE macros.
llvm-svn: 173084
Richard Osborne [Mon, 21 Jan 2013 20:32:54 +0000 (20:32 +0000)]
Use correct format for the LDAWCP instruction (u6).
llvm-svn: 173083
Shankar Easwaran [Mon, 21 Jan 2013 20:09:55 +0000 (20:09 +0000)]
no functionality changes(split WriterELF into multiple files)
llvm-svn: 173082
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
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
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
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
Enrico Granata [Mon, 21 Jan 2013 19:20:50 +0000 (19:20 +0000)]
<rdar://problem/
12437929>
Providing a special mode of operator for "memory read -f c-str" which actually works in most common cases
Where the old behavior would provide:
(lldb) mem read --format s `foo`
0x100000f5d: NULL
Now we do:
(lldb) mem read --format s `foo`
0x100000f5d: "hello world"
You can also specify a count and that many strings will be showed starting at the initial address:
(lldb) mem read -c 2 -f c-str `foo`
0x100000f1d: "hello world"
0x100000f29: "short"
llvm-svn: 173076
Manuel Klimek [Mon, 21 Jan 2013 19:17:52 +0000 (19:17 +0000)]
Fixes various problems around enum parsing.
Very similar to what we do for record definitions:
- tighten down what is an enum definition, so that we don't mistake a
function for an enum
- allow common idioms around declarations (we'll want to handle that
more centrally in the future)
We now correctly format:
enum X f() {
a();
return 42;
}
llvm-svn: 173075
Chris Lattner [Mon, 21 Jan 2013 19:08:15 +0000 (19:08 +0000)]
r173072 is causing some regressions on big endian hosts, I don't have time to debug it
so revert it for now.
llvm-svn: 173074
Douglas Gregor [Mon, 21 Jan 2013 19:05:22 +0000 (19:05 +0000)]
Eliminate the oddly-named Sema::ComparePropertiesInBaseAndSuper, which
did a redundant traversal of the lexical declarations in the
superclass. Instead, when we declare a new property, look into the
superclass to see whether we're redeclaring the property. Goot for 1%
of -fsyntax-only time on Cocoa.h and a little less than 3% on my
modules test case.
llvm-svn: 173073
Chris Lattner [Mon, 21 Jan 2013 18:48:26 +0000 (18:48 +0000)]
rework the Bitstream reader to actually work a machine word at a time, instead of 32-bits at a time.
This cuts in half the number of virtual methods called to refill that word when compiling on a 64-bit
host, and will make 64-bit read operations faster.
llvm-svn: 173072
Argyrios Kyrtzidis [Mon, 21 Jan 2013 18:45:42 +0000 (18:45 +0000)]
[ASTUnit] Unlike LoadFromCommandLine, LoadFromCompilerInvocation causes a crash if Precompilepreamble
is set to true because there is no FileManager at that point.
Patch by Hurcan Solter!
llvm-svn: 173071
Jordan Rose [Mon, 21 Jan 2013 18:41:05 +0000 (18:41 +0000)]
[analyzer] Fix test for r173067.
Note to self: don't remove comments /after/ updating the line-sensitive
part of a test.
llvm-svn: 173070
Douglas Gregor [Mon, 21 Jan 2013 18:35:55 +0000 (18:35 +0000)]
Replace some unnecessary O(N^2) lookups for properties with
DeclContext lookups. The performance win is negligible in my tests,
but it's the Right Thing To Do (TM).
llvm-svn: 173068
Jordan Rose [Mon, 21 Jan 2013 18:28:30 +0000 (18:28 +0000)]
[analyzer] Show notes inside implicit calls at the last explicit call site.
Before:
struct Wrapper { <-- 2. Calling default constructor for 'NonTrivial'.
NonTrivial m;
};
Wrapper w; <-- 1. Calling implicit default constructor for 'Wrapper'.
After:
struct Wrapper {
NonTrivial m;
};
Wrapper w; <-- 1. Calling implicit default constructor for 'Wrapper'.
^-- 2. Calling default constructor for 'NonTrivial'.
llvm-svn: 173067
Chris Lattner [Mon, 21 Jan 2013 18:28:26 +0000 (18:28 +0000)]
ReadSourceManagerBlock is skipping over records that can contain Blobs. Not passing
in a StringRef to bind to them forces them to be unpacked into the Record as individual
bytes. This is wasteful, but not likely to be measurable in this instance.
llvm-svn: 173066
Chris Lattner [Mon, 21 Jan 2013 18:24:49 +0000 (18:24 +0000)]
Fix a heinous inefficiency introduced in r149918, wherein reading each byte of a
BLOB (i.e., large, performance intensive data) in a bitcode file was switched to
invoking one virtual method call per byte read. Now we do one virtual call per
BLOB.
llvm-svn: 173065
Michael Ilseman [Mon, 21 Jan 2013 18:18:53 +0000 (18:18 +0000)]
Introduce a new data structure, the SparseMultiSet, and changes to the MI scheduler to use it.
A SparseMultiSet adds multiset behavior to SparseSet, while retaining SparseSet's desirable properties. Essentially, SparseMultiSet provides multiset behavior by storing its dense data in doubly linked lists that are inlined into the dense vector. This allows it to provide good data locality as well as vector-like constant-time clear() and fast constant time find(), insert(), and erase(). It also allows SparseMultiSet to have a builtin recycler rather than keeping SparseSet's behavior of always swapping upon removal, which allows it to preserve more iterators. It's often a better alternative to a SparseSet of a growable container or vector-of-vector.
llvm-svn: 173064
Chris Lattner [Mon, 21 Jan 2013 18:18:25 +0000 (18:18 +0000)]
wean Blob handling logic off of banging on NextChar directly. Instead, make
it reason about the current bit position, which is always independent of the
underlying cursors word size.
llvm-svn: 173063
Chris Lattner [Mon, 21 Jan 2013 18:04:19 +0000 (18:04 +0000)]
rename "SkipToWord" to "SkipToFourByteBoundary" since a word is not always 4 bytes.
llvm-svn: 173062
Nadav Rotem [Mon, 21 Jan 2013 17:59:18 +0000 (17:59 +0000)]
Fix a comment. Induction vars dont need to start at zero.
llvm-svn: 173061
Howard Hinnant [Mon, 21 Jan 2013 17:26:55 +0000 (17:26 +0000)]
Donated anonymously: This enables GCC 4.8.0 to build libc++.
llvm-svn: 173060
Douglas Gregor [Mon, 21 Jan 2013 16:52:34 +0000 (16:52 +0000)]
Revert r173056; it breaks one of the CodeGen-with-PCH tests.
llvm-svn: 173058
Douglas Gregor [Mon, 21 Jan 2013 16:47:11 +0000 (16:47 +0000)]
When loading an identifier from an AST file solely for the purpose of
forming the identifier, e.g., as part of a selector or a declaration
name, don't actually deserialize any information about the
identifier. Instead, simply mark it "out-of-date" and we'll load the
the information on demand. 2% speedup on the modules testcase I'm
looking at; should also help PCH.
llvm-svn: 173056
Manuel Klimek [Mon, 21 Jan 2013 16:42:44 +0000 (16:42 +0000)]
Fixes formatting of empty blocks.
We now only put empty blocks into a single line, if all of:
- all tokens of the structural element fit into a single line
- we're not in a control flow statement
Note that we usually don't put record definitions into a single line, as
there's usually at least one more token (the semicolon) after the
closing brace. This doesn't hold when we are in a context where there is
no semicolon, like "enum E {}".
There were some missing tests around joining lines around the corner
cases of the allowed number of columns, so this patch adds some.
llvm-svn: 173055
Douglas Gregor [Mon, 21 Jan 2013 16:16:40 +0000 (16:16 +0000)]
When deserializing a declaration, don't look for redeclarations if its
kind indicates that it can never be redeclared. Good for a 1% speedup,
and redeclaration searching drops off the profile.
llvm-svn: 173054
Tom Stellard [Mon, 21 Jan 2013 15:40:48 +0000 (15:40 +0000)]
R600/SI: Use unnormalized coordinates for sampling with the RECT target.
Patch by: Michel Dänzer
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
llvm-svn: 173053
Tom Stellard [Mon, 21 Jan 2013 15:40:47 +0000 (15:40 +0000)]
R600/SI: Take target parameter for sample intrinsics.
Patch by: Michel Dänzer
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
llvm-svn: 173052
Tom Stellard [Mon, 21 Jan 2013 15:40:46 +0000 (15:40 +0000)]
R600/SI: Derive all sample intrinsics from a single class.
Patch by: Michel Dänzer
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
llvm-svn: 173051
Douglas Gregor [Mon, 21 Jan 2013 15:25:38 +0000 (15:25 +0000)]
Introduce a fast path for the ASTReader's name lookup within a
DeclContext. When the DeclContext is of a kind that can only be
defined once and never updated, we limit the search to the module file
that conatins the lookup table. Provides a 15% speedup in one
modules-heavy source file.
llvm-svn: 173050
Kostya Serebryany [Mon, 21 Jan 2013 15:04:36 +0000 (15:04 +0000)]
[asan] fix linux build
llvm-svn: 173049
Alexander Potapenko [Mon, 21 Jan 2013 14:49:55 +0000 (14:49 +0000)]
[ASan] Move Mac-specific tests to asan_mac_test.cc
llvm-svn: 173048
Daniel Jasper [Mon, 21 Jan 2013 14:39:22 +0000 (14:39 +0000)]
Fix parsing of templated declarations.
Before: template <template <typename T>, typename P > class X;
After: template <template <typename T>, typename P> class X;
More importantly, the token annotations for the second ">" are now computed
correctly.
llvm-svn: 173047
Edwin Vane [Mon, 21 Jan 2013 14:35:54 +0000 (14:35 +0000)]
Removing empty loop-convert directory
llvm-svn: 173046
Manuel Klimek [Mon, 21 Jan 2013 14:32:05 +0000 (14:32 +0000)]
Fixes indent in linkage specification blocks.
We now indent:
extern "C" {
int a;
}
without additional indent inside the extern "C" block.
llvm-svn: 173045
Alexey Samsonov [Mon, 21 Jan 2013 14:31:45 +0000 (14:31 +0000)]
CMake: generalize checking for target availability and add initial support for PowerPC native arch. With this patch, building LLVM on PowerPC native arch produces a working ASan runtime.
llvm-svn: 173044
Daniel Jasper [Mon, 21 Jan 2013 14:18:28 +0000 (14:18 +0000)]
Fix bug discovered by valgrind.
When trying to merge lines, we should not touch lines that are invalid,
as we don't know how long they might be.
llvm-svn: 173043
Manuel Klimek [Mon, 21 Jan 2013 14:16:56 +0000 (14:16 +0000)]
Add regression test.
llvm-svn: 173042
NAKAMURA Takumi [Mon, 21 Jan 2013 14:15:24 +0000 (14:15 +0000)]
AST/VTableBuilder.h: Suppress a warning. [-Wunused-private-field]
llvm-svn: 173041
NAKAMURA Takumi [Mon, 21 Jan 2013 14:06:48 +0000 (14:06 +0000)]
R600/SILowerControlFlow.cpp: Fix a warning. [-Wunused-variable]
llvm-svn: 173040
Manuel Klimek [Mon, 21 Jan 2013 13:58:54 +0000 (13:58 +0000)]
Fixes detection of class template specializations.
Now correctly formats:
template <> class A<int> {} a;
llvm-svn: 173038
Evgeniy Stepanov [Mon, 21 Jan 2013 13:30:08 +0000 (13:30 +0000)]
[sanitizer] Disable scanf interceptor on windows.
llvm-svn: 173037
Chandler Carruth [Mon, 21 Jan 2013 13:04:33 +0000 (13:04 +0000)]
Switch CodeMetrics itself over to use TTI to determine if an instruction
is free. The whole CodeMetrics API should probably be reworked more, but
this is enough to allow deleting the duplicate code there for computing
whether an instruction is free.
All of the passes using this have been updated to pull in TTI and hand
it to the CodeMetrics stuff. Further, a dead CodeMetrics API
(analyzeFunction) is nuked for lack of users.
llvm-svn: 173036
Timur Iskhodzhanov [Mon, 21 Jan 2013 13:02:41 +0000 (13:02 +0000)]
First step towards vftable generation with -cxx-abi microsoft PR13231
llvm-svn: 173035
Chandler Carruth [Mon, 21 Jan 2013 12:14:42 +0000 (12:14 +0000)]
Fix indentation and formatting.
This change brought to by clang-format. =]
llvm-svn: 173034
Chandler Carruth [Mon, 21 Jan 2013 12:09:41 +0000 (12:09 +0000)]
Sink InlineCost.cpp into IPA -- it is now officially an interprocedural
analysis. How cute that it wasn't previously. ;]
Part of this confusion stems from the flattened header file tree. Thanks
to Benjamin for pointing out the goof on IRC, and we're considering
un-flattening the headers, so speak now if that would bug you.
llvm-svn: 173033
Chandler Carruth [Mon, 21 Jan 2013 12:05:16 +0000 (12:05 +0000)]
Move the inline cost analysis's primary cost query to TTI instead of the
old CodeMetrics system. TTI has the specific advantage of being
extensible and customizable by targets to reflect target-specific cost
metrics.
llvm-svn: 173032
Chandler Carruth [Mon, 21 Jan 2013 11:55:09 +0000 (11:55 +0000)]
Now that the inline cost analysis is a pass, we can easily have it
depend on and use other analyses (as long as they're either immutable
passes or CGSCC passes of course -- nothing in the pass manager has been
fixed here). Leverage this to thread TargetTransformInfo down through
the inline cost analysis.
No functionality changed here, this just threads things through.
llvm-svn: 173031
Chandler Carruth [Mon, 21 Jan 2013 11:39:18 +0000 (11:39 +0000)]
Make the inline cost a proper analysis pass. This remains essentially
a dynamic analysis done on each call to the routine. However, now it can
use the standard pass infrastructure to reference other analyses,
instead of a silly setter method. This will become more interesting as
I teach it about more analysis passes.
This updates the two inliner passes to use the inline cost analysis.
Doing so highlights how utterly redundant these two passes are. Either
we should find a cheaper way to do always inlining, or we should merge
the two and just fiddle with the thresholds to get the desired behavior.
I'm leaning increasingly toward the latter as it would also remove the
Inliner sub-class split.
llvm-svn: 173030
Chandler Carruth [Mon, 21 Jan 2013 11:39:16 +0000 (11:39 +0000)]
Formatting and comment fixes to the always inliner.
Formatting fixes brought to you by clang-format.
llvm-svn: 173029
Chandler Carruth [Mon, 21 Jan 2013 11:39:14 +0000 (11:39 +0000)]
Clean up the formatting and doxygen for the simple inliner a bit. No
functionality changed.
llvm-svn: 173028
Chandler Carruth [Mon, 21 Jan 2013 11:39:12 +0000 (11:39 +0000)]
Fix an old-style doxygen comment.
llvm-svn: 173027
Alexey Samsonov [Mon, 21 Jan 2013 11:36:38 +0000 (11:36 +0000)]
Fixup for r173021: build tests with zero-based shadow on Android only, fix condition in checking for shadow gap in asan_mapping.h
llvm-svn: 173026
Evgeniy Stepanov [Mon, 21 Jan 2013 11:32:50 +0000 (11:32 +0000)]
[sanitizer] Define va_copy on win32.
llvm-svn: 173025
Dmitri Gribenko [Mon, 21 Jan 2013 11:25:03 +0000 (11:25 +0000)]
Add a fixit for _Noreturn main,
add tests for fixits removing static and inline from main
llvm-svn: 173024
Kostya Serebryany [Mon, 21 Jan 2013 11:20:49 +0000 (11:20 +0000)]
[tsan] fix thread_name.cc test to work with older versions of libc
llvm-svn: 173023
NAKAMURA Takumi [Mon, 21 Jan 2013 10:51:28 +0000 (10:51 +0000)]
CGDebugInfo.cpp: Fix a warning. [-Wunused-variable]
llvm-svn: 173022
Alexey Samsonov [Mon, 21 Jan 2013 10:51:18 +0000 (10:51 +0000)]
ASan: build unit tests with -fsanitize-address-zero-base-shadow on Linux and Android
llvm-svn: 173021
Evgeniy Stepanov [Mon, 21 Jan 2013 10:33:14 +0000 (10:33 +0000)]
[asan] Move *scanf declarations out of mac-only section.
llvm-svn: 173020
Manuel Klimek [Mon, 21 Jan 2013 10:17:14 +0000 (10:17 +0000)]
Allow for nested name specifiers in record declarations.
Now correctly formats:
class A::B {} n;
llvm-svn: 173019
Chandler Carruth [Mon, 21 Jan 2013 10:08:42 +0000 (10:08 +0000)]
Cleanup the formatting of this header. This removes the namespace indent
and reformats a few constructors using clang-format. Only whitespace
changes here.
llvm-svn: 173018
Manuel Klimek [Mon, 21 Jan 2013 10:07:49 +0000 (10:07 +0000)]
Fix parsing of return statements.
Previously, we would not detect brace initializer lists in return
statements, thus:
return (a)(b) { 1, 2, 3 };
would put the semicolon onto the next line.
llvm-svn: 173017
Alexey Samsonov [Mon, 21 Jan 2013 09:13:10 +0000 (09:13 +0000)]
ASan: build runtime flexible mapping and offset in configure+make build as well
llvm-svn: 173016
Alexey Samsonov [Mon, 21 Jan 2013 09:07:01 +0000 (09:07 +0000)]
ASan: use dynamic lookup when building dynamic ASan runtime on Mac, because shadow mapping and offset are defined in the instrumented modules instead of runtime
llvm-svn: 173015
Alexey Samsonov [Mon, 21 Jan 2013 08:45:02 +0000 (08:45 +0000)]
Port r172856: 'Include ubsan runtime even when building a shared library. We don't require executable to be linked with UBSan.' to Mac
llvm-svn: 173014
Alexey Samsonov [Mon, 21 Jan 2013 08:24:19 +0000 (08:24 +0000)]
ASan: build runtime library with ASAN_FLEXIBLE_MAPPING_AND_OFFSET=1 as shadow mapping/offset are always emitted by the LLVM backend now
llvm-svn: 173013
Michael J. Spencer [Mon, 21 Jan 2013 08:13:04 +0000 (08:13 +0000)]
Revert "[Object] .bss sections have no content. PR15005."
This reverts commit r173007.
llvm-svn: 173012
Alexey Samsonov [Mon, 21 Jan 2013 08:12:20 +0000 (08:12 +0000)]
CMake: add functions creating universal runtime libraries for several architectures on OS X and use them in ASan and UBSan build rules
llvm-svn: 173011
Craig Topper [Mon, 21 Jan 2013 07:25:16 +0000 (07:25 +0000)]
Use <0 checks in place of ==-1 because it results in simpler code.
llvm-svn: 173010
Craig Topper [Mon, 21 Jan 2013 07:19:54 +0000 (07:19 +0000)]
Use MVT instead of EVT in LowerVECTOR_SHUFFLEtoBlend.
llvm-svn: 173009
Craig Topper [Mon, 21 Jan 2013 06:57:59 +0000 (06:57 +0000)]
Remove trailing whitespace.
llvm-svn: 173008
Michael J. Spencer [Mon, 21 Jan 2013 06:46:11 +0000 (06:46 +0000)]
[Object] .bss sections have no content. PR15005.
llvm-svn: 173007
Craig Topper [Mon, 21 Jan 2013 06:21:54 +0000 (06:21 +0000)]
Fix some 80 column violations.
llvm-svn: 173006
Craig Topper [Mon, 21 Jan 2013 06:13:28 +0000 (06:13 +0000)]
Make helper method static.
llvm-svn: 173005
Michael J. Spencer [Mon, 21 Jan 2013 05:39:07 +0000 (05:39 +0000)]
[Support] Make test C++03.
llvm-svn: 173004
David Blaikie [Mon, 21 Jan 2013 04:37:12 +0000 (04:37 +0000)]
PR14472: Preserve qualifiers while unwrapping types for debug info
Looks like r161368 fixed this for one case but not all. This change generalizes
the solution over all the unwrapping cases. Now that preserving the qualifiers
is done independent of the particular type being unwrapped I won't bother
adding test cases for each one but at least demonstrate that this change was
necessary & sufficient to fix the bug.
llvm-svn: 173002
Chandler Carruth [Mon, 21 Jan 2013 02:17:36 +0000 (02:17 +0000)]
Remove the comma from the last enumerator to fix -pedantic warnings.
llvm-svn: 172999
Chandler Carruth [Mon, 21 Jan 2013 01:27:39 +0000 (01:27 +0000)]
Introduce a generic interface for querying an operation's expected
lowered cost.
Currently, this is a direct port of the logic implementing
isInstructionFree in CodeMetrics. The hope is that the interface can be
improved (f.ex. supporting un-formed instruction queries) and the
implementation abstracted so that as we have test cases and target
knowledge we can expose increasingly accurate heuristics to clients.
I'll start switching existing consumers over and kill off the routine in
CodeMetrics in subsequent commits.
llvm-svn: 172998
NAKAMURA Takumi [Mon, 21 Jan 2013 00:30:31 +0000 (00:30 +0000)]
Support/Compiler.h: MSC1600, aka VS2010, is not C++11-ready.
LLVM_HAS_CXX11_TYPETRAITS -- std::is_constructible
LLVM_HAS_CXX11_STDLIB -- std::unique_ptr
llvm-svn: 172997
Benjamin Kramer [Sun, 20 Jan 2013 21:52:27 +0000 (21:52 +0000)]
Disable test that fails due to lack of std::true_type in C++03.
Michael, can this test be ported to C++03?
llvm-svn: 172996
Craig Topper [Sun, 20 Jan 2013 21:50:27 +0000 (21:50 +0000)]
Convert more EVT's to MVT's in the lowering methods.
llvm-svn: 172995
Craig Topper [Sun, 20 Jan 2013 21:34:37 +0000 (21:34 +0000)]
Capitalize lowerTRUNCATE so that it matches the other lower functions in this file despite it not matching coding standards.
llvm-svn: 172994