Dmitri Gribenko [Sun, 3 Mar 2013 17:54:36 +0000 (17:54 +0000)]
Add an idea for a cpp11-migrate tool: TR1 migration
Idea by Marshall Clow.
llvm-svn: 176423
David Chisnall [Sun, 3 Mar 2013 17:50:06 +0000 (17:50 +0000)]
Remove unused check from test.
llvm-svn: 176422
Sean Silva [Sun, 3 Mar 2013 17:07:35 +0000 (17:07 +0000)]
[docs] Spelling
llvm-svn: 176421
David Chisnall [Sun, 3 Mar 2013 16:02:42 +0000 (16:02 +0000)]
Improve C11 atomics support:
- Generate atomicrmw operations in most of the cases when it's sensible to do
so.
- Don't crash in several common cases (and hopefully don't crash in more of
them).
- Add some better tests.
We now generate significantly better code for things like:
_Atomic(int) x;
...
x++;
On MIPS, this now generates a 4-instruction ll/sc loop, where previously it
generated about 30 instructions in two nested loops. On x86-64, we generate a
single lock incl, instead of a lock cmpxchgl loop (one instruction instead of
ten).
llvm-svn: 176420
David Chisnall [Sun, 3 Mar 2013 15:36:10 +0000 (15:36 +0000)]
Default to enabling default-synthesized ivars on all platforms
llvm-svn: 176419
Sean Silva [Sun, 3 Mar 2013 15:17:35 +0000 (15:17 +0000)]
[docs] Use vim code-block instead of console.
llvm-svn: 176418
Sean Silva [Sun, 3 Mar 2013 15:15:12 +0000 (15:15 +0000)]
.gitignore: ignore docs/_build
That is where the documentation gets built to.
I'm pretty much clueless about SVN; I would appreciate if someone more
knowledgeable about SVN made the equivalent change.
llvm-svn: 176417
Shankar Easwaran [Sun, 3 Mar 2013 07:37:17 +0000 (07:37 +0000)]
[ELF] rename Writer to ExecutableWriter
llvm-svn: 176416
Shankar Easwaran [Sun, 3 Mar 2013 07:34:56 +0000 (07:34 +0000)]
[ELF][Hexagon] add initial changes to add GOT/PLT
llvm-svn: 176415
Rafael Espindola [Sat, 2 Mar 2013 21:41:48 +0000 (21:41 +0000)]
Process #pragma weak only after we know the linkage of the function or variable
we are looking at.
llvm-svn: 176414
Jim Grosbach [Sat, 2 Mar 2013 20:16:24 +0000 (20:16 +0000)]
ARM: Creating a vector from a lane of another.
The VDUP instruction source register doesn't allow a non-constant lane
index, so make sure we don't construct a ARM::VDUPLANE node asking it to
do so.
rdar://
13328063
http://llvm.org/bugs/show_bug.cgi?id=13963
llvm-svn: 176413
Jim Grosbach [Sat, 2 Mar 2013 20:16:19 +0000 (20:16 +0000)]
Clean up code format a bit.
llvm-svn: 176412
Jim Grosbach [Sat, 2 Mar 2013 20:16:15 +0000 (20:16 +0000)]
Tidy up. Trailing whitespace.
llvm-svn: 176411
Arnold Schwaighofer [Sat, 2 Mar 2013 19:38:33 +0000 (19:38 +0000)]
ARM NEON: Fix v2f32 float intrinsics
Mark them as expand, they are not legal as our backend does not match them.
llvm-svn: 176410
Benjamin Kramer [Sat, 2 Mar 2013 15:52:55 +0000 (15:52 +0000)]
Make gen_my_std.h.py compatible with python 2.5 too.
llvm-svn: 176409
Nuno Lopes [Sat, 2 Mar 2013 11:36:24 +0000 (11:36 +0000)]
recommit r172363 & r171325 (reverted in r172756)
This adds minimalistic support for PHI nodes to llvm.objectsize() evaluation
fingers crossed so that it does break clang boostrap again..
llvm-svn: 176408
Nuno Lopes [Sat, 2 Mar 2013 11:23:34 +0000 (11:23 +0000)]
add getUnderlyingObjectSize()
this is similar to getObjectSize(), but doesnt subtract the offset
tweak the BasicAA code accordingly (per PR14988)
llvm-svn: 176407
Benjamin Kramer [Sat, 2 Mar 2013 09:24:42 +0000 (09:24 +0000)]
Make the UseAuto test case generator compatible with python 2.5.
llvm-svn: 176406
Jason Molenda [Sat, 2 Mar 2013 07:19:32 +0000 (07:19 +0000)]
ProcessMachCore had (until 2013-01-29) some simple checks to find a kernel
in a core file if it didn't start at the beginning of a memory segment.
I added more sophisticated kernel location code to DynamicLoaderDarwinKernel
and removed the simple one in ProcessMachCore. Unfortunately the kernel
DynamicLoader doesn't get a chance to search around in memory unless there's
a hint that this might be a kernel debug session. It was easy ot make the
kernel location code static in DynamicLoaderDarwinKernel and call it from
ProcessMachCore on the start of the session, so that's what I did.
<rdar://problem/
13326647>
llvm-svn: 176405
Peter Collingbourne [Sat, 2 Mar 2013 06:00:16 +0000 (06:00 +0000)]
CommandLineArgumentParser: handle single quotes.
Differential Revision: http://llvm-reviews.chandlerc.com/D482
llvm-svn: 176404
Arnold Schwaighofer [Sat, 2 Mar 2013 04:02:52 +0000 (04:02 +0000)]
X86 cost model: Adjust cost for custom lowered vector multiplies
This matters for example in following matrix multiply:
int **mmult(int rows, int cols, int **m1, int **m2, int **m3) {
int i, j, k, val;
for (i=0; i<rows; i++) {
for (j=0; j<cols; j++) {
val = 0;
for (k=0; k<cols; k++) {
val += m1[i][k] * m2[k][j];
}
m3[i][j] = val;
}
}
return(m3);
}
Taken from the test-suite benchmark Shootout.
We estimate the cost of the multiply to be 2 while we generate 9 instructions
for it and end up being quite a bit slower than the scalar version (48% on my
machine).
Also, properly differentiate between avx1 and avx2. On avx-1 we still split the
vector into 2 128bits and handle the subvector muls like above with 9
instructions.
Only on avx-2 will we have a cost of 9 for v4i64.
I changed the test case in test/Transforms/LoopVectorize/X86/avx1.ll to use an
add instead of a mul because with a mul we now no longer vectorize. I did
verify that the mul would be indeed more expensive when vectorized with 3
kernels:
for (i ...)
r += a[i] * 3;
for (i ...)
m1[i] = m1[i] * 3; // This matches the test case in avx1.ll
and a matrix multiply.
In each case the vectorized version was considerably slower.
radar://
13304919
llvm-svn: 176403
Anna Zaks [Sat, 2 Mar 2013 03:20:52 +0000 (03:20 +0000)]
[analyzer] Simple inline defensive checks suppression
Inlining brought a few "null pointer use" false positives, which occur because
the callee defensively checks if a pointer is NULL, whereas the caller knows
that the pointer cannot be NULL in the context of the given call.
This is a first attempt to silence these warnings by tracking the symbolic value
along the execution path in the BugReporter. The new visitor finds the node
in which the symbol was first constrained to NULL. If the node belongs to
a function on the active stack, the warning is reported, otherwise, it is
suppressed.
There are several areas for follow up work, for example:
- How do we differentiate the cases where the first check is followed by
another one, which does happen on the active stack?
Also, this only silences a fraction of null pointer use warnings. For example, it
does not do anything for the cases where NULL was assigned inside a callee.
llvm-svn: 176402
Fariborz Jahanian [Sat, 2 Mar 2013 02:39:57 +0000 (02:39 +0000)]
Some refactoring in my patch on document
command source fidelity. // rdar://
13066276
llvm-svn: 176401
Andrew Trick [Sat, 2 Mar 2013 01:43:08 +0000 (01:43 +0000)]
Added FIXME for future Hexagon cleanup.
llvm-svn: 176400
Nadav Rotem [Sat, 2 Mar 2013 01:33:49 +0000 (01:33 +0000)]
PR14448 - prevent the loop vectorizer from vectorizing the same loop twice.
The LoopVectorizer often runs multiple times on the same function due to inlining.
When this happens the loop vectorizer often vectorizes the same loops multiple times, increasing code size and adding unneeded branches.
With this patch, the vectorizer during vectorization puts metadata on scalar loops and marks them as 'already vectorized' so that it knows to ignore them when it sees them a second time.
PR14448.
llvm-svn: 176399
Peter Collingbourne [Sat, 2 Mar 2013 01:20:22 +0000 (01:20 +0000)]
LLVM API changes.
llvm-svn: 176398
Peter Collingbourne [Sat, 2 Mar 2013 01:20:18 +0000 (01:20 +0000)]
Modify {Call,Invoke}Inst::addAttribute to take an AttrKind.
llvm-svn: 176397
Jordan Rose [Sat, 2 Mar 2013 01:00:40 +0000 (01:00 +0000)]
CMake: Always include the CheckCXXCompilerFlag in HandleLLVMOptions.cmake.
Previously we relied on it being included by config-ix.cmake.
llvm-svn: 176396
Michael Gottesman [Sat, 2 Mar 2013 00:53:20 +0000 (00:53 +0000)]
Revert "Rewrite a test to count emitted instructions without using -stats"
This reverts commit
aac7922b8fe7ae733d3fe6697e6789fd730315dc. I am reverting the
commit since it broke the phase 1 public buildbot for a few hours.
http://lab.llvm.org:8013/builders/clang-x86_64-darwin11-nobootstrap-RA/builds/2137
llvm-svn: 176394
Jordan Rose [Sat, 2 Mar 2013 00:49:47 +0000 (00:49 +0000)]
CMake: -Wno-nested-anon-types for Clang.
In LLVM, -pedantic is not set unless LLVM_ENABLE_PEDANTIC is set.
However, Clang's CMakeLists.txt unilaterally adds -pedantic to the run
line, so we need to disable -Wnested-anon-types explicitly.
llvm-svn: 176393
Jim Ingham [Sat, 2 Mar 2013 00:26:47 +0000 (00:26 +0000)]
Convert from the C-based LLVM Disassembler shim to the full MC Disassembler API's.
Calculate "can branch" using the MC API's rather than our hand-rolled regex'es.
As extra credit, allow setting the disassembly flavor for x86 based architectures to intel or att.
<rdar://problem/
11319574>
<rdar://problem/9329275>
llvm-svn: 176392
Eli Bendersky [Fri, 1 Mar 2013 23:32:40 +0000 (23:32 +0000)]
Remove duplicate line and move another closer to its actual use
llvm-svn: 176391
Andrew Trick [Fri, 1 Mar 2013 23:31:26 +0000 (23:31 +0000)]
MIsched machine model: tablegen subtarget emitter improvement.
Fix the way resources are counted. I'm taking some time to cleanup the
way MachineScheduler handles in-order machine resources. Eventually
we'll need more PPC/Atom test cases in tree.
llvm-svn: 176390
Jordan Rose [Fri, 1 Mar 2013 23:26:05 +0000 (23:26 +0000)]
[analyzer] Update open source checker build to checker-272.
See http://clang-analyzer.llvm.org/release_notes.html for what's new
in this build.
llvm-svn: 176389
Jordan Rose [Fri, 1 Mar 2013 23:03:17 +0000 (23:03 +0000)]
[analyzer] Special-case bitfields when finding sub-region bindings.
Previously we were assuming that we'd never ask for the sub-region bindings
of a bitfield, since a bitfield cannot have subregions. However,
unification of code paths has made that assumption invalid. While we could
take advantage of this by just checking for the single possible binding,
it's probably better to do the right thing, so that if/when we someday
support unions we'll do the right thing there, too.
This fixes a handful of false positives in analyzing LLVM.
<rdar://problem/
13325522>
llvm-svn: 176388
Fariborz Jahanian [Fri, 1 Mar 2013 22:51:30 +0000 (22:51 +0000)]
comment parsing. Keep the original command format
in AST for source fidelity and use it in diagnostics
to refer to the original format. // rdar://
13066276
llvm-svn: 176387
Argyrios Kyrtzidis [Fri, 1 Mar 2013 22:48:51 +0000 (22:48 +0000)]
In llvm::MemoryBuffer::getFile() remove an unnecessary stat call check.
The sys::fs::is_directory() check is unnecessary because, if the filename is
a directory, the function will fail anyway with the same error code returned.
Remove the check to avoid an unnecessary stat call.
Someone needs to review on windows and see if the check is necessary there or not.
llvm-svn: 176386
Stefanus Du Toit [Fri, 1 Mar 2013 22:20:03 +0000 (22:20 +0000)]
Fix my email address in CREDITS.TXT.
Checking to see if svn notifications also use correct address now.
llvm-svn: 176385
Akira Hatanaka [Fri, 1 Mar 2013 21:52:08 +0000 (21:52 +0000)]
[mips] Fix inefficient code generation.
This patch eliminates the need to emit a constant move instruction when this
pattern is matched:
(select (setgt a, Constant), T, F)
The pattern above effectively turns into this:
(conditional-move (setlt a, Constant + 1), F, T)
llvm-svn: 176384
Stefanus Du Toit [Fri, 1 Mar 2013 21:41:22 +0000 (21:41 +0000)]
Fix typos: [Dd]iagnosic -> [Dd]iagnostic
These all appear in comments or (ironically) diagnostics output.
llvm-svn: 176383
Jean-Luc Duprat [Fri, 1 Mar 2013 21:37:24 +0000 (21:37 +0000)]
Removed extraneous #include "LLVMContextImpl.h" from lib/IR/Module.cpp
llvm-svn: 176382
Eli Bendersky [Fri, 1 Mar 2013 21:34:37 +0000 (21:34 +0000)]
Rewrite a test to count emitted instructions without using -stats
Also removed the comments of "should produce..." because they completely
don't match the actually produced output.
llvm-svn: 176381
Akira Hatanaka [Fri, 1 Mar 2013 21:22:21 +0000 (21:22 +0000)]
Fix indentation.
llvm-svn: 176380
Edwin Vane [Fri, 1 Mar 2013 21:21:37 +0000 (21:21 +0000)]
Avoid parallelism problems generating lit.site.cfgs
extra/test/cpp11-migrate/Makefile was using the same tmp file for generating
lit.site.cfg for two different directories. Parallelism caused conflicts so now
using differently named temp files.
llvm-svn: 176379
Akira Hatanaka [Fri, 1 Mar 2013 21:11:44 +0000 (21:11 +0000)]
Set properties for f128 type.
llvm-svn: 176378
Eli Bendersky [Fri, 1 Mar 2013 20:54:00 +0000 (20:54 +0000)]
Rewrite a test to check actual output rather than intermediate implementation
detail.
The was this test was written, it was relying on an implementation detail
(fixups) and hence was very brittle (relying, among other things, on the
exact ordering of statistics printed by MC).
The test was rewritten to check a more observable output difference. While it
doesn't cover 100% of the things the original test covered, it's a good
practice to write regression tests this way. If we want to check that
internal details and invariants hold, such tests should be expressed as unit
tests.
llvm-svn: 176377
Stefanus Du Toit [Fri, 1 Mar 2013 20:53:43 +0000 (20:53 +0000)]
cpp11-migrate: Reduce the number of parsing passes.
Previously we would check the syntax of the file before we transform
it, but that's redundant since it'll be checked as part of the
transformation. Remove that check completely.
We also had an unconditional syntax check after transforming. This
is only really useful to debug cpp11-migrate, since users will end
up compiling the transformed source anyways, and the transformations
*should* never introduce a failure. Made this an option, accessible
via "-final-syntax-check".
Resolves PR 15380.
llvm-svn: 176376
Jim Ingham [Fri, 1 Mar 2013 20:04:25 +0000 (20:04 +0000)]
Move m_destroy_in_process to Process (from ProcessKDP) since it is generally useful,
and use it to keep from doing the OS Plugin UpdateThreadList while destroying, since
if that does anything that requires the API lock it may deadlock against whoever is
running the Process::Destroy.
<rdar://problem/
13308627>
llvm-svn: 176375
Edwin Vane [Fri, 1 Mar 2013 19:58:58 +0000 (19:58 +0000)]
No need to force-create clang-tools-extra lit.site.cfg
The make (all) target takes care of creating lit configs and auto-generating
tests. The problem with the original 'lit.site.cfg' target is it's not
recursive and doesn't fully create everything necessary for testing
clang-tools-extra.
llvm-svn: 176374
Edwin Vane [Fri, 1 Mar 2013 19:50:52 +0000 (19:50 +0000)]
Fix recursive make in clang-tools-extra
Autoconf make (all) now properly recurses from tools/extra/Makefile into
tools/extra/test/Makefile and tools/extra/test/cpp11-migrate/Makefile. The
'all' target is responsible for creating lit config files and autogenerating
tests. Subsequent 'check-all' targets will properly work.
Re-enabling UseAuto/iterator.cpp test.
General clean-up of clang-tools-extra makefiles; removing dead targets and
removing duplicated pieces of llvm/Makefile.rules.
llvm-svn: 176373
Stefanus Du Toit [Fri, 1 Mar 2013 19:47:09 +0000 (19:47 +0000)]
cpp11-migrate: Factor out duplicate code in UseNullPtr
This moves the actual replacement code into a separate
function. There is still a bit of code duplication to
go from macros to expansion areas, but that code will
need to be fixed anyways to resolve bugs around macro
replacement.
Reviewed by: Tareq Siraj, Edwin Vane
llvm-svn: 176372
Jordan Rose [Fri, 1 Mar 2013 19:45:10 +0000 (19:45 +0000)]
[analyzer] Suppress paths involving a reference whose rvalue is null.
Most map types have an operator[] that inserts a new element if the key
isn't found, then returns a reference to the value slot so that you can
assign into it. However, if the value type is a pointer, it will be
initialized to null. This is usually no problem.
However, if the user /knows/ the map contains a value for a particular key,
they may just use it immediately:
// From ClangSACheckersEmitter.cpp
recordGroupMap[group]->Checkers
In this case the analyzer reports a null dereference on the path where the
key is not in the map, even though the user knows that path is impossible
here. They could silence the warning by adding an assertion, but that means
splitting up the expression and introducing a local variable. (Note that
the analyzer has no way of knowing that recordGroupMap[group] will return
the same reference if called twice in a row!)
We already have logic that says a null dereference has a high chance of
being a false positive if the null came from an inlined function. This
patch simply extends that to references whose rvalues are null as well,
silencing several false positives in LLVM.
<rdar://problem/
13239854>
llvm-svn: 176371
Shankar Easwaran [Fri, 1 Mar 2013 19:33:42 +0000 (19:33 +0000)]
move dynamic linking atoms to Atoms.h
llvm-svn: 176370
Michael Liao [Fri, 1 Mar 2013 19:23:37 +0000 (19:23 +0000)]
Add regression tests (WORKSFORME)
- These tests wont't crash on trunk but would be better to add them so that
they don't break again in the future.
llvm-svn: 176369
Chad Rosier [Fri, 1 Mar 2013 19:12:05 +0000 (19:12 +0000)]
Generate an error message instead of asserting or segfaulting when we can't
handle indirect register inputs.
rdar://
13322011
llvm-svn: 176367
Benjamin Kramer [Fri, 1 Mar 2013 19:07:31 +0000 (19:07 +0000)]
LoopVectorize: Don't hang forever if a PHI only has skipped PHI uses.
Fixes PR15384.
llvm-svn: 176366
Michael Ilseman [Fri, 1 Mar 2013 18:48:54 +0000 (18:48 +0000)]
Cache the result of Function::getIntrinsicID() in a DenseMap attached to the LLVMContext.
This reduces the time actually spent doing string to ID conversion and shows a 10% improvement in compile time for a particularly bad case that involves ARM Neon intrinsics (these have many overloads).
Patch by Jean-Luc Duprat!
llvm-svn: 176365
Michael Liao [Fri, 1 Mar 2013 18:40:30 +0000 (18:40 +0000)]
Fix PR10475
- ISD::SHL/SRL/SRA must have either both scalar or both vector operands
but TLI.getShiftAmountTy() so far only return scalar type. As a
result, backend logic assuming that breaks.
- Rename the original TLI.getShiftAmountTy() to
TLI.getScalarShiftAmountTy() and re-define TLI.getShiftAmountTy() to
return target-specificed scalar type or the same vector type as the
1st operand.
- Fix most TICG logic assuming TLI.getShiftAmountTy() a simple scalar
type.
llvm-svn: 176364
Chad Rosier [Fri, 1 Mar 2013 18:30:38 +0000 (18:30 +0000)]
Add support for using non-pic code for arm and thumb1 when emitting the sjlj
dispatch code. As far as I can tell the thumb2 code is behaving as expected.
I was able to compile and run the associated test case for both arm and thumb1.
rdar://
13066352
llvm-svn: 176363
Daniel Malea [Fri, 1 Mar 2013 18:25:42 +0000 (18:25 +0000)]
Add a test case for static member variables
- expected to fail across the board due to llvm.org/pr15401
Patch by Ashok Thirumurthi!
llvm-svn: 176362
Daniel Jasper [Fri, 1 Mar 2013 18:11:39 +0000 (18:11 +0000)]
Remove whitespace at end of file.
This fixes the rest of llvm.org/PR15062.
llvm-svn: 176361
Matt Kopec [Fri, 1 Mar 2013 17:44:31 +0000 (17:44 +0000)]
Fix string warning I introduced with indirect function support.
llvm-svn: 176360
Christian Konig [Fri, 1 Mar 2013 17:39:05 +0000 (17:39 +0000)]
R600/SI: fix sampler tests after fixing wait insertions
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 176359
Jyotsna Verma [Fri, 1 Mar 2013 17:37:13 +0000 (17:37 +0000)]
Hexagon: Add constant extender support framework.
llvm-svn: 176358
Matt Kopec [Fri, 1 Mar 2013 17:29:16 +0000 (17:29 +0000)]
Update TestCallStdStringFunction to expected fail for gcc and account for multiple breakpoint locations.
Patch from Ashok Thirumurthi.
llvm-svn: 176357
Daniel Jasper [Fri, 1 Mar 2013 17:13:29 +0000 (17:13 +0000)]
Correctly format arrays of pointers and function types.
Before:
void f(Type(*parameter)[10]) {}
int(*func)(void *);
After:
void f(Type (*parameter)[10]) {}
int (*func)(void *);
llvm-svn: 176356
Argyrios Kyrtzidis [Fri, 1 Mar 2013 17:01:31 +0000 (17:01 +0000)]
[PCH] Remove building a SmallPtrSet that is not actually used for anything.
llvm-svn: 176354
Peng Cheng [Fri, 1 Mar 2013 16:49:35 +0000 (16:49 +0000)]
test commit to use consistent comment notation.
llvm-svn: 176353
Daniel Jasper [Fri, 1 Mar 2013 16:48:32 +0000 (16:48 +0000)]
Normal indent for last element of builder-type call.
In builder type call, we indent to the laster function calls.
However, for the last element of such a call, we don't need to do
so, as that normally just wastes space and does not increase
readability.
Before:
aaaaaa->aaaaaa->aaaaaa( // break
aaaaaa);
aaaaaaaaaaaaaaaaaaaaa->
aaaaaaaaaaaaaaaaaaaaaa
->
aaaaaaaaaaaaaaaaaaaaaaaaaa(
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa);
After:
aaaaaa->aaaaaa->aaaaaa( // break
aaaaaa);
aaaaaaaaaaaaaaaaaaaaa->
aaaaaaaaaaaaaaaaaaaaaa->
aaaaaaaaaaaaaaaaaaaaaaaaaa(
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa);
llvm-svn: 176352
Daniel Jasper [Fri, 1 Mar 2013 16:45:59 +0000 (16:45 +0000)]
Remove trailing whitespace of line comments.
This fixed llvm.org/PR15378.
llvm-svn: 176351
Manuel Klimek [Fri, 1 Mar 2013 13:29:19 +0000 (13:29 +0000)]
Implements breaking string literals at slashes.
We now break at a slash if we do not find a space to break on.
Also fixes a bug where we would go over the limit when breaking the
second line.
llvm-svn: 176350
Manuel Klimek [Fri, 1 Mar 2013 13:14:08 +0000 (13:14 +0000)]
Implement fallback split point for string literals.
If we don't find a natural split point (currently space) in a string
literal protruding over the line, we just split at the last possible
point.
llvm-svn: 176349
Yiannis Tsiouris [Fri, 1 Mar 2013 11:40:32 +0000 (11:40 +0000)]
GCInfoDeleter code cleanup after r175528
Remove GCInfoDeleter from passes and comments.
llvm-svn: 176347
Christian Konig [Fri, 1 Mar 2013 09:46:27 +0000 (09:46 +0000)]
R600/SI: handle all registers in copyPhysReg v2
v2: based on Michels patch, but now allows copying of all registers sizes.
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Signed-off-by: Christian König <christian.koenig@amd.com>
llvm-svn: 176346
Christian Konig [Fri, 1 Mar 2013 09:46:22 +0000 (09:46 +0000)]
R600/SI: remove S_MOV immediate patterns
They won't match anyway.
Signed-off-by: Christian König <christian.koenig@amd.com>
llvm-svn: 176345
Christian Konig [Fri, 1 Mar 2013 09:46:17 +0000 (09:46 +0000)]
R600/SI: remove GPR*AlignEncode
It's much easier to specify the encoding with tablegen directly.
Signed-off-by: Christian König <christian.koenig@amd.com>
llvm-svn: 176344
Christian Konig [Fri, 1 Mar 2013 09:46:11 +0000 (09:46 +0000)]
R600/SI: fix warning about overloaded virtual
Signed-off-by: Christian König <christian.koenig@amd.com>
llvm-svn: 176343
Christian Konig [Fri, 1 Mar 2013 09:46:04 +0000 (09:46 +0000)]
R600/SI: fix inserting waits for unordered defines
Signed-off-by: Christian König <christian.koenig@amd.com>
llvm-svn: 176342
Duncan Sands [Fri, 1 Mar 2013 09:46:03 +0000 (09:46 +0000)]
GCC thinks that this variable might be used uninitialized (it isn't).
llvm-svn: 176341
Evgeniy Stepanov [Fri, 1 Mar 2013 09:33:05 +0000 (09:33 +0000)]
[asan] Revert r176255, r176264.
New allocator has 1.5x memory overhead of the old one.
llvm-svn: 176340
John McCall [Fri, 1 Mar 2013 09:20:14 +0000 (09:20 +0000)]
Perform the receiver-expression transformations regardless of
whether we already have a method. Fixes a bug where we were
failing to properly contextually convert a message receiver
during template instantiation.
As a side-effect, we now actually perform correct method lookup
after adjusting a message-send to integral or non-ObjC pointer
types (legal outside of ARC).
rdar://
13305374
llvm-svn: 176339
Evgeniy Stepanov [Fri, 1 Mar 2013 08:49:14 +0000 (08:49 +0000)]
[sanitizer] Fix check failure in SizeClassMap::Print.
llvm-svn: 176338
Alexey Samsonov [Fri, 1 Mar 2013 07:58:27 +0000 (07:58 +0000)]
Docs for llvm-symbolizer command-line tool
llvm-svn: 176337
John McCall [Fri, 1 Mar 2013 07:58:16 +0000 (07:58 +0000)]
Attempt to not place ownership qualifiers on the result type
of block declarators. Document the rule we use.
Also document the rule that Doug implemented a few weeks ago
which drops ownership qualifiers on function result types.
rdar://
10127067
llvm-svn: 176336
Anna Zaks [Fri, 1 Mar 2013 06:38:16 +0000 (06:38 +0000)]
[analyzer] Reword FAQ
Reword the FAQ to stress more that the assert should be used only in case
the developer is sure that the issue is a false positive.
llvm-svn: 176335
Michael Liao [Fri, 1 Mar 2013 04:19:34 +0000 (04:19 +0000)]
Minor coding style fix
llvm-svn: 176334
Argyrios Kyrtzidis [Fri, 1 Mar 2013 03:43:33 +0000 (03:43 +0000)]
Add one more sanity check in SourceManager::getFileIDLoaded().
llvm-svn: 176333
Argyrios Kyrtzidis [Fri, 1 Mar 2013 03:26:04 +0000 (03:26 +0000)]
[PCH] Enhance InputFile to also include whether the file is out-of-date.
Previously we would return null for an out-of-date file. This inhibited ASTReader::ReadSLocEntry
from creating a FileID to recover gracefully in such a case.
llvm-svn: 176332
Argyrios Kyrtzidis [Fri, 1 Mar 2013 03:26:00 +0000 (03:26 +0000)]
In SourceManager::getFileIDLoaded(), add some sanity checks to make sure we don't enter an infinite loop.
rdar://
13120919
llvm-svn: 176331
Akira Hatanaka [Fri, 1 Mar 2013 02:17:02 +0000 (02:17 +0000)]
[mips] Remove unused option. Fix 80-column violations.
llvm-svn: 176330
Akira Hatanaka [Fri, 1 Mar 2013 02:03:51 +0000 (02:03 +0000)]
[mips] Add the capability to search delay slot filling instructions in
successor basic blocks.
Currently this is off by default.
llvm-svn: 176329
John McCall [Fri, 1 Mar 2013 01:38:54 +0000 (01:38 +0000)]
Restore order to placate test. I had no real reason to switch them.
llvm-svn: 176328
John McCall [Fri, 1 Mar 2013 01:24:35 +0000 (01:24 +0000)]
Re-use bit from superclass and extract stuff into a local
function. Serves a patch we're kicking around out-of-tree.
llvm-svn: 176327
Akira Hatanaka [Fri, 1 Mar 2013 01:22:26 +0000 (01:22 +0000)]
[mips] Do not add SecondLastInst to list BranchInstrs if there is only one
terminator.
No functionality change.
llvm-svn: 176326
Akira Hatanaka [Fri, 1 Mar 2013 01:10:17 +0000 (01:10 +0000)]
[mips] Define an overloaded version of function MipsInstrInfo::AnalyzeBranchAdd.
This function will be used later when the capability to search delay slot
filling instructions in successor blocks is added. No intended functionality
changes.
llvm-svn: 176325
Michael J. Spencer [Fri, 1 Mar 2013 01:09:46 +0000 (01:09 +0000)]
[Writer][ELF][x86-64] Handle GOTPCREL relocations to SharedLibraryAtoms.
llvm-svn: 176324
Akira Hatanaka [Fri, 1 Mar 2013 01:02:36 +0000 (01:02 +0000)]
[mips] Add options to disable searching backward and in successor blocks.
llvm-svn: 176321
Akira Hatanaka [Fri, 1 Mar 2013 00:50:52 +0000 (00:50 +0000)]
[mips] Add capability to search in the forward direction for instructions that
can fill the delay slot.
Currently, this is off by default.
llvm-svn: 176320
Jason Molenda [Fri, 1 Mar 2013 00:43:19 +0000 (00:43 +0000)]
Patch from Andrew Fish to add recognition of some additional
KDP packets.
llvm-svn: 176319
Akira Hatanaka [Fri, 1 Mar 2013 00:26:14 +0000 (00:26 +0000)]
[mips] Define helper function searchRange
No functionality change.
llvm-svn: 176318