Commit Graph

66667 Commits

Author SHA1 Message Date
Dan Gohman 3b1938dda4 Remove unused variables.
llvm-svn: 80058
2009-08-26 00:13:22 +00:00
Daniel Dunbar b7b385c001 llvm-mc: Add MCSection::isDefined()
llvm-svn: 80057
2009-08-26 00:10:55 +00:00
Douglas Gregor 053f691d5e Improve diagnostics and recovery when the nested-name-specifier of a
qualified name does not actually refer into a class/class
template/class template partial specialization. 

Improve printing of nested-name-specifiers to eliminate redudant
qualifiers. Also, make it possible to output a nested-name-specifier
through a DiagnosticBuilder, although there are relatively few places
that will use this leeway.

llvm-svn: 80056
2009-08-26 00:04:55 +00:00
Anders Carlsson 7e3f0e4e0d Parsing of pseudo-destructors.
llvm-svn: 80055
2009-08-25 23:46:41 +00:00
Ted Kremenek 4b1dae3ba4 Update checker build.
llvm-svn: 80054
2009-08-25 23:46:25 +00:00
Ted Kremenek c4c48be88e Fix regression in BasicStoreManager caused by implicitly casting loaded values and trying to load/store from arrays. RegionStoreManager already properly handles these cases well; we just need to gracefully not handle this case in BasicStoreManager. This fixes PR 4781.
llvm-svn: 80051
2009-08-25 23:29:04 +00:00
Dan Gohman e5af8cd13b Fix the InsertAtEnd form of ShuffleVectorInst constructor to use
the correct type.

llvm-svn: 80050
2009-08-25 23:27:45 +00:00
Dan Gohman ad1f0a1101 Eliminate the unused Context argument on one of the ICmpInst and FCmpInst
constructors.

llvm-svn: 80049
2009-08-25 23:17:54 +00:00
Gabor Greif b63ea31817 revert r78628 and r78803 as these are not needed any more
llvm-svn: 80048
2009-08-25 23:02:21 +00:00
Ted Kremenek d1d6066be8 Handle pointer arithmetic in RegionStoreManager involving Objective-C pointers
when using the non-fragile Objective-C ABI.  This fixes <rdar://problem/7168531>.

llvm-svn: 80047
2009-08-25 22:55:09 +00:00
Douglas Gregor 24ebdae1e1 Test out-of-line definition of a static data member of a member class of a nested class template. Phew
llvm-svn: 80046
2009-08-25 22:54:02 +00:00
Douglas Gregor 7b6a83a84e Test out-of-line definitions of static data members of nested member class templates
llvm-svn: 80045
2009-08-25 22:53:07 +00:00
Douglas Gregor e861bac059 Improve support for out-of-line definitions of nested templates and
their members, including member class template, member function
templates, and member classes and functions of member templates.

To actually parse the nested-name-specifiers that qualify the name of
an out-of-line definition of a member template, e.g.,

  template<typename X> template<typename Y>
  X Outer<X>::Inner1<Y>::foo(Y) {
    return X();
  }

we need to look for the template names (e.g., "Inner1") as a member of
the current instantiation (Outer<X>), even before we have entered the
scope of the current instantiation. Since we can't do this in general
(i.e., we should not be looking into all dependent
nested-name-specifiers as if they were the current instantiation), we
rely on the parser to tell us when it is parsing a declaration
specifier sequence, and, therefore, when we should consider the
current scope specifier to be a current instantiation.

Printing of complicated, dependent nested-name-specifiers may be
somewhat broken by this commit; I'll add tests for this issue and fix
the problem (if it still exists) in a subsequent commit.

llvm-svn: 80044
2009-08-25 22:51:20 +00:00
Scott Michel c5dd8bd8d2 Updated i128 sext support for CellSPU backend, contributed by Ken Werner (IBM)
llvm-svn: 80042
2009-08-25 22:37:34 +00:00
Dan Gohman faf516f34d Use covariant return types for Instruction::clone, and eliminate
the forms of ExtractElementInst and InsertElementInst that are
equivalent to clone.

