summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Turn GVN on by default.Owen Anderson2007-09-082-4/+2
| | | | llvm-svn: 41787
* Implement misaligned FP loads and stores.Dale Johannesen2007-09-082-11/+101
| | | | llvm-svn: 41786
* Fix description of the call instruction. There are two types, with one beingNick Lewycky2007-09-081-9/+15
| | | | | | optional. llvm-svn: 41785
* Fix for VisualStudio. It is treating a 2 bit enum as a signed int for ↵Chuck Rose III2007-09-081-1/+3
| | | | | | comparison purposes, causing failures. Using an extra bit fixes it. llvm-svn: 41784
* Don't rely on ADL to find this member, patch by Justin HandvilleChris Lattner2007-09-081-1/+1
| | | | llvm-svn: 41783
* Smarter Reset(). Instead of deallocating all memory regions and reallocate theEvan Cheng2007-09-081-5/+17
| | | | | | first region, just deallocate all but the last region in the list. llvm-svn: 41782
* TableGen no longer emit CopyFromReg nodes for implicit results in physicalEvan Cheng2007-09-073-90/+17
| | | | | | registers. The scheduler is now responsible for emitting them. llvm-svn: 41781
* -check-dead-stores now no longer prints out the function declarationsTed Kremenek2007-09-071-0/+1
| | | | | | | | for each function. This was the behavior prior to the following patch: http://llvm.org/viewvc/llvm-project?view=rev&revision=41779 llvm-svn: 41780
* Refactored driver options that perform analyses/work over CFGs to useTed Kremenek2007-09-071-52/+81
| | | | | | | | | | | | "CFGVisitor", which now handles all the boilerplate for iterating over the function definitions in a translation unit and building the CFGs. This logic was previously replicated for each driver option that used CFGs. The options -dump-cfg, -view-cfg, -check-dead-stores, and -dump-live-variables now use this refactored code. llvm-svn: 41779
* Add missing index versions of instructions to the map.Bill Wendling2007-09-072-1/+23
| | | | llvm-svn: 41776
* Avoid storing and reloading zeros and other constants from stack slotsDan Gohman2007-09-074-2/+22
| | | | | | by flagging the associated instructions as being trivially rematerializable. llvm-svn: 41775
* Apply feedback from previous patch.Dale Johannesen2007-09-0710-7504/+5540
| | | | llvm-svn: 41774
* Revert previous change to IR.Dale Johannesen2007-09-072-5/+4
| | | | llvm-svn: 41769
* Add support for having different alignment for objects on call frames.Rafael Espindola2007-09-075-9/+57
| | | | | | | The x86-64 ABI states that objects passed on the stack have 8 byte alignment. Implement that. llvm-svn: 41768
* Fixed compilation on Windows. Hartmut Kaiser2007-09-077-116/+313
| | | | | | | | Silenced a couple of warnings. Added *.vcproj file for new clangAnalysis library. Renamed Basic to clangBasic projects. llvm-svn: 41767
* Split eh.select / eh.typeid.for intrinsics into i32/i64 versions. This is ↵Anton Korobeynikov2007-09-078-110/+125
| | | | | | | | needed, because they just "mark" register liveins and we let frontend solve type issue, not lowering code :) llvm-svn: 41763
* Test for PR1641.Bill Wendling2007-09-071-0/+14
| | | | llvm-svn: 41762
* Don't zap back to back volatile load/storesChris Lattner2007-09-072-1/+15
| | | | llvm-svn: 41759
* Add lengthof and endof templates that hide a lot of sizeof computations.Owen Anderson2007-09-0716-47/+68
| | | | | | Patch by Sterling Stein! llvm-svn: 41758
* Added more checking in "dead stores" for values that are initializedTed Kremenek2007-09-062-1/+17
| | | | | | | | | | 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
* Minor bug fixes to corner cases where LiveVariables would crash on some CFGsTed Kremenek2007-09-061-2/+11
| | | | | | that contained no declarations, or when a variable is declared but never used. llvm-svn: 41756
* Forgot to check in the actual "dead stores" checker in the last commit!Ted Kremenek2007-09-062-0/+99
| | | | llvm-svn: 41755
* Added "Dead Stores", a flow-sensitive checker that checks for storesTed Kremenek2007-09-068-8/+80
| | | | | | | | | | 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
* LiveVariables:Ted Kremenek2007-09-064-57/+246
| | | | | | | | | | | | | | - 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
* The goal of this commit is to get just enough Sema support to recognize ↵Steve Naroff2007-09-0615-82/+230
| | | | | | | | | | | 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
* Constify to catch bugs.David Greene2007-09-062-4/+5
| | | | llvm-svn: 41751
* Next round of APFloat changes.Dale Johannesen2007-09-0632-437/+540
| | | | | | | | | | | | | | 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
* Proper handle case, when aliasee is external weak symbol referenced only by ↵Anton Korobeynikov2007-09-062-6/+17
| | | | | | | | alias itself. Also, fix a case, when target doesn't have weak symbols supported. llvm-svn: 41746
* Added LabelLoc to GotoStmt to record the source location of the label tokenTed Kremenek2007-09-062-4/+5
| | | | | | | | | in the actual GotoStmt. Fixed bug where GotoStmt::getSourceRange incorrectly used the target LabelStmt to compute its extent. llvm-svn: 41745
* Add instruction dump output. This helps find bugs.David Greene2007-09-061-0/+6
| | | | llvm-svn: 41744
* Pluggable coalescers inplementation.David Greene2007-09-067-2/+238
| | | | llvm-svn: 41743
* Added libClangAnalysisTed Kremenek2007-09-061-1/+1
| | | | llvm-svn: 41742
* Use isTrueWhenEqual. Thanks Chris!Nick Lewycky2007-09-061-8/+13
| | | | llvm-svn: 41741
* When the two operands of an icmp are equal, there are five possible predicatesNick Lewycky2007-09-062-1/+13
| | | | | | that would make the icmp true. Fixes PR1637. llvm-svn: 41740
* Fix a memory leak.Evan Cheng2007-09-062-1/+4
| | | | llvm-svn: 41739
* Added an early implementation of Live-Variables analysis built onTed Kremenek2007-09-068-3/+474
| | | | | | | | | | 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
* remove the FATAL classifier.Chris Lattner2007-09-062-3/+0
| | | | llvm-svn: 41736
* Fix a bug in X86InstrInfo::convertToThreeAddress that caused it to codegen:Evan Cheng2007-09-062-25/+64
| | | | | | | | leal (,%rcx,8), %rcx It should be leal (,%rcx,8), %ecx llvm-svn: 41735
* remove sorry.Chris Lattner2007-09-062-2/+1
| | | | llvm-svn: 41734
* LVXL and STVXL are also a load and store resp.Bill Wendling2007-09-051-0/+2
| | | | llvm-svn: 41733
* Start implementing Actions interface for ObjC classes, instance variables, ↵Steve Naroff2007-09-056-46/+137
| | | | | | | | and methods. Lot's of small changes to the parser. llvm-svn: 41732
* Patch for parsing objective-c style method calls.Fariborz Jahanian2007-09-052-1/+55
| | | | llvm-svn: 41731
* Accidentially left this out.Evan Cheng2007-09-051-1/+2
| | | | llvm-svn: 41730
* Use pool allocator for all the VNInfo's to improve memory access locality. ↵Evan Cheng2007-09-055-102/+92
| | | | | | 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
* Added Reset() to free all allocated memory regions and reset state to be the ↵Evan Cheng2007-09-052-0/+8
| | | | | | same as right after ctor. llvm-svn: 41728
* Missing break. Patch by Wojciech Matyjewicz.Evan Cheng2007-09-051-0/+1
| | | | llvm-svn: 41727
* Fix mod so it actually works. Fix conversions toDale Johannesen2007-09-051-9/+33
| | | | | | native types to handle denormals correctly. llvm-svn: 41726
* Forgot to obey 80 column rule. Fixing that.Chuck Rose III2007-09-051-1/+2
| | | | llvm-svn: 41725
* Moved tracking of CFG block IDs into the CFG class.Ted Kremenek2007-09-052-8/+9
| | | | | | Added CFG::getNumBlockIDs() to query the number of distinct block ids created. llvm-svn: 41724
* 1. Fix parsing of method prototype involving c-style argument declarations.Fariborz Jahanian2007-09-054-9/+90
| | | | | | | | 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
OpenPOWER on IntegriCloud