- Oct 11, 2009
-
-
Chris Lattner authored
what it does. llvm-svn: 83740
-
Anton Korobeynikov authored
Remove impdef of SRW. This fixes PR4779 llvm-svn: 83739
-
Chris Lattner authored
llvm-svn: 83738
-
Chris Lattner authored
llvm-svn: 83737
-
Chris Lattner authored
llvm-svn: 83736
-
- Oct 10, 2009
-
-
Chris Lattner authored
llvm-svn: 83735
-
Chris Lattner authored
llvm-svn: 83734
-
Chris Lattner authored
llvm-svn: 83733
-
Anders Carlsson authored
llvm-svn: 83732
-
Fariborz Jahanian authored
variable inside the block. llvm-svn: 83729
-
Duncan Sands authored
llvm-svn: 83728
-
Benjamin Kramer authored
llvm-svn: 83724
-
Duncan Sands authored
llvm-svn: 83722
-
Chris Lattner authored
llvm-svn: 83721
-
Duncan Sands authored
clang static analyser. Decrease duplication in the text. llvm-svn: 83720
-
Chris Lattner authored
llvm-svn: 83719
-
Chris Lattner authored
llvm-svn: 83717
-
Chris Lattner authored
llvm-svn: 83716
-
Chris Lattner authored
llvm-svn: 83715
-
Sebastian Redl authored
Implement the core checking for compatible exception specifications in assignment and initialization. The exception specification of the assignee must be the same or a subset of the target. In addition, exception specifications on arguments and return types must be equivalent, but this is not implemented yet. This currently produces two diagnostics for every invalid assignment/initialization, due to the diagnostic produced outside PerformImplicitConversion, e.g. in CheckSingleInitializer. I don't know how to suppress this; in any case I think it is the wrong place for a diagnostic, since there are other diagnostics produced inside the function. So I'm leaving it as it is for the moment. llvm-svn: 83710
-
Chris Lattner authored
llvm-svn: 83707
-
Chris Lattner authored
DemoteRegToStack. This makes it more efficient (because it isn't creating a ton of load/stores that are eventually removed by a later mem2reg), and more slightly more effective (because those load/stores don't get in the way of threading). llvm-svn: 83706
-
Chris Lattner authored
works on unstructured CFGs. This implements PR217, our oldest open PR. llvm-svn: 83705
-
Chris Lattner authored
a Value* to a WeakVH was constructing a temporary WeakVH (due to the implicit assignment operator). This avoids that cost. llvm-svn: 83704
-
Chris Lattner authored
llvm-svn: 83703
-
Chris Lattner authored
Use, to complement the version that takes a use_iterator. llvm-svn: 83702
-
Chris Lattner authored
llvm-svn: 83701
-
John McCall authored
Split the various ambiguous result enumerators into their own enum. Tests for most of C++ [namespace.qual]. llvm-svn: 83700
-
Dan Gohman authored
into MachineInstrs. This is mostly just moving the code from ScheduleDAGSDNodesEmit.cpp into a new class. This decouples MachineInstr emitting from scheduling. llvm-svn: 83699
-
Dan Gohman authored
since it won't do any folding. This will help avoid some inconvenient casting. llvm-svn: 83698
-
Dan Gohman authored
llvm-svn: 83697
-
Dan Gohman authored
MachineInstr::isInvariantLoad instead, which has the benefit of being more complete. llvm-svn: 83696
-
Dan Gohman authored
llvm-svn: 83695
-
Anders Carlsson authored
llvm-svn: 83694
-
Anders Carlsson authored
llvm-svn: 83693
-
Anders Carlsson authored
Add CheckCallReturnType and start using it for regular call expressions. This will improve error messages. For struct B; B f(); void g() { f(); } We now get t.cpp:6:3: error: calling 'f' with incomplete return type 'struct B' f(); ^~~ t.cpp:3:3: note: 'f' declared here B f(); ^ t.cpp:1:8: note: forward declaration of 'struct B' struct B; ^ llvm-svn: 83692
-
Dan Gohman authored
it isn't needed in the ScheduleDAGSDNodes schedulers. llvm-svn: 83691
-
Dan Gohman authored
fewer remat. llvm-svn: 83690
-
Dan Gohman authored
when loading from an invariant memory location. llvm-svn: 83688
-
Dan Gohman authored
is trivially rematerializable and integrate it into TargetInstrInfo::isTriviallyReMaterializable. This way, all places that need to know whether an instruction is rematerializable will get the same answer. This enables the useful parts of the aggressive-remat option by default -- using AliasAnalysis to determine whether a memory location is invariant, and removes the questionable parts -- rematting operations with virtual register inputs that may not be live everywhere. llvm-svn: 83687
-