Commit Graph

65149 Commits

Author SHA1 Message Date
Fariborz Jahanian 001309371e Set and use Elidable in elimination of copy ctors.
llvm-svn: 78331
2009-08-06 19:12:38 +00:00
Bob Wilson 0127031c20 Implement Neon VST[234] operations.
llvm-svn: 78330
2009-08-06 18:47:44 +00:00
Bob Wilson e3ec5b6d76 Fix incorrect intrinsic declarations.
llvm-svn: 78329
2009-08-06 18:46:26 +00:00
Mike Stump 2d8d655922 Layout the primary base first in the vtable.
llvm-svn: 78327
2009-08-06 18:05:22 +00:00
Dale Johannesen 8d7f6f83fd Testcase for llvm-gcc 78324 (although in normal
testing mode it won't test much).

llvm-svn: 78325
2009-08-06 17:28:23 +00:00
Fariborz Jahanian 11a8e95a1a After reporting ill-formed copy constructor(12.8.p3)
don't recurs and crash.

llvm-svn: 78323
2009-08-06 17:22:51 +00:00
Dan Gohman b4764e5b7f Tidy up this testcase.
llvm-svn: 78322
2009-08-06 17:11:55 +00:00
David Goodwin b062c236c5 Add parameter to pattern classes to enable an itinerary to be specified for instructions. For now just use the existing itineraries or NoItinerary.
llvm-svn: 78321
2009-08-06 16:52:47 +00:00
Daniel Dunbar 0c4a959b28 s/ccc/clang/
llvm-svn: 78320
2009-08-06 16:47:53 +00:00
Chris Lattner 1ff90134a4 Fix several fixmes and clean up code by sinking *all* section
creation activity into the target-specific subclasses of TLOF.
Before this, globals with explicit sections could be created by
the base class.

1. make getOrCreateSection protected, add a new getExplicitSectionGlobal
   pure virtual method to assign sections to globals with a specified
   section.
2. eliminate getSpecialCasedSectionGlobals, which is now PIC specific.
3. eliminate the getKindForNamedSection virtual method, which is
   now just a static method for ELF.
4. Add implementions of getExplicitSectionGlobal for ELF/PECOFF/Darwin/PIC16.
   They are now all detangled and understandable, woo! :)

llvm-svn: 78319
2009-08-06 16:39:58 +00:00
John Mosby beb7ea2931 Reg Scavenging generalization (Thumb support):
- start support for new PEI w/reg alloc, allow running RS from emit{Pro,Epi}logue() target hooks.
- fix minor issue with recursion detection.

llvm-svn: 78318
2009-08-06 16:32:47 +00:00
Chris Lattner b29996eb23 go through PIC16TargetObjectFile to make sections instead of
creating them directly in the pic16 asmprinter.

llvm-svn: 78317
2009-08-06 16:27:28 +00:00
Douglas Gregor 15acfb9f50 When we encounter a dependent type that was parsed before we know that
we were going to enter into the scope of a class template or class
template partial specialization, rebuild that type so that it can
refer to members of the current instantiation, as in code like

  template<typename T>
  struct X {
    typedef T* pointer;
    pointer data();
  };

  template<typename T>
  typename X<T>::pointer X<T>::data() { ... }

Without rebuilding the return type of this out-of-line definition, the
canonical return type of the out-of-line definition (a TypenameType)
will not match the canonical return type of the declaration (the
canonical type of T*).

llvm-svn: 78316
2009-08-06 16:20:37 +00:00
Chris Lattner a7e2662770 reduce testcase.
llvm-svn: 78315
2009-08-06 16:14:33 +00:00
Mike Stump c255f3581a More layout for virtual tables for virtual bases. Still in progress.
llvm-svn: 78314
2009-08-06 15:50:11 +00:00
Devang Patel 9ef866f95f Fix comment.
llvm-svn: 78313
2009-08-06 15:39:34 +00:00
Dan Gohman 695d811ad5 Add assertion checks after the calls to LowerFormalArguments, LowerCall,
and LowerReturn, to verify that the targets' hooks have respected some
of their postconditions.

llvm-svn: 78312
2009-08-06 15:37:27 +00:00
Dan Gohman ee902509a8 Remove an over-aggressive assert. Functions with empty struct return
types don't have any return values, from CodeGen's perspective.
This fixes PR4688.

llvm-svn: 78311
2009-08-06 15:07:58 +00:00
Mike Stump a60f1fc54b Let's remember we want better codegen for these.
llvm-svn: 78310
2009-08-06 14:16:19 +00:00
Mike Stump 04df9b1d5e Testcase for a recent checkin for vbase layout ordering. I hate to
optimize and check for non-optimal code, but until the frontend is as
powerful as fold...

llvm-svn: 78309
2009-08-06 14:12:47 +00:00
Mike Stump 6b2556f829 Layout virtual bases. Work in progress.
llvm-svn: 78308
2009-08-06 13:41:24 +00:00
Anton Korobeynikov 3ebc08b5bd Add link to LLVM's Getting Started page.
Patch by John Thompson!

llvm-svn: 78307
2009-08-06 13:00:08 +00:00
Benjamin Kramer bd7d13fb70 Silence gcc warning about non-virtual destructors.
llvm-svn: 78306
2009-08-06 12:59:58 +00:00
Mike Stump c700b362c7 I have a dream, one day, we won't need to do this.
llvm-svn: 78305
2009-08-06 12:56:50 +00:00
Anton Korobeynikov d4f00616cf Add note about msys perl needed for windows/mingw32 builds.
Patch by John Thompson!

