summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* GR16_ sub-register class should be GR8_, not GR8. That is, it should only be ↵Evan Cheng2007-08-091-3/+4
| | | | | | 8-bit registers in 32-bit mode. Ditto for GR32_. llvm-svn: 40970
* implement dumper support for declstmt's. The dumper is now "done".Chris Lattner2007-08-091-25/+31
| | | | llvm-svn: 40969
* implement dumper support for the rest of expressions.Chris Lattner2007-08-091-75/+54
| | | | llvm-svn: 40968
* move a switch to common code.Chris Lattner2007-08-092-10/+14
| | | | llvm-svn: 40967
* minor fixesChris Lattner2007-08-091-2/+3
| | | | llvm-svn: 40966
* Update per review comments.Dale Johannesen2007-08-092-32/+17
| | | | llvm-svn: 40965
* dump strings with escapes and other stuff in them nicely.Chris Lattner2007-08-091-16/+15
| | | | llvm-svn: 40964
* minor cleanupsChris Lattner2007-08-091-6/+4
| | | | llvm-svn: 40963
* __attribute__ starts a declspec.Chris Lattner2007-08-091-1/+3
| | | | llvm-svn: 40962
* Make NonLocal and None const in the right way. :-)Owen Anderson2007-08-095-32/+30
| | | | llvm-svn: 40961
* Traverse loop blocks' terminators to find split candidates.Devang Patel2007-08-091-48/+106
| | | | llvm-svn: 40960
* add dumping support for some new nodesChris Lattner2007-08-091-59/+15
| | | | llvm-svn: 40959
* long double 9 of N. This finishes up the X86-32 bitsDale Johannesen2007-08-094-23/+96
| | | | | | | | (constants are still not handled). Adds ConvertActions to control fp-to-fp conversions (these are currently defaulted for all other targets, so no changes there). llvm-svn: 40958
* Fix arguments for some Altivec instructions. From SWB.Dale Johannesen2007-08-091-9/+15
| | | | llvm-svn: 40957
* Dump out types for expressions, and handle typedefs nicely. Chris Lattner2007-08-091-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | This allows us to dump: typedef short S; int test(S X, long long Y) { return X < ((100)); } as: typedef short S; int test(S X, long long Y) (CompoundStmt 0x2905d40 (ReturnStmt 0x2905d30 (BinaryOperator 0x2905d10 'int' '<' (ImplicitCastExpr 0x2905d00 'int' (DeclRefExpr 0x2905c80 'S':'short' Decl='X' 0x2905c20)) (ParenExpr 0x2905ce0 'int' (ParenExpr 0x2905cc0 'int' (IntegerLiteral 0x2905ca0 'int' 100)))))) llvm-svn: 40956
* If a target really needs to custom lower constants, it should be allowedScott Michel2007-08-081-3/+11
| | | | | | to do so. llvm-svn: 40955
* add a new AST dumper interface (E->dump()). This dumps outChris Lattner2007-08-088-20/+638
| | | | | | | | | | | | | | | | | | | | | | | | | the AST in a structural, non-pretty, form useful for understanding the AST. It isn't quite done yet, but is already somewhat useful. For this example: int test(short X, long long Y) { return X < ((100)); } we get (with -parse-ast-dump): int test(short X, long long Y) (CompoundStmt 0x2905ce0 (ReturnStmt 0x2905cd0 (BinaryOperator 0x2905cb0 '<' (ImplicitCastExpr 0x2905ca0 (DeclRefExpr 0x2905c20 Decl='X' 0x2905bb0)) (ParenExpr 0x2905c80 (ParenExpr 0x2905c60 (IntegerLiteral 0x2905c40 100)))))) llvm-svn: 40954
* Add more comments to memdep.Owen Anderson2007-08-081-1/+27
| | | | llvm-svn: 40953
* Add cost analysis.Devang Patel2007-08-081-11/+41
| | | | llvm-svn: 40952
* Finish implementing __builtin_classify_type()...Steve Naroff2007-08-085-0/+123
| | | | llvm-svn: 40951
* Make memdep fit in 80 cols.Owen Anderson2007-08-081-15/+26
| | | | llvm-svn: 40950
* Add one more comment.Owen Anderson2007-08-081-0/+3
| | | | llvm-svn: 40949
* Cleanup and comment-ize the memdep header.Owen Anderson2007-08-081-11/+18
| | | | llvm-svn: 40948
* Preserve dom info while processing one iteration loop.Devang Patel2007-08-081-0/+17
| | | | llvm-svn: 40947
* Change the None and NonLocal markers in memdep to be const.Owen Anderson2007-08-085-30/+30
| | | | llvm-svn: 40946
* Separate program name from error message with a :Reid Spencer2007-08-081-1/+1
| | | | llvm-svn: 40945
* Clear split info.Devang Patel2007-08-081-0/+11
| | | | llvm-svn: 40944
* Terminate an error message with a newline.Reid Spencer2007-08-081-1/+1
| | | | llvm-svn: 40943
* Handle multiple split conditions.Devang Patel2007-08-081-60/+93
| | | | llvm-svn: 40941
* Make it clear that getSTDIN returns null when stdin is empty.Reid Spencer2007-08-081-1/+1
| | | | llvm-svn: 40940
* Make getSTDIN return null if the standard input is empty, as the header fileReid Spencer2007-08-081-2/+4
| | | | | | documentation implies and as its uses depend. llvm-svn: 40939
* Allow the filename "-" to be a place holder for stdin. This allows directingReid Spencer2007-08-081-0/+16
| | | | | | stdin through llvm-ld and llvm-link. llvm-svn: 40938
* Global values also don't undead-ify pointers in our dead alloca's set.Owen Anderson2007-08-081-0/+3
| | | | llvm-svn: 40936
* Make handleEndBlock significantly faster with one trivial improvement,Owen Anderson2007-08-081-4/+30
| | | | | | and one hack to avoid hitting a bad case when the alias analysis is imprecise. llvm-svn: 40935
* Small improvement: if a function doesn't access memory, we don't need to scanOwen Anderson2007-08-081-2/+8
| | | | | | it for potentially undeading pointers. llvm-svn: 40933
* Add some comments, remove a dead argument, and simplify some control flow.Owen Anderson2007-08-081-19/+28
| | | | | | No functionality change. llvm-svn: 40932
* now that implicit conversions are explicit, we can eliminate Chris Lattner2007-08-082-133/+31
| | | | | | EmitUsualArithmeticConversions. llvm-svn: 40931
* Add support for __builtin_classify_type(). This builtin function isn't ↵Steve Naroff2007-08-082-3/+14
| | | | | | | | | | | "public", however it is used by "tgmath.h" (so we need to support it). It might also come in handy when developing the overloaded function macros for OpenCU. Next check-in will make this an integer constant expression... llvm-svn: 40930
* now that implicit conversions are explicit, we can eliminateChris Lattner2007-08-082-125/+45
| | | | | | EmitExprWithUsualUnaryConversions. llvm-svn: 40929
* eliminate redundant conditions from the signless types conversion.Chris Lattner2007-08-081-7/+4
| | | | llvm-svn: 40927
* Handle functions with no name better.Chris Lattner2007-08-081-1/+2
| | | | llvm-svn: 40926
* Adding kill info to val#.Evan Cheng2007-08-082-3/+25
| | | | llvm-svn: 40925
* significantly speed up constant folding of calls (and thus all clients that useChris Lattner2007-08-081-94/+131
| | | | | | | | ConstantFoldInstruction on calls) by avoiding Value::getName(). getName() constructs and returns an std::string, which does heap allocation stuff. This slightly speeds up instcombine. llvm-svn: 40924
* Speed up updateDFSNumbers with two observations:Chris Lattner2007-08-081-22/+17
| | | | | | | | | | | 1. domtree is a tree, not a graph. There is no need to avoid revisiting nodes with a set. 2. the worklist can contain the child iterator pointers so we don't get N^2 rescanning of children. This speeds up updateDFSNumbers significantly, making it basically free. On the testcase in PR1432, this speeds up loopsimplify by another 3x, dropping it from the 12th most expensive pass to the to the 30th. :) It used to be #1. llvm-svn: 40923
* A few more small cleanups.Owen Anderson2007-08-081-9/+7
| | | | llvm-svn: 40922
* Clean up and bug fix.Evan Cheng2007-08-082-6/+6
| | | | llvm-svn: 40921
* reimplement dfs number computation to be significantly faster. This speeds upChris Lattner2007-08-083-57/+42
| | | | | | | natural loop canonicalization (which does many cfg xforms) by 4.3x, for example. This also fixes a bug in postdom dfnumber computation. llvm-svn: 40920
* First round of cleanups from Chris' feedback.Owen Anderson2007-08-081-51/+58
| | | | llvm-svn: 40919
* - Each val# can have multiple kills.Evan Cheng2007-08-084-30/+31
| | | | | | | - Fix some minor bugs related to special markers on val# def. ~0U means undefined, ~1U means dead val#. llvm-svn: 40916
* Embrace patch review feedback.Devang Patel2007-08-081-23/+23
| | | | llvm-svn: 40915
OpenPOWER on IntegriCloud