Rafael Espindola [Wed, 26 Jun 2013 05:40:30 +0000 (05:40 +0000)]
Remove PathV1.h from CompilerInvocation.cpp.
llvm-svn: 184918
Rafael Espindola [Wed, 26 Jun 2013 05:25:44 +0000 (05:25 +0000)]
Fix the build when __APPLE__ is defined.
llvm-svn: 184917
Rafael Espindola [Wed, 26 Jun 2013 05:05:37 +0000 (05:05 +0000)]
Remove sys::GetMainExecutable.
llvm-svn: 184916
Rafael Espindola [Wed, 26 Jun 2013 05:03:40 +0000 (05:03 +0000)]
Use llvm::sys::fs::getMainExecutable.
llvm-svn: 184915
Rafael Espindola [Wed, 26 Jun 2013 05:01:35 +0000 (05:01 +0000)]
Port GetMainExecutable over to PathV2.
I will remove the V1 version as soon as I change clang in the next commit.
llvm-svn: 184914
Rafael Espindola [Wed, 26 Jun 2013 04:32:59 +0000 (04:32 +0000)]
Remove PathV1.h from CompilerInstance.cpp.
llvm-svn: 184913
Rafael Espindola [Wed, 26 Jun 2013 04:26:38 +0000 (04:26 +0000)]
Don't use PathV1.h in ASTUnit.cpp.
llvm-svn: 184912
Rafael Espindola [Wed, 26 Jun 2013 04:23:08 +0000 (04:23 +0000)]
Remove forward declarations of sys::Path.
llvm-svn: 184911
Rafael Espindola [Wed, 26 Jun 2013 04:15:55 +0000 (04:15 +0000)]
Remove PathWithStatus.
llvm-svn: 184910
Rafael Espindola [Wed, 26 Jun 2013 04:12:57 +0000 (04:12 +0000)]
Remove the last use of PathWithStatus.
llvm-svn: 184909
Rafael Espindola [Wed, 26 Jun 2013 04:02:37 +0000 (04:02 +0000)]
Use llvm::sys::fs::unique_file.
llvm-svn: 184908
Rafael Espindola [Wed, 26 Jun 2013 03:52:38 +0000 (03:52 +0000)]
Remove some uses of llvm::sys::Path.
llvm-svn: 184907
Rafael Espindola [Wed, 26 Jun 2013 03:39:10 +0000 (03:39 +0000)]
Remove PathV1.h use from WindowsToolChain.cpp.
llvm-svn: 184906
Nico Weber [Wed, 26 Jun 2013 02:42:46 +0000 (02:42 +0000)]
Fix a comment.
llvm-svn: 184905
Richard Smith [Wed, 26 Jun 2013 02:41:25 +0000 (02:41 +0000)]
Lazily deserialize the "first' friend declaration when deserializing a class
declaration. This PCH a little lazier, and breaks a deserialization cycle that
causes crashes with modules enabled.
llvm-svn: 184904
Faisal Vali [Wed, 26 Jun 2013 02:34:24 +0000 (02:34 +0000)]
Fix PCH bug with member templates of local classes in nontemplate functions.
As noted by Richard in the post:
http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-
20130624/082605.html, the following code should not add an entry
into PendingLocalImplicitInstantiations, since local instantiations
should only occur within the context of other instantiations:
int foo(double y) {
struct Lambda {
template<class T> T operator()(T t) const { return t; };
} lambda;
return lambda(y);
}
Hence the attached code does the following:
1) In MarkFunctionReferenced, check if ActiveInstantiations.size()
is non-zero before adding to PendingLocalImplicitInstantiations.
2) In InstantiateFunctionDefinition, we swap out/in
PendingLocalImplicitInstantiations so that only those
pending local instantiations that are added during the instantiation
of the current function are instantiated recursively.
llvm-svn: 184903
Rafael Espindola [Wed, 26 Jun 2013 02:13:00 +0000 (02:13 +0000)]
Remove PathV1.h usage from ToolChains.cpp.
llvm-svn: 184902
Jason Molenda [Wed, 26 Jun 2013 01:51:03 +0000 (01:51 +0000)]
Remove ifdef LLDB_CONFIGURATION_DEBUG directives around the formatter
cache ivars/methods.
llvm-svn: 184901
Enrico Granata [Wed, 26 Jun 2013 01:03:38 +0000 (01:03 +0000)]
Remove the #define USE_CACHE since the formatters cache has been operational for a while now and has not caused issues that warrant disabling it
Also, print the cache hits statistics if the log is in debugging mode vs. LLDB being a debug build - this should make it easier to gather useful metrics on cache success rate for real users
llvm-svn: 184900
Enrico Granata [Wed, 26 Jun 2013 00:36:27 +0000 (00:36 +0000)]
<rdar://problem/
14266578>
"command source" was not properly setting the stop-on-error option
llvm-svn: 184899
Enrico Granata [Wed, 26 Jun 2013 00:31:21 +0000 (00:31 +0000)]
<rdar://problem/
14243761>
The argument to -w (--category) in type * list is a regular expression
This caused unhappiness with the gnu-libstdc++ category because of the double ++
Now we check for exact textual match as-well-as regexp matching
llvm-svn: 184898
Nick Lewycky [Wed, 26 Jun 2013 00:30:18 +0000 (00:30 +0000)]
dbgs() << Instruction doesn't print a newline on the end any more. Update these
debug statements to add a missing newline. Also canonicalize to '\n' instead of
"\n"; the latter calls a function with a loop the former does not.
llvm-svn: 184897
Nico Weber [Wed, 26 Jun 2013 00:30:14 +0000 (00:30 +0000)]
Run clang-format on lib/Format code after r184894. No other changes.
llvm-svn: 184896
Chandler Carruth [Wed, 26 Jun 2013 00:26:16 +0000 (00:26 +0000)]
Fix a use after free I introduced and that Bill caught in code review
(thanks!) by deferring the free of the filename until we finish writing
the coverage data to that file.
Bill, let me know if you'd prefer a different approach!
llvm-svn: 184895
Nico Weber [Wed, 26 Jun 2013 00:15:19 +0000 (00:15 +0000)]
Formatter: Don't put a space after parameter-naming block comments.
Before: f(a, b, /*doFoo=*/ false);
Now: f(a, b, /*doFoo=*/false);
This style is a lot more common:
$ ack -H '=\*\/\w' lib | wc -l
1281
$ ack -H '=\*\/ \w' lib | wc -l
70
llvm-svn: 184894
Enrico Granata [Tue, 25 Jun 2013 23:43:28 +0000 (23:43 +0000)]
<rdar://problem/
14266411>
The semi-unofficial way of returning a status from a Python command was to return a string (e.g. return "no such variable was found") that LLDB would pick as a clue of an error having happened
This checkin changes that:
- SBCommandReturnObject now exports a SetError() call, which can take an SBError or a plain C-string
- script commands now drop any return value and expect the SBCommandReturnObject ("return object") to be filled in appropriately - if you do nothing, a success will be assumed
If your commands were relying on returning a value and having LLDB pick that up as an error, please change your commands to SetError() through the return object or expect changes in behavior
llvm-svn: 184893
Adrian Prantl [Tue, 25 Jun 2013 23:42:37 +0000 (23:42 +0000)]
s/C++0x/C++11/
llvm-svn: 184892
Jakob Stoklund Olesen [Tue, 25 Jun 2013 23:32:10 +0000 (23:32 +0000)]
Merge isReachable into isBackedge.
Prefer using RPO.lookup() instead of RPO[] which can mutate the map.
llvm-svn: 184891
Nick Lewycky [Tue, 25 Jun 2013 23:22:23 +0000 (23:22 +0000)]
Don't check for triviality on fields of templated records. We can't know the
answer until after instantiation. Fixes PR16061!
llvm-svn: 184890
David Majnemer [Tue, 25 Jun 2013 23:09:30 +0000 (23:09 +0000)]
Implement DR136
Friend declarations that specify a default argument must be a definition
and the only declaration in the translation unit.
llvm-svn: 184889
Nadav Rotem [Tue, 25 Jun 2013 23:04:09 +0000 (23:04 +0000)]
SLPVectorizer: support slp-vectorization of PHINodes between basic blocks
llvm-svn: 184888
Richard Smith [Tue, 25 Jun 2013 22:37:05 +0000 (22:37 +0000)]
Make this test properly test both things it's trying to test.
llvm-svn: 184887
Sean Callanan [Tue, 25 Jun 2013 22:36:17 +0000 (22:36 +0000)]
Fixed a bug in ClangASTSource where we would return
the target of a typedef when asked for a typedef.
llvm-svn: 184886
Richard Smith [Tue, 25 Jun 2013 22:22:42 +0000 (22:22 +0000)]
Missing test update from r184884.
llvm-svn: 184885
Richard Smith [Tue, 25 Jun 2013 22:21:36 +0000 (22:21 +0000)]
PR8302: Check for shadowing a template parameter when declaring a template
template parameter.
llvm-svn: 184884
Matt Beaumont-Gay [Tue, 25 Jun 2013 22:19:15 +0000 (22:19 +0000)]
Don't try to get the layout of an invalid decl in getDeclAlign.
When the decl that we're getting alignment for is a FieldDecl, and the field's
parent record is invalid, skip the actual field alignment calculation (and
return 1-byte alignment in the general case).
Also, assert in in getASTRecordLayout that the decl is valid. This was
inspired by PR16292; see also r184581 and r184751.
llvm-svn: 184883
David Majnemer [Tue, 25 Jun 2013 22:08:55 +0000 (22:08 +0000)]
Implement DR21
A default template-argument shall not be specified in a friend template
declaration.
Interestingly, we properly handled default template arguments on friend
class members but not on just friend classes.
llvm-svn: 184882
Jakob Stoklund Olesen [Tue, 25 Jun 2013 21:57:38 +0000 (21:57 +0000)]
Print block frequencies in decimal form.
This is easier to read than the internal fixed-point representation.
If anybody knows the correct algorithm for converting fixed-point
numbers to base 10, feel free to fix it.
llvm-svn: 184881
Tom Stellard [Tue, 25 Jun 2013 21:22:18 +0000 (21:22 +0000)]
R600: Use new getNamedOperandIdx function generated by TableGen
llvm-svn: 184880
Tom Stellard [Tue, 25 Jun 2013 21:22:09 +0000 (21:22 +0000)]
TableGen: Generate a function for getting operand indices based on their defined names
This patch modifies TableGen to generate a function in
${TARGET}GenInstrInfo.inc called getNamedOperandIdx(), which can be used
to look up indices for operands based on their names.
In order to activate this feature for an instruction, you must set the
UseNamedOperandTable bit.
For example, if you have an instruction like:
def ADD : TargetInstr <(outs GPR:$dst), (ins GPR:$src0, GPR:$src1)>;
You can look up the operand indices using the new function, like this:
Target::getNamedOperandIdx(Target::ADD, Target::OpName::dst) => 0
Target::getNamedOperandIdx(Target::ADD, Target::OpName::src0) => 1
Target::getNamedOperandIdx(Target::ADD, Target::OpName::src1) => 2
The operand names are case sensitive, so $dst and $DST are considered
different operands.
This change is useful for R600 which has instructions with a large number
of operands, many of which model single bit instruction configuration
values. These configuration bits are common across most instructions,
but may have a different operand index depending on the instruction type.
It is useful to have a convenient way to look up the operand indices,
so these bits can be generically set on any instruction.
llvm-svn: 184879
Bill Wendling [Tue, 25 Jun 2013 21:08:40 +0000 (21:08 +0000)]
Don't use 'errno.h' on Apple just yet. This breaks for some of our buildbots.
llvm-svn: 184878
Daniel Malea [Tue, 25 Jun 2013 20:54:24 +0000 (20:54 +0000)]
Fix undefined behaviour in data formatter test -- ensure char* null-terminated
so LLDB does not read off the end of the array.
llvm-svn: 184877
Ed Maste [Tue, 25 Jun 2013 20:50:07 +0000 (20:50 +0000)]
Update version sscanf to match FreeBSD release info
Release strings are of the form 9.1-RELEASE-p3 or 10.0-CURRENT.
llvm-svn: 184876
Richard Smith [Tue, 25 Jun 2013 20:34:17 +0000 (20:34 +0000)]
Fix null pointer dereference if we redeclare an unprototyped function. Patch by
WenHan Gu!
llvm-svn: 184875
Ed Maste [Tue, 25 Jun 2013 19:59:56 +0000 (19:59 +0000)]
Skip dsym tests also on FreeBSD
llvm-svn: 184874
Nico Weber [Tue, 25 Jun 2013 19:25:12 +0000 (19:25 +0000)]
Fix a comment.
llvm-svn: 184873
Arnold Schwaighofer [Tue, 25 Jun 2013 19:14:09 +0000 (19:14 +0000)]
X86 cost model: Vectorizing integer division is a bad idea
radar://
14057959
llvm-svn: 184872
Ed Maste [Tue, 25 Jun 2013 19:11:36 +0000 (19:11 +0000)]
Skip tests that hang on FreeBSD
There's still significant work to do in the FreeBSD port, so no point
in a pr for these yet.
llvm-svn: 184871
Bob Wilson [Tue, 25 Jun 2013 19:09:50 +0000 (19:09 +0000)]
Fix SROA to avoid unnecessary scalar conversions for 1-element vectors.
When a 1-element vector alloca is promoted, a store instruction can often be
rewritten without converting the value to a scalar and using an insertelement
instruction to stuff it into the new alloca. This patch just adds a check
to skip that conversion when it is unnecessary. This turns out to be really
important for some ARM Neon operations where <1 x i64> is used to get around
the fact that i64 is not a legal type.
llvm-svn: 184870
Edwin Vane [Tue, 25 Jun 2013 19:01:18 +0000 (19:01 +0000)]
cpp11-migrate: Really fixing doxygen warning
Last attempt at this fix was bogus.
llvm-svn: 184869
Ed Maste [Tue, 25 Jun 2013 18:58:11 +0000 (18:58 +0000)]
Correct use of __FreeBSD_kernel__
It is defined on recent FreeBSD versions, so must not be mutually
exclusive with an #elif FreeBSD block.
Patch submitted by Robert Millan.
Fixes PR#16447.
llvm-svn: 184867
Manman Ren [Tue, 25 Jun 2013 18:49:55 +0000 (18:49 +0000)]
Remove unused code. No functionality change.
llvm-svn: 184866
Richard Smith [Tue, 25 Jun 2013 18:46:26 +0000 (18:46 +0000)]
More of N3652: don't add an implicit 'const' to 'constexpr' member functions when checking for overloads in C++1y.
llvm-svn: 184865
Bill Wendling [Tue, 25 Jun 2013 18:13:52 +0000 (18:13 +0000)]
The GCDA 402 format won't have a second checksum either.
llvm-svn: 184864
Fariborz Jahanian [Tue, 25 Jun 2013 17:34:50 +0000 (17:34 +0000)]
Objective-C: Warn when IBOutletCollection property
is declared to have 'assign' attribute.
// rdar://
14212998
llvm-svn: 184863
Eli Bendersky [Tue, 25 Jun 2013 17:07:56 +0000 (17:07 +0000)]
Remove misplaced comment
llvm-svn: 184862
Nick Lewycky [Tue, 25 Jun 2013 17:01:21 +0000 (17:01 +0000)]
In tooling, reenable freeing of datastructures in codegen, just as we do for
the frontend. We don't want to respect the -disable-free flag here.
llvm-svn: 184861
Ulrich Weigand [Tue, 25 Jun 2013 16:49:50 +0000 (16:49 +0000)]
[PowerPC] Support @got modifier
Add VK_... values and relocation types necessary to support
the @got family of modifiers. Used by the asm parser only.
llvm-svn: 184860
Howard Hinnant [Tue, 25 Jun 2013 16:08:47 +0000 (16:08 +0000)]
Implement full support for non-pointer pointers in custom allocators for list.
llvm-svn: 184859
Dmitry Vyukov [Tue, 25 Jun 2013 15:36:25 +0000 (15:36 +0000)]
tsan: add missing __attribute__((visibility("default"))) to interface functions
llvm-svn: 184858
Rafael Espindola [Tue, 25 Jun 2013 15:14:22 +0000 (15:14 +0000)]
Use simpler version of llvm::sys::fs::exists.
llvm-svn: 184857
Rafael Espindola [Tue, 25 Jun 2013 15:03:59 +0000 (15:03 +0000)]
Don't use PathV1.h in Tools.cpp.
llvm-svn: 184856
Rafael Espindola [Tue, 25 Jun 2013 14:48:00 +0000 (14:48 +0000)]
Use the simpler version of llvm::sys::fs::exists.
llvm-svn: 184855
Ed Maste [Tue, 25 Jun 2013 14:47:45 +0000 (14:47 +0000)]
Match printf format specifiers and arguments
llvm-svn: 184854
Rafael Espindola [Tue, 25 Jun 2013 14:42:30 +0000 (14:42 +0000)]
Move GetEXESuffix to the one place it is used.
llvm-svn: 184853
Rafael Espindola [Tue, 25 Jun 2013 14:32:45 +0000 (14:32 +0000)]
Remove sys::PathSeparator.
llvm-svn: 184852
Rafael Espindola [Tue, 25 Jun 2013 14:29:51 +0000 (14:29 +0000)]
Use the new llvm::sys::EnvPathSeparator.
llvm-svn: 184851
Ed Maste [Tue, 25 Jun 2013 14:29:15 +0000 (14:29 +0000)]
Update comment after Linux->POSIX rename
llvm-svn: 184850
Sergey Matveev [Tue, 25 Jun 2013 14:05:52 +0000 (14:05 +0000)]
[lsan] Define interceptors more correctly. Also, always clear allocated memory.
llvm-svn: 184849
Aaron Watry [Tue, 25 Jun 2013 13:55:57 +0000 (13:55 +0000)]
R600: Consolidate expansion of v2i32/v4i32 ops for EG/SI
By default, we expand these operations for both EG and SI. Move the
duplicated code into a common space for now. If the targets ever actually
implement these operations as instructions, we can override that in the relevant
target.
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 184848
Aaron Watry [Tue, 25 Jun 2013 13:55:54 +0000 (13:55 +0000)]
R600: Add v2i32 test for vselect
Note: Only adding test for evergreen, not SI yet.
When I attempted to expand vselect for SI, I got the following:
llc: /home/awatry/src/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp:522:
llvm::SDValue llvm::DAGTypeLegalizer::PromoteIntRes_SETCC(llvm::SDNode*):
Assertion `SVT.isVector() == N->getOperand(0).getValueType().isVector() &&
"Vector compare must return a vector result!"' failed.
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 184847
Aaron Watry [Tue, 25 Jun 2013 13:55:52 +0000 (13:55 +0000)]
R600/SI: Expand xor v2i32/v4i32
Add test cases for both vector sizes on SI and also add v2i32 test for EG.
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 184846
Aaron Watry [Tue, 25 Jun 2013 13:55:49 +0000 (13:55 +0000)]
R600: Add v2i32 test for setcc on evergreen
No test/expansion for SI has been added yet. Attempts to expand this
operation for SI resulted in a stacktrace in (IIRC) LegalizeIntegerTypes
which was complaining about vector comparisons being required to return
a vector type.
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 184845
Aaron Watry [Tue, 25 Jun 2013 13:55:46 +0000 (13:55 +0000)]
R600/SI: Expand urem of v2i32/v4i32 for SI
Also add lit test for both cases on SI, and v2i32 for evergreen.
Note: I followed the guidance of the v4i32 EG check... UREM produces really
complex code, so let's just check that the instruction was lowered
successfully.
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 184844
Aaron Watry [Tue, 25 Jun 2013 13:55:43 +0000 (13:55 +0000)]
R600/SI: Expand udiv v[24]i32 for SI and v2i32 for EG
Also add lit test for both cases on SI, and v2i32 for evergreen.
Note: I followed the guidance of the v4i32 EG check... UDIV produces really
complex code, so let's just check that the instruction was lowered
successfully.
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 184843
Aaron Watry [Tue, 25 Jun 2013 13:55:40 +0000 (13:55 +0000)]
R600/SI: Expand ashr of v2i32/v4i32 for SI
Also add lit test for both cases on SI, and v2i32 for evergreen.
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 184842
Aaron Watry [Tue, 25 Jun 2013 13:55:37 +0000 (13:55 +0000)]
R600/SI: Expand srl of v2i32/v4i32 for SI
Also add lit test for both cases on SI, and v2i32 for evergreen.
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 184841
Aaron Watry [Tue, 25 Jun 2013 13:55:32 +0000 (13:55 +0000)]
R600/SI: Expand shl of v2i32/v4i32 for SI
Also add lit test for both cases on SI, and v2i32 for evergreen.
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 184840
Aaron Watry [Tue, 25 Jun 2013 13:55:29 +0000 (13:55 +0000)]
R600/SI: Expand or of v2i32/v4i32 for SI
Also add lit test for both cases on SI, and v2i32 for evergreen.
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 184839
Aaron Watry [Tue, 25 Jun 2013 13:55:26 +0000 (13:55 +0000)]
R600/SI: Expand mul of v2i32/v4i32 for SI
Also add lit test for both cases on SI, and v2i32 for evergreen.
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 184838
Aaron Watry [Tue, 25 Jun 2013 13:55:23 +0000 (13:55 +0000)]
R600/SI: Expand and of v2i32/v4i32 for SI
Also add lit test for both cases on SI, and v2i32 for evergreen.
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 184837
Evgeniy Stepanov [Tue, 25 Jun 2013 13:50:44 +0000 (13:50 +0000)]
[sanitizer] Move log_path to common flag and use it in MSan.
llvm-svn: 184836
Benjamin Kramer [Tue, 25 Jun 2013 13:34:40 +0000 (13:34 +0000)]
BlockFrequency: Bump up the entry frequency a bit.
This is a band-aid to fix the most severe regressions we're seeing from basing
spill decisions on block frequencies, until we have a better solution.
llvm-svn: 184835
Ulrich Weigand [Tue, 25 Jun 2013 13:17:41 +0000 (13:17 +0000)]
[PowerPC] Add extended rotate/shift mnemonics
This adds all missing extended rotate/shift mnemonics to the asm parser.
llvm-svn: 184834
Ulrich Weigand [Tue, 25 Jun 2013 13:17:10 +0000 (13:17 +0000)]
[PowerPC] Add rldcr/rldic instructions
This adds pattern for the rldcr and rldic instructions (the last instruction
from the rotate/shift family that were missing). They are currently used
only by the asm parser.
llvm-svn: 184833
Ulrich Weigand [Tue, 25 Jun 2013 13:16:48 +0000 (13:16 +0000)]
[PowerPC] Add extended subtract mnemonics
This adds support for the extended subtract mnemonics to the asm parser:
subi
subis
subic
subic.
sub
sub.
subc
subc.
llvm-svn: 184832
Justin Holewinski [Tue, 25 Jun 2013 12:22:21 +0000 (12:22 +0000)]
[NVPTX] Default pointer type doesn't make sense for getParamSymbol()
llvm-svn: 184831
Chandler Carruth [Tue, 25 Jun 2013 11:13:47 +0000 (11:13 +0000)]
Fix a couple of PPC predefined macros that I spotted while driving by
this code. These aren't technically standard predefines for the platform
but apparantly lots of folks use them as they show up within LLVM's own
codebase. ;] This may even fix some self host issues w/ the JIT!!!
llvm-svn: 184830
Jason Molenda [Tue, 25 Jun 2013 06:42:09 +0000 (06:42 +0000)]
If debugserver fails to interrogate the inferior process CPU type
for any reason, use debugserver own's cputype as a best guess when
we reply to the debugger's qProcessInfo packet or when initializing
our register tables.
<rdar://problem/
13406879>
llvm-svn: 184829
Jason Molenda [Tue, 25 Jun 2013 06:01:20 +0000 (06:01 +0000)]
Remove some unnecessary uses of nub_break_t in the arm specific
support files for debugserver to fix a build failure for arm. Also
remove some of the code used for software-driven single instruction
stepping; this is slowly being yanked out and these particular bits
overlap with the nub_break_t going away.
llvm-svn: 184828
Nadav Rotem [Tue, 25 Jun 2013 05:30:56 +0000 (05:30 +0000)]
Fix a typo in the code that collected the costs recursively.
llvm-svn: 184827
Rafael Espindola [Tue, 25 Jun 2013 05:28:34 +0000 (05:28 +0000)]
keep only the StringRef version of getFileOrSTDIN.
llvm-svn: 184826
Rafael Espindola [Tue, 25 Jun 2013 04:26:55 +0000 (04:26 +0000)]
Add r184803 back now that the bug in unique_file has been fixed.
Original message:
Use the new PathV2 instead of implementing the logic in clang.
llvm-svn: 184825
Rafael Espindola [Tue, 25 Jun 2013 04:23:46 +0000 (04:23 +0000)]
Don't assume ResultPath is null terminated.
llvm-svn: 184824
Andrew Trick [Tue, 25 Jun 2013 02:48:58 +0000 (02:48 +0000)]
Revert "Temporarily enable MI-Sched on X86."
This reverts commit
98a9b72e8c56dc13a2617de84503a3d78352789c.
llvm-svn: 184823
Tom Stellard [Tue, 25 Jun 2013 02:39:35 +0000 (02:39 +0000)]
R600/SI: Report unaligned memory accesses as legal for > 32-bit types
In reality, some unaligned memory accesses are legal for 32-bit types and
smaller too, but it all depends on the address space. Allowing
unaligned loads/stores for > 32-bit types is mainly to prevent the
legalizer from splitting one load into multiple loads of smaller types.
https://bugs.freedesktop.org/show_bug.cgi?id=65873
llvm-svn: 184822
Tom Stellard [Tue, 25 Jun 2013 02:39:30 +0000 (02:39 +0000)]
R600: Add support for i32 loads from the constant address space on Cayman
Tested-By: Aaron Watry <awatry@gmail.com>
llvm-svn: 184821
Tom Stellard [Tue, 25 Jun 2013 02:39:25 +0000 (02:39 +0000)]
R600/SI: Add support for v4i32 and v4f32 kernel args
Tested-By: Aaron Watry <awatry@gmail.com>
llvm-svn: 184820
Tom Stellard [Tue, 25 Jun 2013 02:39:20 +0000 (02:39 +0000)]
R600: Fix typo in R600Schedule.td
This should only make a difference in programs that use a lot of the
vector ALU instructions like BFI_INT and BIT_ALIGN. There is a slight
improvement in the phatk bitcoin mining kernel with this patch on
Evergreen (vector size == 1):
Before:
1173 Instruction Groups / 9520 dwords
After:
1167 Instruction Groups / 9510 dwords
Reviewed-by: Reviewed-by: Vincent Lejeune<vljn at ovi.com>
llvm-svn: 184819
Rafael Espindola [Tue, 25 Jun 2013 02:35:32 +0000 (02:35 +0000)]
Revert "Use the new PathV2 instead of implementing the logic in clang."
This reverts commit 184803 while I debug the failures on the bots.
llvm-svn: 184818