llvm-svn: 78304
2009-08-06 12:54:58 +00:00
Mike Stump e9c85a7f58 Fix spell-o.
llvm-svn: 78303
2009-08-06 12:52:13 +00:00
Zhongxing Xu 99e49073bc I forgot adding this header for r78298.
llvm-svn: 78302
2009-08-06 12:49:15 +00:00
Zhongxing Xu 107f75989c Last step of template cleanup: merge *BuilderImpl to *Builder.
Some Builders need further cleanup.

llvm-svn: 78301
2009-08-06 12:48:26 +00:00
Anton Korobeynikov 644caa0cdb Add tests for X86-64 code model handling. Small and kernel for now.
llvm-svn: 78300
2009-08-06 12:25:20 +00:00
Anton Korobeynikov d0439d0638 We need to sext global addresses in kernel code model, not zext
llvm-svn: 78299
2009-08-06 11:23:24 +00:00
Zhongxing Xu 82003da8d3 Core analysis engine template cleanup step 2:
merge GRCoreEngineImpl and GRCoreEngine.

Introduce a new interface class GRSubEngine as the subengine of GRCoreEngine.
GRExprEngine subclasses GRSubEngine now.

llvm-svn: 78298
2009-08-06 10:00:15 +00:00
Dan Gohman 130e2c7aed Fix a bug in x86's PreprocessForRMW logic that was exposed
by aggressive chain operand optimization. UpdateNodeOperands
does not modify the node in place if it would result in
a node identical to an existing node.

llvm-svn: 78297
2009-08-06 09:22:57 +00:00
Zhongxing Xu c5ce335f81 Fix comment.
llvm-svn: 78296
2009-08-06 09:22:08 +00:00
Dan Gohman 5758e1e92a Fix a few places in DAGCombiner that were creating all-ones-bits
and high-bits values in ways that weren't correct for integer
types wider than 64 bits. This fixes a miscompile in
PPMacroExpansion.cpp in clang on x86-64.

llvm-svn: 78295
2009-08-06 09:18:59 +00:00
Anton Korobeynikov 82db9891fa Missed part of recent kernel codemodel tweaks
llvm-svn: 78293
2009-08-06 09:11:19 +00:00
Douglas Gregor 71dc50915a Implement transformation of template names within the generic tree
transform, then use the result for template instantiation. The generic
transformation fixes a few issues:

  - It copes better with template template parameters and member
  templates (when they're implemented). 
  - The logic used to replace template template parameters with their
  arguments is now centralized in TransformDecl, so that it will apply
  for other declaration-instantiation steps.
  - The error-recovery strategy is normalized now, so that any error
  results in a NULL TemplateName.

llvm-svn: 78292
2009-08-06 06:41:21 +00:00
Zhongxing Xu c90a0c2e81 Core analysis engine template cleanup step 2:
merge ExplodedGraphImpl and ExplodedGraph.

llvm-svn: 78291
2009-08-06 06:28:40 +00:00
Ted Kremenek f368fa6728 Update test case.
llvm-svn: 78290
2009-08-06 06:26:40 +00:00
Chris Lattner 5ccb3af0aa add a testcase for my llvm-gcc hack.
llvm-svn: 78289
2009-08-06 06:18:52 +00:00
Daniel Dunbar 84f399103b Don't search the entire type table just to delete a type by name.
- This also fixes the ENABLE_EXPENSIVE_CHECKS failure on vmcore.ml.

llvm-svn: 78287
2009-08-06 06:04:35 +00:00
Douglas Gregor 1135c35c7c Implement transformation of nested-name-specifiers within the general
tree transformation. Template instantiation uses this general
transformation rather than implementing its own transformation.

llvm-svn: 78286
2009-08-06 05:28:30 +00:00
Ted Kremenek 54bd637f40 Fix typo reported in <rdar://problem/7121409>.
llvm-svn: 78285
2009-08-06 05:01:36 +00:00
Ted Kremenek 2c85f17922 Refactor RegionStoreManager::RemoveDeadBindings to also scan the bindings of LazyCompoundSVals.
llvm-svn: 78284
2009-08-06 04:50:20 +00:00
Douglas Gregor 3f4d51bb04 Predefine __cplusplus to the right value (199711L), except when in GNU mode.
llvm-svn: 78283
2009-08-06 04:09:28 +00:00
Sanjiv Gupta bdaaacad9a llvm-ld has a new option called -b to specify the name of bitcode output file, use that.
llvm-svn: 78282
2009-08-06 04:09:26 +00:00
Chris Lattner 87754848ab this passes.
llvm-svn: 78281
2009-08-06 03:55:49 +00:00
Ted Kremenek e587ca6f25 Remove unimplemented methods 'AddRegionView' and 'RemoveRegionView'. They are no longer needed.
llvm-svn: 78280
2009-08-06 03:41:56 +00:00
Ted Kremenek ed31f99efb When profiling an ExplodedNode, don't re-profile the state: they have
already been uniqued.

llvm-svn: 78279
2009-08-06 03:39:20 +00:00
Douglas Gregor d806156d54 Support nested-name-specifiers for C++ member access expressions, e.g.,
this->Base::foo

from James Porter!

llvm-svn: 78278
2009-08-06 03:17:00 +00:00
Andreas Bolka 3c7b95d9aa Simplify the ZIV tester to the max.
As suggested by Nick Lewycky.

llvm-svn: 78277
2009-08-06 03:10:33 +00:00