Tom Stellard [Wed, 23 Jan 2013 21:39:47 +0000 (21:39 +0000)]
R600: Simplify stream outputs intrinsic
Patch by: Vincent Lejeune
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 173296
Ted Kremenek [Wed, 23 Jan 2013 21:29:13 +0000 (21:29 +0000)]
Add a test case for 'analyzer_noreturn' on category methods.
llvm-svn: 173295
Ted Kremenek [Wed, 23 Jan 2013 21:22:14 +0000 (21:22 +0000)]
Always process an index.html file if we have HTML output. Patch by Justin Bogner.
llvm-svn: 173294
Benjamin Kramer [Wed, 23 Jan 2013 21:21:24 +0000 (21:21 +0000)]
ConstantFolding: Tweak r173289, it should evaluate in the intptr type, not the index type.
llvm-svn: 173293
Ted Kremenek [Wed, 23 Jan 2013 21:12:49 +0000 (21:12 +0000)]
Add missing null check. Not sure why my tests passed before.
llvm-svn: 173292
Ted Kremenek [Wed, 23 Jan 2013 21:00:27 +0000 (21:00 +0000)]
Honor attribute 'analyzer_noreturn' on Objective-C methods.
This isn't likely a full solution, but it catches the common cases
and can be refined over time.
Fixes <rdar://problem/
11634353>.
llvm-svn: 173291
Daniel Jasper [Wed, 23 Jan 2013 20:41:06 +0000 (20:41 +0000)]
Add extra indent for nested calls inside if's.
Before:
if (
aaaaaaaaaa(
aaaaaaaaaa)) {}
After:
if (
aaaaaaaaaa(
aaaaaaaaaa)) {}
llvm-svn: 173290
Benjamin Kramer [Wed, 23 Jan 2013 20:41:05 +0000 (20:41 +0000)]
ConstantFolding: Evaluate GEP indices in the index type.
This fixes some edge cases that we would get wrong with uint64_ts.
PR14986.
llvm-svn: 173289
Richard Osborne [Wed, 23 Jan 2013 20:08:11 +0000 (20:08 +0000)]
Add instruction encodings / disassembly support for l6r instructions.
llvm-svn: 173288
Michael J. Spencer [Wed, 23 Jan 2013 20:03:10 +0000 (20:03 +0000)]
Add PassManager.
It owns and manages passes.
llvm-svn: 173287
Dmitri Gribenko [Wed, 23 Jan 2013 20:02:51 +0000 (20:02 +0000)]
Implement -Wvla correctly
GCC implements -Wvla as "warn on every VLA" (this is useful to find every VLA,
for example, if they are forbidden by coding guidelines). Currently Clang
implements -Wvla as "warn on VLA when it is an extension".
The attached patch makes our behavior match GCC. The existing vla extwarn is
moved under -Wvla-extension and is still included into -Wgnu.
This fixes PR5953.
llvm-svn: 173286
Chad Rosier [Wed, 23 Jan 2013 19:32:37 +0000 (19:32 +0000)]
Initialize SSPBufferSize. PR14999. Patch by Vinson Lee.
llvm-svn: 173285
Bill Wendling [Wed, 23 Jan 2013 19:06:01 +0000 (19:06 +0000)]
Remove unused methods and ivars.
llvm-svn: 173284
Douglas Gregor [Wed, 23 Jan 2013 18:53:14 +0000 (18:53 +0000)]
Factor the trait for lookup into the on-based hash table of
identifiers into two parts: the part that involves dealing with the
key (which can be re-used) and the ASTReader-specific part that
creates the IdentifierInfos. While I'm at it, StringRef'ify this code,
which was using pair<const char*, unsigned>. No functionality change.
llvm-svn: 173283
Sean Silva [Wed, 23 Jan 2013 18:28:48 +0000 (18:28 +0000)]
docs: clear up ambiguity
Anybody using clang is a "developer".
llvm-svn: 173282
Argyrios Kyrtzidis [Wed, 23 Jan 2013 18:21:56 +0000 (18:21 +0000)]
[PCH] Temporarily disable the "ambiguous macro" warning that is currently bogus with a PCH
that redefined a macro without undef'ing it first.
Proper reconstruction of the macro info history from modules will properly fix this in subsequent commits.
rdar://
13016031
llvm-svn: 173281
Dmitri Gribenko [Wed, 23 Jan 2013 18:02:28 +0000 (18:02 +0000)]
Documentation: add a note that -cc1 options are not guaranteed to be stable
llvm-svn: 173280
Benjamin Kramer [Wed, 23 Jan 2013 17:52:29 +0000 (17:52 +0000)]
Revert "InstCombine: Clean up weird code that talks about a modulus that's long gone."
This causes crashes during the build of compiler-rt during selfhost. Add a
testcase for coverage.
llvm-svn: 173279
Dmitri Gribenko [Wed, 23 Jan 2013 17:25:27 +0000 (17:25 +0000)]
libclang: change return type of getCursorDecl() to 'const Decl *'
llvm-svn: 173278
Dmitri Gribenko [Wed, 23 Jan 2013 17:21:11 +0000 (17:21 +0000)]
Use 'const Decl *' throughout code completion in Sema
llvm-svn: 173277
Benjamin Kramer [Wed, 23 Jan 2013 17:16:22 +0000 (17:16 +0000)]
InstCombine: Clean up weird code that talks about a modulus that's long gone.
This does the right thing unless the multiplication overflows, but the old code
didn't handle that case either.
llvm-svn: 173276
Eli Bendersky [Wed, 23 Jan 2013 17:12:15 +0000 (17:12 +0000)]
Fix powerpc test failure - forgot to initialize stack slot size for PPCLinuxMCAsmInfo
llvm-svn: 173275
Dmitri Gribenko [Wed, 23 Jan 2013 17:06:56 +0000 (17:06 +0000)]
Add constness for NestedNameSpecifier::Create parameter
llvm-svn: 173274
Daniel Jasper [Wed, 23 Jan 2013 16:58:21 +0000 (16:58 +0000)]
Don't try to align builder-type continuations on assignments.
Before:
int aaaa = aaaaa().aaaaa() // force break
.aaaaa();
After:
int aaaa = aaaaa().aaaaa() // force break
.aaaaa();
The other indent is just wrong and confusing.
llvm-svn: 173273
Dmitri Gribenko [Wed, 23 Jan 2013 16:52:57 +0000 (16:52 +0000)]
Constify some getters in RedeclarableTemplateDecl
llvm-svn: 173272
Eli Bendersky [Wed, 23 Jan 2013 16:22:04 +0000 (16:22 +0000)]
Clean up assignment of CalleeSaveStackSlotSize: get rid of the default and explicitly set this in every target that needs to change it from the default.
llvm-svn: 173270
Dmitri Gribenko [Wed, 23 Jan 2013 15:56:07 +0000 (15:56 +0000)]
Remove uneeded casts
llvm-svn: 173269
Daniel Jasper [Wed, 23 Jan 2013 15:55:19 +0000 (15:55 +0000)]
Don't try to do a hanging ident after assignments.
Before:
bool aaaa =
aaaaaaaaaaa(
aaaaaaaaaaaaaaaaa);
After:
bool aaaa =
aaaaaaaaaaa(
aaaaaaaaaaaaaaaaa);
The other indentation was a nice attempt but doesn't work in many cases.
Not sure what the right long term solution is as the "After: " is still
not nice. We either need to figure out what to do in the cases where it
"doesn't work" or come up with a third solution, e.g. falling back to:
bool aaaa =
aaaaaaaaaaa(
aaaaaaaaaaaaaaaaa);
which should always work and nicely highlight the structure.
llvm-svn: 173268
Benjamin Kramer [Wed, 23 Jan 2013 15:21:44 +0000 (15:21 +0000)]
NVPTX: Stop leaking memory by using a managed constant instead of a new Argument.
This is still an egregious hack since we don't have a nice interface for this
kind of thing but should help the valgrind leak check buildbot to become green.
llvm-svn: 173267
Shankar Easwaran [Wed, 23 Jan 2013 15:11:22 +0000 (15:11 +0000)]
change from using 2 bits to 4 bits, as 2 bits arent enough to hold the enumeration OutputKind
llvm-svn: 173266
Anton Korobeynikov [Wed, 23 Jan 2013 15:03:08 +0000 (15:03 +0000)]
Make sure metarenamer won't rename special stuff (intrinsics and explicitly renamed stuff).
Otherwise this might hide the problems.
llvm-svn: 173265
Manuel Klimek [Wed, 23 Jan 2013 14:37:36 +0000 (14:37 +0000)]
Fix handling of macro definitions.
Now correctly formats:
#define A (1)
llvm-svn: 173264
Evgeniy Stepanov [Wed, 23 Jan 2013 14:22:05 +0000 (14:22 +0000)]
[msan] Allow waitpid while in __msan_init().
This is used in symbolizer init.
llvm-svn: 173263
Manuel Klimek [Wed, 23 Jan 2013 14:08:21 +0000 (14:08 +0000)]
Fixes layouting regression and invalid-read.
Layouting would prevent breaking before + in
a[b + c] = d;
Regression detected by code review.
Also fixes an invalid-read found by the valgrind bot.
llvm-svn: 173262
Kostya Serebryany [Wed, 23 Jan 2013 14:07:17 +0000 (14:07 +0000)]
[sanitizer] increase the minimal mmap size in allocator to 2^16; fix the asan Mac build
llvm-svn: 173261
Kostya Serebryany [Wed, 23 Jan 2013 13:27:43 +0000 (13:27 +0000)]
[asan] initialize kHighMemEnd at startup (instead of at compile time) to simplify further changes for various address space layouts. Fix asan_allocator2 for PowerPC (tested on 44-bit address space)
llvm-svn: 173260
Daniel Jasper [Wed, 23 Jan 2013 12:58:14 +0000 (12:58 +0000)]
Fix the formatting of pointer/reference types in range-based for loops.
Before: for (int & a : Values) {}
After: for (int &a : Values) {}
llvm-svn: 173259
Kostya Serebryany [Wed, 23 Jan 2013 12:54:55 +0000 (12:54 +0000)]
[asan] use ADD instead of OR when applying shadow offset of PowerPC. See gcc.gnu.org/bugzilla/show_bug.cgi?id=55975 for details
llvm-svn: 173258
Daniel Jasper [Wed, 23 Jan 2013 12:27:43 +0000 (12:27 +0000)]
Removing the penalty for breaking after "=".
Having seen more cases, this actually was not a good thing to do in the
first place. We can still improve on what we do now, but breaking after
the "=" is good in many cases.
Before:
aaaaaaaaaaaaa = aa->
aaaaaaaaaaaaaaaaaaaa(
aaaaaaaaaaaaaaaaaaaaaaaa(
aaaaaaaaaaaaaa));
After:
aaaaaaaaaaaaa =
aa->
aaaaaaaaaaaaaaaaaaaa(
aaaaaaaaaaaaaaaaaaaaaaaa(
aaaaaaaaaaaaaa));
llvm-svn: 173257
Daniel Jasper [Wed, 23 Jan 2013 12:10:53 +0000 (12:10 +0000)]
Fix another regression for pointer types.
Before: if (int * a = &b) ...
After: if (int *a = &b) ...
Also changed all the existing tests to test the expressions in question
both in a declaration and in an expression context.
llvm-svn: 173256
Dmitry Vyukov [Wed, 23 Jan 2013 12:08:03 +0000 (12:08 +0000)]
tsan: add stubs for malloc introspection (similar to what we have in asan)
llvm-svn: 173255
Joey Gouly [Wed, 23 Jan 2013 11:56:20 +0000 (11:56 +0000)]
Add a new LangOpt NativeHalfType. This option allows for native half/fp16
operations (as opposed to storage only half/fp16).
Also add some semantic checks for OpenCL half types.
llvm-svn: 173254
Dmitry Vyukov [Wed, 23 Jan 2013 11:52:19 +0000 (11:52 +0000)]
tsan: add missing interceptors
llvm-svn: 173253
Daniel Jasper [Wed, 23 Jan 2013 11:15:14 +0000 (11:15 +0000)]
Fix regression in formatting pointer types.
We will need a more principled solution, but we should not leave this
unfixed until we come up with one.
Before: void f() { int * a; }
After: void f() { int *a; }
llvm-svn: 173252
Kostya Serebryany [Wed, 23 Jan 2013 11:14:21 +0000 (11:14 +0000)]
[asan] simplify the code that poisons global redzones, add some more tests
llvm-svn: 173251
Manuel Klimek [Wed, 23 Jan 2013 11:03:04 +0000 (11:03 +0000)]
Fixes incorrect handling of the declaration context stack.
llvm-svn: 173250
Evgeniy Stepanov [Wed, 23 Jan 2013 10:43:38 +0000 (10:43 +0000)]
[msan] gethostbyname interceptor.
llvm-svn: 173249
Manuel Klimek [Wed, 23 Jan 2013 10:09:28 +0000 (10:09 +0000)]
Fix segfaults in the formatter.
Also: expletive deleted.
llvm-svn: 173247
Daniel Jasper [Wed, 23 Jan 2013 10:08:28 +0000 (10:08 +0000)]
Add option to allow putting all parameters onto the next line.
This only affects styles where BinPackParameters is false.
With AllowAllParametersOnNextLine:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(
aaaaaaaaaa,
aaaaaaaaaa,
aaaaaaaaaa,
aaaaaaaaaaa,
aaaaaaaaaaa);
Without it:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(
aaaaaaaaaa,
aaaaaaaaaa,
aaaaaaaaaa,
aaaaaaaaaaa,
aaaaaaaaaaa);
llvm-svn: 173246
Manuel Klimek [Wed, 23 Jan 2013 09:32:48 +0000 (09:32 +0000)]
Allow us to better guess the context of an unwrapped line.
This gives us the ability to guess better defaults for whether a *
between identifiers is a pointer dereference or binary operator.
Now correctly formats:
void f(a *b);
void f() { f(a * b); }
llvm-svn: 173243
Duncan Sands [Wed, 23 Jan 2013 09:09:50 +0000 (09:09 +0000)]
Initialize the components of this class. Otherwise GCC thinks that Array may be
used uninitialized, since it fails to understand that Array is only used when
SingleValue is not, and outputs a warning. It also seems generally safer given
that the constructor is non-trivial and has plenty of early exits.
llvm-svn: 173242
Bill Wendling [Wed, 23 Jan 2013 08:58:23 +0000 (08:58 +0000)]
Explicitly cast away the const-ness instead of doing it implicitly.
llvm-svn: 173241
NAKAMURA Takumi [Wed, 23 Jan 2013 08:33:13 +0000 (08:33 +0000)]
llvm/unittests: Use OwningPtr to fix --vg-leak.
llvm-svn: 173240
NAKAMURA Takumi [Wed, 23 Jan 2013 08:33:05 +0000 (08:33 +0000)]
IRTests/WaymarkTest.cpp: Fix in --vg-leak.
llvm-svn: 173239
NAKAMURA Takumi [Wed, 23 Jan 2013 08:31:28 +0000 (08:31 +0000)]
IRTests/IRBuilderTest.cpp: GetIntTy: Delete DL at yourself since it is not linked.
llvm-svn: 173238
NAKAMURA Takumi [Wed, 23 Jan 2013 08:30:39 +0000 (08:30 +0000)]
IRTests/IRBuilderTest.cpp: Let GV added to the module.
It fixes --vg-leak.
llvm-svn: 173237
NAKAMURA Takumi [Wed, 23 Jan 2013 08:30:26 +0000 (08:30 +0000)]
IRTests/ConstantsTest.cpp: AsInstructionsTest: Delete each instruction immediately if it is not linked.
llvm-svn: 173236
NAKAMURA Takumi [Wed, 23 Jan 2013 08:30:21 +0000 (08:30 +0000)]
Untabify.
llvm-svn: 173235
NAKAMURA Takumi [Wed, 23 Jan 2013 08:30:15 +0000 (08:30 +0000)]
Whitespace.
llvm-svn: 173234
NAKAMURA Takumi [Wed, 23 Jan 2013 08:30:10 +0000 (08:30 +0000)]
DominatorTreeTest.cpp: Add the file header.
llvm-svn: 173233
Bill Wendling [Wed, 23 Jan 2013 08:25:41 +0000 (08:25 +0000)]
Explicitly cast away the const-ness instead of doing it implicitly.
llvm-svn: 173232
Bill Wendling [Wed, 23 Jan 2013 06:43:53 +0000 (06:43 +0000)]
Add the heuristic to differentiate SSPStrong from SSPRequired.
The requirements of the strong heuristic are:
* A Protector is required for functions which contain an array, regardless of
type or length.
* A Protector is required for functions which contain a structure/union which
contains an array, regardless of type or length. Note, there is no limit to
the depth of nesting.
* A protector is required when the address of a local variable (i.e., stack
based variable) is exposed. (E.g., such as through a local whose address is
taken as part of the RHS of an assignment or a local whose address is taken as
part of a function argument.)
llvm-svn: 173231
Bill Wendling [Wed, 23 Jan 2013 06:41:41 +0000 (06:41 +0000)]
Add the IR attribute 'sspstrong'.
SSPStrong applies a heuristic to insert stack protectors in these situations:
* A Protector is required for functions which contain an array, regardless of
type or length.
* A Protector is required for functions which contain a structure/union which
contains an array, regardless of type or length. Note, there is no limit to
the depth of nesting.
* A protector is required when the address of a local variable (i.e., stack
based variable) is exposed. (E.g., such as through a local whose address is
taken as part of the RHS of an assignment or a local whose address is taken as
part of a function argument.)
This patch implements the SSPString attribute to be equivalent to
SSPRequired. This will change in a subsequent patch.
llvm-svn: 173230
Bill Wendling [Wed, 23 Jan 2013 06:15:10 +0000 (06:15 +0000)]
Remove the last of uses that use the Attribute object as a collection of attributes.
Collections of attributes are handled via the AttributeSet class now. This
finally frees us up to make significant changes to how attributes are structured.
llvm-svn: 173229
Bill Wendling [Wed, 23 Jan 2013 06:14:59 +0000 (06:14 +0000)]
Remove the last of uses that use the Attribute object as a collection of attributes.
Collections of attributes are handled via the AttributeSet class now. This
finally frees us up to make significant changes to how attributes are structured.
llvm-svn: 173228
Nick Lewycky [Wed, 23 Jan 2013 05:08:29 +0000 (05:08 +0000)]
Make __attribute__((nonnull)) use the general expression evaluator to search for
nulls instead of limiting itself to the language-defined "null pointer
constant".
llvm-svn: 173227
Jason Molenda [Wed, 23 Jan 2013 04:39:43 +0000 (04:39 +0000)]
Remove a compile time warning in RNBRemote::HandlePacket_qProcessInfo
for non-x86 builds.
llvm-svn: 173226
Jason Molenda [Wed, 23 Jan 2013 04:38:32 +0000 (04:38 +0000)]
Change the container-regs kv pair in the qRegsiterInfo
reply to be hex encoded, not decimal.
Fix the whitespace in the container-regs/invalidate-regs
documentation, fix one ambiguous hex/decimal number in an
example.
llvm-svn: 173225
Sean Silva [Wed, 23 Jan 2013 03:21:41 +0000 (03:21 +0000)]
docs: Update title of external tutorial.
llvm-svn: 173224
Tom Stellard [Wed, 23 Jan 2013 02:09:06 +0000 (02:09 +0000)]
R600: rework handling of the constants
Remove Cxxx registers, add new special register - "ALU_CONST" and new
operand for each alu src - "sel". ALU_CONST is used to designate that the
new operand contains the value to override src.sel, src.kc_bank, src.chan
for constants in the driver.
Patch by: Vadim Girlin
Vincent Lejeune:
- Use pointers for constants
- Fold CONST_ADDRESS when possible
Tom Stellard:
- Give CONSTANT_BUFFER_0 its own address space
- Use integer types for constant loads
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 173222
Tom Stellard [Wed, 23 Jan 2013 02:09:03 +0000 (02:09 +0000)]
R600: Add a CONST_ADDRESS node to model constant buf read
Patch by: Vincent Lejeune
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 173221
Tom Stellard [Wed, 23 Jan 2013 02:09:01 +0000 (02:09 +0000)]
R600: Factorise VTX_WORD0 and VTX_WORD1 in tblgen def
Patch by: Vincent Lejeune
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 173220
Nadav Rotem [Wed, 23 Jan 2013 01:35:00 +0000 (01:35 +0000)]
Add support for reverse pointer induction variables. These are loops that contain pointers that count backwards.
For example, this is the hot loop in BZIP:
do {
m = *--p;
*p = ( ... );
} while (--n);
llvm-svn: 173219
NAKAMURA Takumi [Wed, 23 Jan 2013 01:25:23 +0000 (01:25 +0000)]
clang/test/Driver/output-file-is-dir.c: This requires shell due to 'cd'.
llvm-svn: 173218
Michael J. Spencer [Wed, 23 Jan 2013 01:18:43 +0000 (01:18 +0000)]
Move everything over to TargetInfo.
I really would have liked to split this patch up, but it would greatly
complicate the lld-core and lld drivers having to deal with both
{Reader,Writer}Option and TargetInfo.
llvm-svn: 173217
Enrico Granata [Wed, 23 Jan 2013 01:17:27 +0000 (01:17 +0000)]
<rdar://problem/
12711206>
Extending ValueObjectDynamicValue so that it stores a TypeAndOrName instead of a TypeSP.
This change allows us to reflect the notion that a ValueObject can have a dynamic type for which we have no debug information.
Previously, we would coalesce that to the static type of the object, potentially losing relevant information or even getting it wrong.
This fix ensures we can correctly report the class name for Cocoa objects whose types are hidden classes that we know nothing about (e.g. __NSArrayI for immutable arrays).
As a side effect, our --show-types argument to frame variable no longer needs to append custom dynamic type information.
llvm-svn: 173216
Daniel Dunbar [Wed, 23 Jan 2013 01:08:23 +0000 (01:08 +0000)]
[Driver] Don't remove non-regular files that were outputs.
llvm-svn: 173215
Bill Wendling [Wed, 23 Jan 2013 00:45:55 +0000 (00:45 +0000)]
Use the AttributeSet when removing multiple attributes. Use Attribute::AttrKind
when removing one attribute. This further encapsulates the use of the attributes.
llvm-svn: 173214
James Dennett [Wed, 23 Jan 2013 00:45:44 +0000 (00:45 +0000)]
Documentation cleanup: fixing documentation for FrontendAction.
* Fix a typo, s/BeginSourceAction/BeginSourceFile/, so that the documentation
for FrontendAction::BeginSourceFileAction links correctly to BeginSourceFile;
* Add some basic \file documentation for FrontendAction.h;
* More use of "\brief" instead of repeating the name of the entity being
documented;
* Stop using Doxygen-style "///" comments in FrontendAction.cpp, as they were
polluting the documentation for BeginSourceFile;
* Drop incorrect "\see" markup that broke Doxygen's formatting;
* Other minor documentation fixes.
llvm-svn: 173213
Michael J. Spencer [Wed, 23 Jan 2013 00:22:30 +0000 (00:22 +0000)]
[Support][ErrorOr] Don't use nullptr :(
llvm-svn: 173212
Bill Wendling [Wed, 23 Jan 2013 00:21:06 +0000 (00:21 +0000)]
Use the AttributeSet when adding multiple attributes and an Attribute::AttrKind
when adding a single attribute to the function.
llvm-svn: 173211
Bill Wendling [Wed, 23 Jan 2013 00:20:53 +0000 (00:20 +0000)]
Use the AttributeSet when adding multiple attributes and an Attribute::AttrKind
when adding a single attribute to the function.
llvm-svn: 173210
Michael J. Spencer [Wed, 23 Jan 2013 00:18:31 +0000 (00:18 +0000)]
[Support][ErrorOr] Add optimized specialization of ErrorOr<void>.
ErrorOr<void> represents an operation that returns nothing, but can still fail.
It should be used in cases where you need the aditional user data that ErrorOr
provides over error_code.
llvm-svn: 173209
Douglas Gregor [Tue, 22 Jan 2013 23:49:45 +0000 (23:49 +0000)]
Fix compilation on Linux, which defines PATH_MAX in a weird place,
from Saleem Abdulrasool!
llvm-svn: 173208
Richard Osborne [Tue, 22 Jan 2013 22:55:04 +0000 (22:55 +0000)]
Add instruction encodings / disassembly support for u10 / lu10 instructions.
llvm-svn: 173204
Michael J. Spencer [Tue, 22 Jan 2013 22:48:46 +0000 (22:48 +0000)]
[Support][ErrorOr] Make old gcc happy.
Apparently this is how C++98 worked pre-DR. (Thanks Richard).
llvm-svn: 173203
Michael Gottesman [Tue, 22 Jan 2013 21:53:43 +0000 (21:53 +0000)]
Fixed typo.
llvm-svn: 173202
Michael Gottesman [Tue, 22 Jan 2013 21:49:00 +0000 (21:49 +0000)]
[ObjCARC] Refactored out the inner most 2-loops from PerformCodePlacement into the method ConnectTDBUTraversals.
The method PerformCodePlacement was doing too much (i.e. 3x loops, lots of
different checking). This refactoring separates the analysis section of the
method into a separate function while leaving the actual code placement and
analysis preparation in PerformCodePlacement.
*NOTE* Really this part of ObjCARC should be refactored out of the main pass
class into its own seperate class/struct. But, it is not time to make that
change yet though (don't want to make such an invasive change without fixing all
of the bugs first).
llvm-svn: 173201
Michael Liao [Tue, 22 Jan 2013 21:47:38 +0000 (21:47 +0000)]
Fix an issue of pseudo atomic instruction DAG schedule
- Add list of physical registers clobbered in pseudo atomic insts
Physical registers are clobbered when pseudo atomic instructions are
expanded. Add them in clobber list to prevent DAG scheduler to
mis-schedule them after these insns are declared side-effect free.
- Add test case from Michael Kuperstein <michael.m.kuperstein@intel.com>
llvm-svn: 173200
Kevin Enderby [Tue, 22 Jan 2013 21:44:53 +0000 (21:44 +0000)]
Add a warning when there is a macro defintion that has named parameters but
the body does not use them and it appears the body has positional parameters.
This can cause unexpected results as in the added test case. As the darwin
version of gas(1) which only supported positional parameters, happened to
ignore the named parameters. Now that we want to support both styles of
macros we issue a warning in this specific case.
rdar://
12861644
llvm-svn: 173199
Chad Rosier [Tue, 22 Jan 2013 21:39:58 +0000 (21:39 +0000)]
Add a triple, per Ben's suggestion.
llvm-svn: 173198
Akira Hatanaka [Tue, 22 Jan 2013 21:34:25 +0000 (21:34 +0000)]
[mips] Implement MipsRegisterInfo::getRegPressureLimit.
llvm-svn: 173197
Bill Wendling [Tue, 22 Jan 2013 21:15:51 +0000 (21:15 +0000)]
More encapsulation work.
Use the AttributeSet when we're talking about more than one attribute. Add a
function that adds a single attribute. No functionality change intended.
llvm-svn: 173196
Kevin Enderby [Tue, 22 Jan 2013 21:09:20 +0000 (21:09 +0000)]
Have the integrated assembler give an error if $1 is used as an identifier in
an expression. Currently this bug causes the line to be ignored in a
release build and an assert in a debug build.
rdar://
13062484
llvm-svn: 173195
Chad Rosier [Tue, 22 Jan 2013 20:57:10 +0000 (20:57 +0000)]
Second attempt to fix ppc bots.
llvm-svn: 173193
Michael J. Spencer [Tue, 22 Jan 2013 20:49:42 +0000 (20:49 +0000)]
[Core] Move Resolver and SymbolTable over to TargetInfo.
No functionality change.
llvm-svn: 173192
Chad Rosier [Tue, 22 Jan 2013 20:16:41 +0000 (20:16 +0000)]
Add x86 requirement to hopefully fix ppc bots.
llvm-svn: 173190
Akira Hatanaka [Tue, 22 Jan 2013 20:05:56 +0000 (20:05 +0000)]
[mips] Clean up code in MipsTargetLowering::LowerCall. No functional change
intended
llvm-svn: 173189
Adhemerval Zanella [Tue, 22 Jan 2013 20:02:45 +0000 (20:02 +0000)]
PowerPC: fix __builtin_eh_return_data_regno return
llvm-svn: 173188
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