Commit Graph

88349 Commits

Author SHA1 Message Date
Johnny Chen fee57bb464 Added README file for the test suite.
llvm-svn: 110160
2010-08-03 22:12:11 +00:00
Sebastian Redl a19a67f899 Incomplete promotion of selector info to per-file data.
Store all selectors in the selector hash table instead of only those from the method pool.

llvm-svn: 110158
2010-08-03 21:58:15 +00:00
Dan Gohman 5442c71f2e Thread const correctness through a bunch of AliasAnalysis interfaces and
eliminate several const_casts.

Make CallSite implicitly convertible to ImmutableCallSite.

Rename the getModRefBehavior for intrinsic IDs to
getIntrinsicModRefBehavior to avoid overload ambiguity with CallSite,
which happens to be implicitly convertible to bool.

llvm-svn: 110155
2010-08-03 21:48:53 +00:00
Nate Begeman f568b074db Add support for VFP status & control operations for ARM.
llvm-svn: 110153
2010-08-03 21:32:34 +00:00
Nate Begeman b69b182191 Add support for getting & setting the FPSCR application register on ARM when VFP is enabled.
Add support for using the FPSCR in conjunction with the vcvtr instruction, for controlling fp to int rounding.
Add support for the FLT_ROUNDS_ node now that the FPSCR is exposed.

llvm-svn: 110152
2010-08-03 21:31:55 +00:00
Tom Care be633d91d0 Improved false positive detection and numerous small issues in UnreachableCodeChecker
- Reporting now uses getUnreachableStmt which returns the Stmt* we should report
- Indexing of reachable and visited blocks now use CFGBlock ID's instead of pointers
- The CFG used in the unreachable search is now the unoptimized CFG
- Added 'Dead code' category to warnings
- Removed obsolete function getCondition
- Simplified false positive detection based on properties of FindUnreachableEntryPoints

llvm-svn: 110148
2010-08-03 21:24:13 +00:00
Jordy Rose 6e6f6e2cc3 Remove DoneEvaluating field (unused since r90296)
llvm-svn: 110141
2010-08-03 20:45:31 +00:00
Jordy Rose ddec092641 Makes GRState::makeWithStore private, to encourage clients to make store changes through GRState instead of directly accessing the StoreManager. Also adds cover methods for InvalidateRegion(s) and EnterStackFrame to GRState.
This is in preparation for proposed region change notifications. No functionality change.

llvm-svn: 110137
2010-08-03 20:44:35 +00:00
Dan Gohman ad867b0aed The singular of "indices" is "index".
llvm-svn: 110135
2010-08-03 20:23:52 +00:00
Dan Gohman 852d6fc50c Delete an unused function.
llvm-svn: 110134
2010-08-03 20:20:56 +00:00
Douglas Gregor e9db88f991 When using a precompiled preamble, keep track of the top-level
declarations that we saw when creating the precompiled preamble, and
provide those declarations in addition to the declarations parsed in
the main source file when traversing top-level declarations. This
makes the use of precompiled preambles a pure optimization, rather
than changing the semantics of the parsed translation unit.

llvm-svn: 110131
2010-08-03 19:06:41 +00:00
Dan Gohman 3619660529 Make instcombine set explicit alignments on load or store
instructions with alignment 0, so that subsequent passes don't
need to bother checking the TargetData ABI size manually.

llvm-svn: 110128
2010-08-03 18:20:32 +00:00
Oscar Fuentes 371b1b91bf CMake: Change somme target library names:
XCore->XCoreGen
PIC16->PIC16CodeGen

After updating your working copy, the first build will fail because it
is using the old library dependencies. Start the build again and it
will work fine.

llvm-svn: 110127
2010-08-03 17:40:31 +00:00
Eli Friedman 865afc96f7 PR7795: Fix the definition of __WCHAR_MAX__ with -fshort-wchar.
llvm-svn: 110126
2010-08-03 17:34:19 +00:00
Argyrios Kyrtzidis 839bbacfb2 Apart from storing/retrieving the previous redeclaration from PCH, also store/retrieve the most recent
redeclaration. That way we are sure that the full redeclarations chain is loaded.

