Jordan Rose [Thu, 24 Jan 2013 23:07:59 +0000 (23:07 +0000)]
scan-build: Add a --keep-empty option for better testing.
SATestBuild expects to compare output directories for each invocation of
scan-build that it runs, but scan-build clears out empty directories by
default. We were coincidentally not getting that behavior until r173294.
llvm-svn: 173383
Renato Golin [Thu, 24 Jan 2013 23:01:00 +0000 (23:01 +0000)]
Moving Cost Tables up to share with other targets
llvm-svn: 173382
Michael J. Spencer [Thu, 24 Jan 2013 22:52:42 +0000 (22:52 +0000)]
[Driver] Run the pass manager.
llvm-svn: 173381
Michael J. Spencer [Thu, 24 Jan 2013 22:52:25 +0000 (22:52 +0000)]
Move SimpleAtoms.h to ReaderWriter.
llvm-svn: 173380
David Blaikie [Thu, 24 Jan 2013 22:47:48 +0000 (22:47 +0000)]
FileCheck-ify some debug info scope related tests.
llvm-svn: 173379
Fariborz Jahanian [Thu, 24 Jan 2013 22:26:55 +0000 (22:26 +0000)]
removed duplicated comment.
llvm-svn: 173378
Fariborz Jahanian [Thu, 24 Jan 2013 22:11:45 +0000 (22:11 +0000)]
Patch to check for integer overflow. It has been
commented on and approved by Richard Smith.
llvm-svn: 173377
Jordan Rose [Thu, 24 Jan 2013 21:48:50 +0000 (21:48 +0000)]
Move 'convertUTF8Sequence' helper into the C++ section of the header file.
It's annotated as "inline", but ConvertUTF.c should still be able to compile
as C89.
llvm-svn: 173376
Akira Hatanaka [Thu, 24 Jan 2013 21:47:33 +0000 (21:47 +0000)]
[mips] Do not emit i32 padding if target ABI is O32. This was causing backend
to pass floating point arguments to be passed in integer registers.
llvm-svn: 173375
Michael Gottesman [Thu, 24 Jan 2013 21:35:00 +0000 (21:35 +0000)]
Added comment to ObjCARC elaborating what is meant by the term 'Provenance' in 'Provenance Analysis'.
llvm-svn: 173374
Jordan Rose [Thu, 24 Jan 2013 21:19:51 +0000 (21:19 +0000)]
Test fix-it ranges for Unicode characters.
Also, remove stray -fdiagnostics-parseable-fixits from ucn-pp-identifier.
llvm-svn: 173373
Daniel Malea [Thu, 24 Jan 2013 21:01:12 +0000 (21:01 +0000)]
Skip 32-bit testing of check_public_api_headers (on all platforms, not just Mac OS X)
- since the test program needs to link with LLDB, the test is invalid in 32-bit mode.
llvm-svn: 173372
Jordan Rose [Thu, 24 Jan 2013 20:50:52 +0000 (20:50 +0000)]
Add a fixit for \U1234 -> \u1234.
llvm-svn: 173371
Jordan Rose [Thu, 24 Jan 2013 20:50:50 +0000 (20:50 +0000)]
As an extension, treat Unicode whitespace characters as whitespace.
llvm-svn: 173370
Jordan Rose [Thu, 24 Jan 2013 20:50:46 +0000 (20:50 +0000)]
Handle universal character names and Unicode characters outside of literals.
This is a missing piece for C99 conformance.
This patch handles UCNs by adding a '\\' case to LexTokenInternal and
LexIdentifier -- if we see a backslash, we tentatively try to read in a UCN.
If the UCN is not syntactically well-formed, we fall back to the old
treatment: a backslash followed by an identifier beginning with 'u' (or 'U').
Because the spelling of an identifier with UCNs still has the UCN in it, we
need to convert that to UTF-8 in Preprocessor::LookUpIdentifierInfo.
Of course, valid code that does *not* use UCNs will see only a very minimal
performance hit (checks after each identifier for non-ASCII characters,
checks when converting raw_identifiers to identifiers that they do not
contain UCNs, and checks when getting the spelling of an identifier that it
does not contain a UCN).
This patch also adds basic support for actual UTF-8 in the source. This is
treated almost exactly the same as UCNs except that we consider stray
Unicode characters to be mistakes and offer a fixit to remove them.
llvm-svn: 173369
Jordan Rose [Thu, 24 Jan 2013 20:50:13 +0000 (20:50 +0000)]
Unify diagnostics for \x, \u, and \U without any following hex digits.
llvm-svn: 173368
Chad Rosier [Thu, 24 Jan 2013 20:46:39 +0000 (20:46 +0000)]
Fail these tests in a way that doesn't cause unexpected successes, per Daniel's
suggestion.
llvm-svn: 173367
Hal Finkel [Thu, 24 Jan 2013 20:43:18 +0000 (20:43 +0000)]
Start cleanup of PPC register definitions using foreach loops.
No functionality change intended.
This captures the first two cases GPR32/64. For the others, we need
an addition operator (if we have one, I've not yet found it).
Based on a suggestion made by Tom Stellard in the AArch64 review!
llvm-svn: 173366
Chad Rosier [Thu, 24 Jan 2013 20:33:35 +0000 (20:33 +0000)]
Temporarily XFAIL this test; the compiler will segfault if the target-specific
parser is not included in the compiler. Thanks to Renato for discovering the
underlying issue.
llvm-svn: 173365
Chad Rosier [Thu, 24 Jan 2013 20:24:34 +0000 (20:24 +0000)]
[ms-inline asm] Add an error when trying to compile MS-style inline assembly
for an unsupported architecture.
rdar://
13063988
llvm-svn: 173364
Daniel Malea [Thu, 24 Jan 2013 19:47:06 +0000 (19:47 +0000)]
Marking test cases with @expectedFailureLinux as per recently opened bugs
- PR 15038: missing wide char support on Linux
- PR 14600 - Exception state registers not supported on Linux
- PR 15039: SBProcess.GetSTDOUT() returns an empty buffer
- PR 15037: stop-hooks sometimes fail to fire on Linux
llvm-svn: 173363
Daniel Malea [Thu, 24 Jan 2013 19:35:57 +0000 (19:35 +0000)]
PR14426 (breakpoint hit count incorrect) is resolved.
llvm-svn: 173362
Chad Rosier [Thu, 24 Jan 2013 19:14:47 +0000 (19:14 +0000)]
[driver] Associate a JobAction with each result file. This enables the driver
to delete result files for only those commands that fail.
Part of rdar://
12984531
llvm-svn: 173361
Saleem Abdulrasool [Thu, 24 Jan 2013 16:49:14 +0000 (16:49 +0000)]
[bugpoint] make tool selection messages unique
Change messages to help identify which interpreter was actually selected (safe
vs testing).
Signed-off-by: Saleem Abdulrasool <compnerd@compnerd.org>
Reviewed-by: Chandler Carruth <chandlerc@gmail.com>
llvm-svn: 173360
Saleem Abdulrasool [Thu, 24 Jan 2013 16:49:12 +0000 (16:49 +0000)]
[bugpoint] set Message after tool configuration
Set the message returned after the GCC runner has been constructed as otherwise
the message will be overwritten by the construction of the runner, resulting in
misleading messages.
Signed-off-by: Saleem Abdulrasool <compnerd@compnerd.org>
Reviewed-by: Chandler Carruth <chandlerc@gmail.com>
llvm-svn: 173359
Michael Han [Thu, 24 Jan 2013 16:46:58 +0000 (16:46 +0000)]
PR14922: when printing an attribute, use the real syntax of the attribute (GNU, C++11, MS Declspec) instead of hardcoded GNU syntax.
Introduce a spelling index to Attr class, which is an index into the attribute spelling list of an attribute defined in Attr.td.
This index will determine the actual spelling used by an attribute, as it incorporates both the syntax and naming of the attribute.
When constructing an attribute AST node, the spelling index is computed based on attribute kind, scope (if it's a C++11 attribute), and
name, then passed to Attr that will use the index to print itself.
Thanks to Richard Smith for the idea and review.
llvm-svn: 173358
Benjamin Kramer [Thu, 24 Jan 2013 16:44:25 +0000 (16:44 +0000)]
Reapply chandlerc's r173342 now that the miscompile it was triggering is fixed.
Original commit message:
Plug TTI into the speculation logic, giving it a real cost interface
that can be specialized by targets.
The goal here is not to be more aggressive, but to just be more accurate
with very obvious cases. There are instructions which are known to be
truly free and which were not being modeled as such in this code -- see
the regression test which is distilled from an inner loop of zlib.
Everywhere the TTI cost model is insufficiently conservative I've added
explicit checks with FIXME comments to go add proper modelling of these
cost factors.
If this causes regressions, the likely solution is to make TTI even more
conservative in its cost estimates, but test cases will help here.
llvm-svn: 173357
Benjamin Kramer [Thu, 24 Jan 2013 16:28:28 +0000 (16:28 +0000)]
ConstantFolding: Add a missing folding that leads to a miscompile.
We use constant folding to see if an intrinsic evaluates to the same value as a
constant that we know. If we don't take the undefinedness into account we get a
value that doesn't match the actual implementation, and miscompiled code.
This was uncovered by Chandler's simplifycfg changes.
llvm-svn: 173356
NAKAMURA Takumi [Thu, 24 Jan 2013 15:29:27 +0000 (15:29 +0000)]
unittests/SupportTests/Initialize.MultipleThreads: Enable pthread_attr_setstack(3) only on Linux.
I got blamed on darwin11;
unittests/Support/ManagedStatic.cpp:35: error: 'pthread_attr_setstack' was not declared in this scope
llvm-svn: 173355
Joey Gouly [Thu, 24 Jan 2013 15:24:54 +0000 (15:24 +0000)]
Fix a non-conformant OpenCL test case.
Program scope variables must be declared in the constant address space
and are required to be initialized.
llvm-svn: 173354
Joey Gouly [Thu, 24 Jan 2013 15:19:51 +0000 (15:19 +0000)]
Properly remove this test file, that I copied over to test/SemaOpenCL in r173352.
llvm-svn: 173353
Joey Gouly [Thu, 24 Jan 2013 15:14:22 +0000 (15:14 +0000)]
Fix an OpenCL test case that was OpenCL conformant.
It had program scope variables that were not in the constant address space,
make them to be function scope variables instead.
Also move the test to the SemaOpenCL directory.
llvm-svn: 173352
NAKAMURA Takumi [Thu, 24 Jan 2013 14:44:02 +0000 (14:44 +0000)]
unittests/SupportTests/Initialize.MultipleThreads: Appease --vg-leak to allocate stack explicitly for glibc.
llvm-svn: 173350
NAKAMURA Takumi [Thu, 24 Jan 2013 14:12:12 +0000 (14:12 +0000)]
lli/RecordingMemoryManager: Free allocated sections in the destructor to satisfy --vg-leak!
FIXME: It could be generalized in MemoryManager.
llvm-svn: 173349
Dmitry Vyukov [Thu, 24 Jan 2013 14:07:19 +0000 (14:07 +0000)]
tsan: return the old fake numbers from malloc stats (some code already depends on them)
llvm-svn: 173348
Alexey Samsonov [Thu, 24 Jan 2013 14:01:59 +0000 (14:01 +0000)]
[Sanitizer] use stub InternalSymbolizer on platforms where we don't have weak hooks
llvm-svn: 173347
Dmitry Vyukov [Thu, 24 Jan 2013 13:50:32 +0000 (13:50 +0000)]
tsan: suppress reports using both stacks
llvm-svn: 173346
Dmitry Vyukov [Thu, 24 Jan 2013 13:50:10 +0000 (13:50 +0000)]
tsan: allow a front-end to provide default suppressions
llvm-svn: 173345
Alexey Samsonov [Thu, 24 Jan 2013 13:42:45 +0000 (13:42 +0000)]
[Sanitizer] Add skeleton for InternalSymbolizer that can be used by providing callbacks __sanitizer_symbolize_{code,data}
llvm-svn: 173344
Chandler Carruth [Thu, 24 Jan 2013 13:24:24 +0000 (13:24 +0000)]
Revert r173342 temporarily. It appears to cause a very late miscompile
of stage2 in a bootstrap. Still investigating....
llvm-svn: 173343
Chandler Carruth [Thu, 24 Jan 2013 12:39:29 +0000 (12:39 +0000)]
Plug TTI into the speculation logic, giving it a real cost interface
that can be specialized by targets.
The goal here is not to be more aggressive, but to just be more accurate
with very obvious cases. There are instructions which are known to be
truly free and which were not being modeled as such in this code -- see
the regression test which is distilled from an inner loop of zlib.
Everywhere the TTI cost model is insufficiently conservative I've added
explicit checks with FIXME comments to go add proper modelling of these
cost factors.
If this causes regressions, the likely solution is to make TTI even more
conservative in its cost estimates, but test cases will help here.
llvm-svn: 173342
Chandler Carruth [Thu, 24 Jan 2013 12:05:17 +0000 (12:05 +0000)]
Address a large chunk of this FIXME by accumulating the cost for
unfolded constant expressions rather than checking each one
independently.
llvm-svn: 173341
Chandler Carruth [Thu, 24 Jan 2013 11:53:01 +0000 (11:53 +0000)]
Switch the constant expression speculation cost evaluation away from
a cost fuction that seems both a bit ad-hoc and also poorly suited to
evaluating constant expressions.
Notably, it is missing any support for trivial expressions such as
'inttoptr'. I could fix this routine, but it isn't clear to me all of
the constraints its other users are operating under.
The core protection that seems relevant here is avoiding the formation
of a select instruction wich a further chain of select operations in
a constant expression operand. Just explicitly encode that constraint.
Also, update the comments and organization here to make it clear where
this needs to go -- this should be driven off of real cost measurements
which take into account the number of constants expressions and the
depth of the constant expression tree.
llvm-svn: 173340
Chandler Carruth [Thu, 24 Jan 2013 11:52:58 +0000 (11:52 +0000)]
Rephrase the speculating scan of the conditional BB to be phrased in
terms of cost rather than hoisting a single instruction.
This does *not* change the cost model! We still set the cost threshold
at 1 here, it's just that we track it by accumulating cost rather than
by storing an instruction.
The primary advantage is that we no longer leave no-op intrinsics in the
basic block. For example, this will now move both debug info intrinsics
and a single instruction, instead of only moving the instruction and
leaving a basic block with nothing bug debug info intrinsics in it, and
those intrinsics now no longer ordered correctly with the hoisted value.
Instead, we now splice the entire conditional basic block's instruction
sequence.
This also places the code for checking the safety of hoisting next to
the code computing the cost.
Currently, the only observable side-effect of this change is that debug
info intrinsics are no longer abandoned. I'm not sure how to craft
a test case for this, and my real goal was the refactoring, but I'll
talk to Dave or Eric about how to add a test case for this.
llvm-svn: 173339
Kostya Serebryany [Thu, 24 Jan 2013 10:43:50 +0000 (10:43 +0000)]
[asan] fix 32-bit builds
llvm-svn: 173338
Chandler Carruth [Thu, 24 Jan 2013 10:40:51 +0000 (10:40 +0000)]
Simplify the PHI node operand rewriting.
Previously, the code would scan the PHI nodes and build up a small
setvector of candidate value pairs in phi nodes to go and rewrite. Once
certain the rewrite could be performed, the code walks the set, and for
each one re-scans the entire PHI node list looking for nodes to rewrite
operands.
Instead, scan the PHI nodes once to check for hazards, and then scan it
a second time to rewrite the operands to selects. No set vector, and
a max of two scans.
The only downside is that we might form identical selects, but
instcombine or anything else should fold those easily, and it seems
unlikely to happen often.
llvm-svn: 173337
Kostya Serebryany [Thu, 24 Jan 2013 10:36:11 +0000 (10:36 +0000)]
[asan] run-time tests for adaptive redzones
llvm-svn: 173336
Kostya Serebryany [Thu, 24 Jan 2013 10:35:40 +0000 (10:35 +0000)]
[asan] adaptive redzones for globals (the larger the global the larger is the redzone)
llvm-svn: 173335
Chandler Carruth [Thu, 24 Jan 2013 09:59:39 +0000 (09:59 +0000)]
Give the basic block variables here names based on the if-then-end
structure being analyzed. No functionality changed.
llvm-svn: 173334
Alexander Potapenko [Thu, 24 Jan 2013 09:15:08 +0000 (09:15 +0000)]
[ASan] fix compilation on Mac by adding a missing pwrite parameter.
llvm-svn: 173333
Dmitry Vyukov [Thu, 24 Jan 2013 09:08:03 +0000 (09:08 +0000)]
tsan: implement malloc stats querying
llvm-svn: 173332
Chandler Carruth [Thu, 24 Jan 2013 08:22:40 +0000 (08:22 +0000)]
Lift a cheap early exit test above loops and other complex early exit
tests. No need to pay the high cost when we're never going to do
anything.
No functionality changed.
llvm-svn: 173331
NAKAMURA Takumi [Thu, 24 Jan 2013 08:20:11 +0000 (08:20 +0000)]
clang/GlobalModuleIndex: Don't open the same file twice. Use raw_fd_ostream(fd, ...) instead.
FIXME: PathV2::unique_file() is assumed to open the file with binary mode on win32.
llvm-svn: 173330
Chandler Carruth [Thu, 24 Jan 2013 08:05:06 +0000 (08:05 +0000)]
Spiff up the comment on this method, making the example a bit more
pretty in doxygen, adding some of the details actually present in
a classic example where this matters (a loop from gzip and many other
compression algorithms), and a cautionary note about the risks inherent
in the transform. This has come up on the mailing lists recently, and
I suspect folks reading this code could benefit from going and looking
at the MI pass that can really deal with these issues.
llvm-svn: 173329
Dmitry Vyukov [Thu, 24 Jan 2013 07:44:21 +0000 (07:44 +0000)]
asan/tsan: fix pwrite interceptors
llvm-svn: 173328
Dmitry Vyukov [Thu, 24 Jan 2013 07:43:55 +0000 (07:43 +0000)]
tsan: also test asan during presubmit checks, because sanitizer_common changes can affect it
llvm-svn: 173327
NAKAMURA Takumi [Thu, 24 Jan 2013 07:04:14 +0000 (07:04 +0000)]
clang/test/Modules/global_index.m: XFAILing on win32 when investigating for now.
llvm-svn: 173326
NAKAMURA Takumi [Thu, 24 Jan 2013 06:08:06 +0000 (06:08 +0000)]
MipsISelLowering.cpp: Fill unreachable paths to fix warnings. [-Wsometimes-uninitialized]
FIXME: Could they, unreachable(s), be removed?
FIXME: I could prefer the coding standards...
llvm-svn: 173325
NAKAMURA Takumi [Thu, 24 Jan 2013 05:54:23 +0000 (05:54 +0000)]
MipsISelLowering.cpp: Fix a warning, take two. [-Wunused-variable]
...and fix a typo, s/#ifdef/#ifndef/
llvm-svn: 173324
NAKAMURA Takumi [Thu, 24 Jan 2013 05:47:29 +0000 (05:47 +0000)]
MipsISelLowering.cpp: Fix a warning. [-Wunused-variable]
llvm-svn: 173323
Craig Topper [Thu, 24 Jan 2013 05:22:40 +0000 (05:22 +0000)]
Remove trailing whitespace.
llvm-svn: 173322
Richard Trieu [Thu, 24 Jan 2013 04:29:24 +0000 (04:29 +0000)]
Add asserts to SmallVector so that calls to front() and back() only succeed
if the vector is not empty. This will ensure that calls to these functions
will reference elements in the vector.
llvm-svn: 173321
Reed Kotler [Thu, 24 Jan 2013 04:24:02 +0000 (04:24 +0000)]
The next phase of Mips16 hard float implementation.
Allow Mips16 routines to call Mips32 routines that have abi requirements
that either arguments or return values are passed in floating point
registers. This handles only the pic case. We have not done non pic
for Mips16 yet in any form.
The libm functions are Mips32, so with this addition we have a complete
Mips16 hard float implementation.
We still are not able to complete mix Mip16 and Mips32 with hard float.
That will be the next phase which will have several steps. For Mips32
to freely call Mips16 some stub functions must be created.
llvm-svn: 173320
Nick Lewycky [Thu, 24 Jan 2013 03:43:15 +0000 (03:43 +0000)]
Give warn_redecl_library_builtin a flag name: -Wincompatible-library-redeclaration.
llvm-svn: 173319
Andrew Trick [Thu, 24 Jan 2013 02:09:57 +0000 (02:09 +0000)]
MachineScheduler: enable biasCriticalPath for all DAGs.
llvm-svn: 173318
Andrew Trick [Thu, 24 Jan 2013 02:09:55 +0000 (02:09 +0000)]
MIsched: Added biasCriticalPath.
Allow schedulers to order DAG edges by critical path. This makes
DFS-based heuristics more stable and effective.
llvm-svn: 173317
Michael J. Spencer [Thu, 24 Jan 2013 02:08:25 +0000 (02:08 +0000)]
[ELF] Add R_X86_64_IRELATIVE.
llvm-svn: 173316
Nick Lewycky [Thu, 24 Jan 2013 02:03:08 +0000 (02:03 +0000)]
Start checking nonnull (as well as format and argument_with_type_tag) on
overloaded binary operators.
llvm-svn: 173315
Nick Lewycky [Thu, 24 Jan 2013 01:12:16 +0000 (01:12 +0000)]
Fix some wonky formatting, remove spurious emacs major mode marker. No
functionality change!
llvm-svn: 173314
Bill Wendling [Thu, 24 Jan 2013 01:01:34 +0000 (01:01 +0000)]
Add a profile for uniquifying the AttributeSet with the AttributeSetNodes.
llvm-svn: 173313
Bill Wendling [Thu, 24 Jan 2013 00:14:46 +0000 (00:14 +0000)]
Cleanup the AttributeSetNodes that we create.
llvm-svn: 173311
Bill Wendling [Thu, 24 Jan 2013 00:06:56 +0000 (00:06 +0000)]
Create a new class: AttributeSetNode.
This is a helper class for the AttributeSetImpl class. It holds a set of
attributes that apply to a single element: function, return type, or
parameter.
These are uniqued.
llvm-svn: 173310
Richard Smith [Wed, 23 Jan 2013 23:38:20 +0000 (23:38 +0000)]
Micro cleanup: use an array of const char, rather than an array of char, as the
type of the string literal implicitly used for a raw user-defined literal call.
No test; this has no semantic impact.
llvm-svn: 173309
Jim Ingham [Wed, 23 Jan 2013 23:14:13 +0000 (23:14 +0000)]
Check for NULL breakpoint option thread name & queue name before comparing their values to the new value.
<rdar://problem/
13065198>
llvm-svn: 173308
Bill Wendling [Wed, 23 Jan 2013 23:07:21 +0000 (23:07 +0000)]
Don't check lines beginning with '#', since they could contain a path with the unexpected word in them.
llvm-svn: 173307
Bill Wendling [Wed, 23 Jan 2013 23:06:28 +0000 (23:06 +0000)]
Don't check lines beginning with '#', since they could contain a path with the unexpected word in them.
llvm-svn: 173306
Bill Wendling [Wed, 23 Jan 2013 23:04:29 +0000 (23:04 +0000)]
The diagnostic is now a warning instead of an error. Also don't check lines beginning with '#', since they could contain a path with the unexpected word in them.
llvm-svn: 173305
Bill Wendling [Wed, 23 Jan 2013 23:00:05 +0000 (23:00 +0000)]
Push down the conversion of the alignment from the bit mask to a real number into the attribute implementation class.
llvm-svn: 173304
Douglas Gregor [Wed, 23 Jan 2013 22:45:24 +0000 (22:45 +0000)]
Fix for case-sensitive file systems. Ugh
llvm-svn: 173303
Bill Wendling [Wed, 23 Jan 2013 22:38:33 +0000 (22:38 +0000)]
Remove dead methods.
llvm-svn: 173302
Douglas Gregor [Wed, 23 Jan 2013 22:38:11 +0000 (22:38 +0000)]
Implement the writer side of the global module index.
The global module index is a "global" index for all of the module
files within a particular subdirectory in the module cache, which
keeps track of all of the "interesting" identifiers and selectors
known in each of the module files. One can perform a fast lookup in
the index to determine which module files will have more information
about entities with a particular name/selector. This information can
help eliminate redundant lookups into module files (a serious
performance problem) and help with creating auto-import/auto-include
Fix-Its.
The global module index is created or updated at the end of a
translation unit that has triggered a (re)build of a module by
scraping all of the .pcm files out of the module cache subdirectory,
so it catches everything. As with module rebuilds, we use the file
system's atomicity to synchronize.
llvm-svn: 173301
Nick Kledzik [Wed, 23 Jan 2013 22:32:56 +0000 (22:32 +0000)]
Add SectionPosition and OrderPass
llvm-svn: 173300
Michael J. Spencer [Wed, 23 Jan 2013 22:08:46 +0000 (22:08 +0000)]
[ELF] Read IFUNC symbols correctly as typeResolver.
llvm-svn: 173299
Eli Bendersky [Wed, 23 Jan 2013 22:05:19 +0000 (22:05 +0000)]
Fix small typo
llvm-svn: 173298
Tom Stellard [Wed, 23 Jan 2013 21:39:49 +0000 (21:39 +0000)]
R600: Add a llvm.R600.store.swizzle intrinsics
This intrinsic is translated to ALLOC_EXPORT_WORD1_SWIZ, hence its
name. It is used to store vs/fs outputs
Patch by: Vincent Lejeune
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 173297
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