llvm-svn: 80041
2009-08-25 22:29:08 +00:00
Owen Anderson 3b1665eca5 Get rid of this horrible "benign race" by exploiting ManagedStatic to initialize
the array on its first access.

llvm-svn: 80040
2009-08-25 22:27:22 +00:00
Dan Gohman 23d2c76f31 This should use isIndenticalToWhenDefined.
llvm-svn: 80039
2009-08-25 22:24:20 +00:00
Dan Gohman c8a27f2a5c Rename Instruction::isIdenticalTo to Instruction::isIdenticalToWhenDefined,
and introduce a new Instruction::isIdenticalTo which tests for full
identity, including the SubclassOptionalData flags. Also, fix the
Instruction::clone implementations to preserve the SubclassOptionalData
flags. Finally, teach several optimizations how to handle
SubclassOptionalData correctly, given these changes.

This fixes the counterintuitive behavior of isIdenticalTo not comparing
the full value, and clone not returning an identical clone, as well as
some subtle bugs that could be caused by these.

Thanks to Nick Lewycky for reporting this, and for an initial patch!

llvm-svn: 80038
2009-08-25 22:11:20 +00:00
John McCall 76d824f3f9 Clarify the difference between substitution and instantiation by renaming
functions that don't instantiate definitions.

llvm-svn: 80037
2009-08-25 22:02:44 +00:00
Bill Wendling a9f56a686c Revert last patch. We need to put this into TargetLowering. There will be a lot
of EH stuff going into there, so we can wait to add them all then.

llvm-svn: 80036
2009-08-25 21:31:39 +00:00
Gabor Greif 95e2de30c8 re-committing yesterday's r79938.
This time there is no additional include of llvm/Config/config.h
at all. Instead I use a hard-coded preprecessor symbol:
LLVM_COMPACTIFY_SENTINELS

(should this work on the self-hosting buildbot, then
 cleanups come next)

llvm-svn: 80035
2009-08-25 21:25:22 +00:00
Ted Kremenek 7656f2b48b Update checker build.
llvm-svn: 80034
2009-08-25 21:14:54 +00:00
Daniel Dunbar 5a07d6a9c6 llvm-mc: Add statistic for number of fragments emitted by the assembler.
llvm-svn: 80033
2009-08-25 21:10:45 +00:00
Bill Wendling dd14b4a77a Add the #include here.
llvm-svn: 80032
2009-08-25 21:09:50 +00:00
Chris Lattner 3e6c7946df remove some dead lines.
llvm-svn: 80031
2009-08-25 21:01:56 +00:00
Bill Wendling 0b3500164b Comment formatting. Removing of unused #include and type forwarding.
OCD is fun!

llvm-svn: 80030
2009-08-25 21:01:42 +00:00
Chris Lattner 88093c7594 convert to filecheck style
llvm-svn: 80029
2009-08-25 20:57:38 +00:00
Ted Kremenek 3ed9543ace Fix crash reported in <rdar://problem/7124210> by "back-porting" some of the
implicit cast logic in RegionStoreManager to BasicStoreManager. This involved
moving CastRetriedVal from RegionStoreManager to StoreManager.

llvm-svn: 80026
2009-08-25 20:51:30 +00:00
Chris Lattner 6d9d5a9c94 convert to filecheck
llvm-svn: 80025
2009-08-25 20:49:04 +00:00
Bill Wendling 485591273c Add a target asm info hook to specify that particular bits of data in the FDE
should be forced to 32-bits (.long) even on 64-bit architectures. Darwin wants
these bits to be 64-bits (.quad). However, other platforms may disagree.

This is just the info right now and is part of a work-in-progress which needs
this. We'll add the actual *use* of this soon.