When using chained PCHs, first declarations point to the most recent redeclarations in the same PCH.
To address this use a REDECLS_UPDATE_LATEST record block to keep track of which first declarations need
to point to a most recent redeclaration in another PCH.

llvm-svn: 110125
2010-08-03 17:30:10 +00:00
Argyrios Kyrtzidis a6430cfe48 Introduce getMostRecentDeclaration() and getFirstDeclaration() for RedeclarableTemplateDecl.
llvm-svn: 110124
2010-08-03 17:30:01 +00:00
Argyrios Kyrtzidis 1e1de05f18 Send AST dumping/printing to stdout instead of stderr.
llvm-svn: 110123
2010-08-03 17:29:57 +00:00
Argyrios Kyrtzidis edee67f335 Avoid writing a VTABLE_USES record in PCH if there are no entries.
llvm-svn: 110122
2010-08-03 17:29:52 +00:00
Oscar Fuentes 052c23cd2f CMake: add version control info to PACKAGE_VERSION, if available.
Adds "svn" or "git", depending on the VCS used. If svn, adds the
revision number as well.

llvm-svn: 110121
2010-08-03 17:28:09 +00:00
Dan Gohman 52f9d7d617 Make AliasAnalysis::getModRefInfo conservative in the face of volatility.
llvm-svn: 110120
2010-08-03 17:27:43 +00:00
Jakob Stoklund Olesen 0c18757c9d Oops. Don't normalize spill weights twice.
When the normalizeSpillWeights function was introduced, I forgot to remove this
normalization.

This change could affect register allocation. Hopefully for the better.

llvm-svn: 110119
2010-08-03 17:21:16 +00:00
Jakob Stoklund Olesen 011ff9bec9 OK, that's it. This test is going away now. But don't worry, I am taking it to a
nice farm in the country where it can play with other tests. And bunnies.

It is not clear what is being tested, and the revision history shows a bunch of
random changes to the expected instruction count. Clearly, we are just fudging
it to pass whenever it fails.

llvm-svn: 110118
2010-08-03 17:21:14 +00:00
Chris Lattner 79102d9725 avoid undefined behavior negating minint.
llvm-svn: 110117
2010-08-03 16:57:03 +00:00
Chris Lattner 278008f546 fix some undefined behavior, PR7779.
llvm-svn: 110116
2010-08-03 16:48:42 +00:00
Dan Gohman 081627ceb8 Fix a typo Devang noticed.
llvm-svn: 110115
2010-08-03 16:48:31 +00:00
Chris Lattner 3db3bb0032 avoid undef behavior on minint, fixing PR7783.
llvm-svn: 110114
2010-08-03 16:41:24 +00:00
Peter Collingbourne ddaaf40d24 Add an atomic lowering pass
llvm-svn: 110113
2010-08-03 16:19:16 +00:00
Dan Gohman 35e8a6209d Use unary + instead of a separate local variable for working
around std::min vs static const friction.

llvm-svn: 110112
2010-08-03 16:15:50 +00:00
Daniel Dunbar 939c1211cc Driver: Don't forward any -g options to GCC, when using it to drive the
assembler.
 - Fixes PR6218, hopefully.

llvm-svn: 110111
2010-08-03 16:14:14 +00:00
Oscar Fuentes 758f71af11 Bump cmake_minimum_required to version 2.8
llvm-svn: 110110
2010-08-03 15:07:17 +00:00
Daniel Dunbar edf7b8bd4e build: Add LLVM_NATIVE_ARCHNAME, which has the sensible value, without "Target"
appended.

llvm-svn: 110109
2010-08-03 14:26:17 +00:00
Douglas Gregor 48c8cd3fd0 Reshuffle the PCH generator action and consumer, so that we can re-use
it while generating precompiled preambles. No functionality change.

llvm-svn: 110108
2010-08-03 08:14:03 +00:00
John McCall 5696d6d316 Emit weak vtables of non-template classes with hidden visibility.
llvm-svn: 110107
2010-08-03 07:24:12 +00:00
Zhongxing Xu 42b8c30de6 Allow offsets to be negative. Out-of-bound cases are checked elsewhere. We
shouldn't put restrictions in store manager.

