- Sep 07, 2007
-
-
Owen Anderson authored
Patch by Sterling Stein! llvm-svn: 41758
-
Ted Kremenek authored
but never used. Fix a bug in LiveVariables where uses on the LHS of self-assign operators (e.g +=, *=, etc) would not be properly recorded in the liveness state of the variable. llvm-svn: 41757
-
Ted Kremenek authored
that contained no declarations, or when a variable is declared but never used. llvm-svn: 41756
-
Ted Kremenek authored
llvm-svn: 41755
-
Ted Kremenek authored
to variables that are no longer live. This analysis is built on top of CFGs and the LiveVariables analysis. changes to driver: added driver option "-check-dead-stores" to run the analysis llvm-svn: 41754
-
- Sep 06, 2007
-
-
Ted Kremenek authored
- Finished 99% of analysis logic. Probably a few bugs. - Added querying functions to query liveness. - Added better pretty printing of liveness. - Added better bookkeeping of per-variable liveness information. - Added LiveVariablesAuditor interface, which allows "lazy" querying of intra-basic block liveness information. Driver: - Minor cleanups involved in dumping liveness information. llvm-svn: 41753
-
Steve Naroff authored
The goal of this commit is to get just enough Sema support to recognize Objective-C classes as types. That said, the AST nodes ObjcInterfaceDecl, ObjcInterfaceType, and ObjcClassDecl are *very* preliminary. The good news is we no longer need -parse-noop (aka MinimalActions) to parse cocoa.m. llvm-svn: 41752
-
David Greene authored
Constify to catch bugs. llvm-svn: 41751
-
Dale Johannesen authored
Use APFloat in UpgradeParser and AsmParser. Change all references to ConstantFP to use the APFloat interface rather than double. Remove the ConstantFP double interfaces. Use APFloat functions for constant folding arithmetic and comparisons. (There are still way too many places APFloat is just a wrapper around host float/double, but we're getting there.) llvm-svn: 41747
-
Anton Korobeynikov authored
Also, fix a case, when target doesn't have weak symbols supported. llvm-svn: 41746
-
Ted Kremenek authored
in the actual GotoStmt. Fixed bug where GotoStmt::getSourceRange incorrectly used the target LabelStmt to compute its extent. llvm-svn: 41745
-
David Greene authored
Add instruction dump output. This helps find bugs. llvm-svn: 41744
-
David Greene authored
Pluggable coalescers inplementation. llvm-svn: 41743
-
Ted Kremenek authored
llvm-svn: 41742
-
Nick Lewycky authored
llvm-svn: 41741
-
Nick Lewycky authored
that would make the icmp true. Fixes PR1637. llvm-svn: 41740
-
Evan Cheng authored
llvm-svn: 41739
-
Ted Kremenek authored
source-level CFGs. This code may change significantly in the near future as we explore different means to implement dataflow analyses. Added a driver option, -dump-live-variables, to view the output of live variable analysis. This output is very ALPHA; it will be improved shortly. llvm-svn: 41737
-
Chris Lattner authored
llvm-svn: 41736
-
Evan Cheng authored
leal (,%rcx,8), %rcx It should be leal (,%rcx,8), %ecx llvm-svn: 41735
-
Chris Lattner authored
llvm-svn: 41734
-
Bill Wendling authored
llvm-svn: 41733
-
Steve Naroff authored
Start implementing Actions interface for ObjC classes, instance variables, and methods. Lot's of small changes to the parser. llvm-svn: 41732
-
Fariborz Jahanian authored
llvm-svn: 41731
-
- Sep 05, 2007
-
-
Evan Cheng authored
llvm-svn: 41730
-
Evan Cheng authored
Use pool allocator for all the VNInfo's to improve memory access locality. This reduces coalescing time on siod Mac OS X PPC by 35%. Also remove the back ptr from VNInfo to LiveInterval and other tweaks. llvm-svn: 41729
-
Evan Cheng authored
Added Reset() to free all allocated memory regions and reset state to be the same as right after ctor. llvm-svn: 41728
-
Evan Cheng authored
llvm-svn: 41727
-
Dale Johannesen authored
native types to handle denormals correctly. llvm-svn: 41726
-
Chuck Rose III authored
llvm-svn: 41725
-
Ted Kremenek authored
Added CFG::getNumBlockIDs() to query the number of distinct block ids created. llvm-svn: 41724
-
Fariborz Jahanian authored
2. Fixes all allowable key-words used as selectors. 3. Template to do the messaging parse. 4. A test case for all allowable selector names. llvm-svn: 41723
-
Dale Johannesen authored
representable to use hex format. llvm-svn: 41722
-
Chuck Rose III authored
Added default parameters to GetElementPtrInstr constructor call. Visual Studio 2k5 was getting confused and was unable to compile it. Suspected compiler error. llvm-svn: 41721
-
Duncan Sands authored
may be the same as the first label for the following invoke. Remove a micro-optimization which was wrong in this case. llvm-svn: 41720
-
Duncan Sands authored
llvm-svn: 41719
-
Duncan Sands authored
labels are generated bracketing each call (not just invokes). This is used to generate entries in the exception table required by the C++ personality. However it gets in the way of tail-merging. This patch solves the problem by no longer placing labels around ordinary calls. Instead we generate entries in the exception table that cover every instruction in the function that wasn't covered by an invoke range (the range given by the labels around the invoke). As an optimization, such entries are only generated for parts of the function that contain a call, since for the moment those are the only instructions that can throw an exception [1]. As a happy consequence, we now get a smaller exception table, since the same region can cover many calls. While there, I also implemented folding of invoke ranges - successive ranges are merged when safe to do so. Finally, if a selector contains only a cleanup, there's a special shorthand for it - place a 0 in the call-site entry. I implemented this while there. As a result, the exception table output (excluding filters) is now optimal - it cannot be made smaller [2]. The problem with throw filters is that folding them optimally is hard, and the benefit of folding them is minimal. [1] I tested that having trapping instructions (eg divide by zero) in such a region doesn't cause trouble. [2] It could be made smaller with the help of higher layers, eg by having branch folding reorder basic blocks ending in invokes with the same landing pad so they follow each other. I don't know if this is worth doing. llvm-svn: 41718
-
Bill Wendling authored
llvm-svn: 41717
-
- Sep 04, 2007
-
-
Fariborz Jahanian authored
llvm-svn: 41716
-
Steve Naroff authored
Simplified initializer semantic analysis by adding the following 2 methods: - ArrayType::getBaseType(), and - ConstantArrayType::getMaximumElements(). Wanted to do this cleanup before adding structure support, which will add more complexity. llvm-svn: 41715
-