llvm-svn: 80024
2009-08-25 20:21:17 +00:00
Daniel Dunbar 4cf325e090 EXIT STAGE LEFT: gccas, gccld
llvm-svn: 80023
2009-08-25 20:21:09 +00:00
Steve Naroff 930210446f Update Xcode project file to include indexing source files.
llvm-svn: 80022
2009-08-25 19:57:00 +00:00
Sanjiv Gupta 7699191ffb Start refactoring PIC16 TargetObjectFile code. Eventually, all the stuff from
PIC16Section will move to MCSectionPIC16.

llvm-svn: 80021
2009-08-25 19:39:05 +00:00
Fariborz Jahanian 4174f2de26 Changed condition of an assert.
llvm-svn: 80020
2009-08-25 18:53:16 +00:00
Daniel Dunbar 9cc4970ed3 Switch abi-isel.ll to FileCheck; it's not much faster, but it now tests a lot
more and is much nicer to the OS.
 - Dan, please check. If there are parts of the test you think I should strip
   out so it doesn't cause random failures let me know (there are still some PIC
   label numbers in it, for example).

llvm-svn: 80019
2009-08-25 18:45:03 +00:00
Ted Kremenek 3a459dc8c9 Move logic of GRExprEngine::EvalBinOp to SValuator::EvalBinOp.
llvm-svn: 80018
2009-08-25 18:44:25 +00:00
Dan Gohman 2d0855605a Don't assume that two identical instructions that read from memory
will always return the same value. This isn't currently necessary,
since this code doesn't currently ever get called under circumstances
where it would matter, but it may some day.

llvm-svn: 80017
2009-08-25 17:56:57 +00:00
John McCall 1dfa9a9872 Modify an assert to capture the restriction on friend declarations more
accurately.  Prevents the assert from triggering incorrectly when friending 
functions first declared in extern "C" contexts.  Fixes bug 4757.

llvm-svn: 80016
2009-08-25 17:53:59 +00:00
Bob Wilson f1beef9f48 Remove some unused SDNode definitions.
llvm-svn: 80015
2009-08-25 17:52:39 +00:00
Dan Gohman f161e06e78 Teach ScalarEvolution about GlobalAliases.
llvm-svn: 80014
2009-08-25 17:49:57 +00:00
Dan Gohman 896ef2be35 Delete some unnecessary flushes.
llvm-svn: 80013
2009-08-25 17:48:17 +00:00
Dan Gohman 0f6bf2dbb8 Use X86II::MO_NO_FLAG.
llvm-svn: 80012
2009-08-25 17:47:44 +00:00
Bob Wilson 9129376719 Expose the instruction contraint string as an argument to the NLdSt class.
llvm-svn: 80011
2009-08-25 17:46:06 +00:00
Dan Gohman 337d56110e Special-case static allocas in IndVarSimplify's loop invariant
sinking code, since they are special. If the loop preheader happens
to be the entry block of a function, don't sink static allocas
out of it. This fixes PR4775.

llvm-svn: 80010
2009-08-25 17:42:10 +00:00
Owen Anderson 4e9ac2a34b Comment-ify.
llvm-svn: 80009
2009-08-25 17:42:07 +00:00
Owen Anderson f18cae4979 Switch to SmallVector.
llvm-svn: 80007
2009-08-25 17:35:37 +00:00
Owen Anderson 5e39d1deec Pull out this predicate loop into a helper function.
llvm-svn: 80006
2009-08-25 17:26:32 +00:00
Douglas Gregor 1d5e9f9368 Implement out-of-line definitions of nested class templates. Most of
the logic is there for out-of-line definitions with multiple levels of
nested templates, but this is still a work-in-progress: we're having
trouble determining when we should look into a dependent
nested-name-specifier. 

llvm-svn: 80003
2009-08-25 17:23:04 +00:00
David Goodwin ae6bc8214a Fixup register kills after scheduling.
llvm-svn: 80002
2009-08-25 17:03:05 +00:00
Anton Korobeynikov 271cdda8e1 Provide dynamic_stackalloc lowering for MSP430.
This fixes PR4769

llvm-svn: 80001
2009-08-25 17:00:23 +00:00