llvm-svn: 110106
2010-08-03 06:34:25 +00:00
Michael J. Spencer 26ce60c00e Remove the test/mc directory that I accidently added.
This directory conflicts with test/MC on Windows machines.

llvm-svn: 110105
2010-08-03 05:30:49 +00:00
Michael J. Spencer 54cfd42c33 MC: Fix symbol fragment offsets in COFF.
Patch by Cameron Esfahani!

llvm-svn: 110104
2010-08-03 05:02:46 +00:00
Michael J. Spencer d32764c8a0 Revert "MC: Fix symbol fragment offsets in COFF."
This reverts commit r110100

Wrong path caps.

llvm-svn: 110103
2010-08-03 04:53:28 +00:00
Zhongxing Xu 83734e46ce Pull the region offset computation logic into a single method.
llvm-svn: 110102
2010-08-03 04:52:05 +00:00
Michael J. Spencer a6cfbeb98c MC: Add time travel support to COFF.
llvm-svn: 110101
2010-08-03 04:43:33 +00:00
Michael J. Spencer cf3d8b4ec4 MC: Fix symbol fragment offsets in COFF.
Patch by Cameron Esfahani!

llvm-svn: 110100
2010-08-03 04:43:24 +00:00
Michael J. Spencer 2ce6994211 Fix CMake build
llvm-svn: 110097
2010-08-03 02:38:20 +00:00
Bruno Cardoso Lopes 1f927ccaa2 Support x86 AVX 256-bit instructions built-ins. Right now support all of them, but
as soon as we properly codegen the simple vector operations, remove the
unnecessary built-ins/intrinsics from clang and llvm. Also add tests for the new
built-ins

llvm-svn: 110096
2010-08-03 01:57:18 +00:00
Tom Care 44081fbc6c Changed GRExprEngine to pass down a reference to itself when checkers are doing postanalysis. This allows the checker to gather information about the state of the engine when it has finished.
- Exposed the worklist and BlockAborted flag in GRCoreEngine
- Changed postanalysis checkers to use the new infrastructure

llvm-svn: 110095
2010-08-03 01:55:07 +00:00
Bruno Cardoso Lopes 7492a11f0c Support x86 AVX 256-bit instruction intrinsics. Right now support all of them, but
as soon as we properly codegen the simple vector operations in clang, remove the
unnecessary builti-ins/intrinsics from clang and llvm.

llvm-svn: 110094
2010-08-03 01:53:41 +00:00
Greg Clayton 3504eee8a8 Added FindTypes to Module and ModuleList.
llvm-svn: 110093
2010-08-03 01:26:16 +00:00
Dan Gohman 4887001f81 Update some comments.
llvm-svn: 110092
2010-08-03 01:07:32 +00:00
Dan Gohman 2a190081f6 Introduce a symbolic constant for ~0u for use with AliasAnalysis.
llvm-svn: 110091
2010-08-03 01:03:11 +00:00
Dan Gohman da7182e116 Add a convenient form of AliasAnalysis::alias for the case where the sizes
are unknown.

llvm-svn: 110090
2010-08-03 00:56:30 +00:00
Greg Clayton b0b9fe610a Added support for objective C built-in types: id, Class, and SEL. This
involved watching for the objective C built-in types in DWARF and making sure
when we convert the DWARF types into clang types that we use the appropriate
ASTContext types.

Added a way to find and dump types in lldb (something equivalent to gdb's 
"ptype" command):

    image lookup --type <TYPENAME>

This only works for looking up types by name and won't work with variables.
It also currently dumps out verbose internal information. I will modify it
to dump more appropriate user level info in my next submission.

Hookup up the "FindTypes()" functions in the SymbolFile and SymbolVendor so
we can lookup types by name in one or more images.

Fixed "image lookup --address <ADDRESS>" to be able to correctly show all
symbol context information, but it will only show this extra information when
the new "--verbose" flag is used.

Updated to latest LLVM to get a few needed fixes.

llvm-svn: 110089
2010-08-03 00:35:52 +00:00
Sean Callanan 4cf04d209b Set a CodeGenOption in Clang to inhibit insertion
of profiling code into expressions.

Modified IRForTarget to emit array and record
member accesses correctly.  (Reading and writing
both work.)

llvm-svn: 110088
2010-08-03 00:23:29 +00:00