- Oct 10, 2009
-
-
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
-
Douglas Gregor authored
llvm-svn: 83686
-
Douglas Gregor authored
llvm-svn: 83685
-
Devang Patel authored
Extract scope information from the variable itself, instead of relying on alloca or llvm.dbg.declare location. While recording beginning of a function, use scope info from the first location entry instead of just relying on first location entry itself. llvm-svn: 83684
-
Douglas Gregor authored
llvm-svn: 83681
-
Douglas Gregor authored
- Filter out unnamed declarations - Filter out declarations whose names are reserved for the implementation (e.g., __bar, _Foo) - Place OVERLOAD: or COMPLETION: at the beginning of each code-completion result, so we can easily separate them from other compilation results. llvm-svn: 83680
-
Anders Carlsson authored
llvm-svn: 83679
-
Jeffrey Yasskin authored
mappings, which could cause errors and assert-failures. This patch fixes that, adds a test, and refactors the global-mapping-removal code into a single place. llvm-svn: 83678
-
Dan Gohman authored
llvm-svn: 83677
-
Devang Patel authored
llvm-svn: 83676
-
- Oct 09, 2009
-
-
Dale Johannesen authored
constants used in inlining heuristics (especially those used in more than one file). No functional change. llvm-svn: 83675
-
John McCall authored
pass a LookupResult reference to lookup routines. Call out uses which assume a single result. llvm-svn: 83674
-