aboutsummaryrefslogtreecommitdiffstatshomepage
AgeCommit message (Expand)AuthorFilesLines
2005-04-07Add initial CSE passLinus Torvalds5-13/+304
2005-04-07Merge http://sparse-mw.bkbits.net:8080/janitorialLinus Torvalds18-748/+835
2005-04-07When expanding a constant short conditional, make sureLinus Torvalds1-0/+2
2005-04-07Update copyright notices a bit.Linus Torvalds12-12/+12
2005-04-07If all our dominators are the same pseudo, just use it.Linus Torvalds1-14/+17
2005-04-07Revert the last load dominator change.Linus Torvalds1-21/+4
2005-04-07If we find an exclusive dominating load, see if we can follow it further.Linus Torvalds1-4/+21
2005-04-07Remove incorrect left-over from (not useful) old load-loadLinus Torvalds1-2/+0
2005-04-07Move flow analysis out of "linearize.c" and into new "flow.c"Linus Torvalds6-774/+806
2005-04-07Make "value_pseudo()" always return the same pseudo forLinus Torvalds1-1/+14
2005-04-07try_to_simplify_phi() needs to skip killed phi entries.Linus Torvalds1-0/+2
2005-04-07If we have a phi-list of identical entries, collapse it toLinus Torvalds1-21/+38
2005-04-07Factor out the OP_LOAD -> OP_PHI rewrite into a separate function.Linus Torvalds1-23/+31
2005-04-07Don't bother finding dominating loads if we have to searchLinus Torvalds1-3/+9
2005-04-07Ignore uninteresting load-load dominance when converting loads.Linus Torvalds1-1/+7
2005-04-07check.c:welinder@troll.com2-4/+11
2005-04-07Do load conversion in reverse order of linearized output,Linus Torvalds1-2/+2
2005-04-07Fix partial dominance case in same basic block as load.Linus Torvalds1-0/+7
2005-04-07Simplify switches on compile-time constant values.Linus Torvalds2-0/+52
2005-04-07Make helper function to kill basic blocks.Linus Torvalds1-7/+12
2005-04-07Simplify multi-jump branches to branches.Linus Torvalds1-2/+13
2005-04-07Add helper function to insert a label at the current position.Linus Torvalds1-7/+26
2005-04-07Now that we unconditionally add a "default" case to the switchLinus Torvalds1-0/+1
2005-04-07Mark unreachable bb's so that you can tell at a glanceLinus Torvalds1-0/+5
2005-04-07Add the default fallthrough case in switch statement linearization.Linus Torvalds1-3/+13
2005-04-07Duh. Local symbols that have their address taken need toLinus Torvalds1-1/+6
2005-04-07Do some more block merging (follow branches).Linus Torvalds1-9/+71
2005-04-07Do some initial basic block packing and remove BB_REACHABLE flag.Linus Torvalds2-14/+99
2005-04-07Remove OP_MOV and copy_pseudo.Linus Torvalds2-28/+3
2005-04-07Do simple killing of dead stores.Linus Torvalds1-7/+108
2005-04-07Show phi source information, so that it's more obvious whichLinus Torvalds1-0/+7
2005-04-07Clean up pseudo and bb usage handling.Linus Torvalds2-57/+41
2005-04-07More dominator fixes.Linus Torvalds1-18/+19
2005-04-07Fix __typeof__ size evaluation.Linus Torvalds1-0/+1
2005-04-07Remove debugging output that I'd mistakenly left in.Linus Torvalds1-2/+0
2005-04-07Do symbol dominance checks for all used symbols.Linus Torvalds2-38/+78
2005-04-07Make sure we register bb usage when rewriting a branch.Linus Torvalds1-1/+1
2005-04-07Remove the phi node rewriting.Linus Torvalds1-48/+0
2005-04-07Add basic block usage list to bb.Linus Torvalds2-17/+37
2005-04-07Remove the horrid iterators.Linus Torvalds5-328/+30
2005-04-07Undo braindamage.Linus Torvalds2-2/+3
2005-04-07Duplicate type removal..Linus Torvalds2-3/+2
2005-04-07When we find a load without a dominator, turn it into a zero.Linus Torvalds1-2/+4
2005-04-07Allow loads to dominate loads.Linus Torvalds1-2/+18
2005-04-07Oops. Off-by-one error in finding dominating basic blocks.Linus Torvalds1-3/+3
2005-04-07Duh. Add usage information to the phi-nodes that we generateLinus Torvalds1-1/+3
2005-04-07Show large integers as hex.Linus Torvalds1-2/+7
2005-04-07Fix up bitfield accesses, and disable the phi-node dupsLinus Torvalds1-2/+4
2005-04-07Do a first pass at making symbols into pseudos.Linus Torvalds2-39/+135
2005-04-07Do some very rough (stupid) symbol access optimizations.Linus Torvalds2-16/+96
2005-04-07Duh. Fix sense of restricted assignment check.Linus Torvalds1-1/+1
2005-04-07Make "translation_unit()" do symbol evaluation too.Linus Torvalds11-32/+43
2005-04-07When showing symbol pseudos, show the symbol pointer too, not just the name.Linus Torvalds1-1/+1
2005-04-07Fix up handling of "return" target, aka the exitpoint ofLinus Torvalds1-6/+3
2005-04-07Fix up restricted type assignment checking.Linus Torvalds1-6/+16
2005-04-07Replace OP_LOAD/OP_STORE with OP_LNOP/OP_SNOP when making them irrelevant.Linus Torvalds2-2/+10
2005-04-07Make the linearizer only try to do power-of-2 "native" stores.Linus Torvalds1-0/+2
2005-04-07Duh. Fix micro-optimization.Linus Torvalds1-1/+2
2005-04-07Since we only use the freelist for small alignedLinus Torvalds1-2/+6
2005-04-07Optimize "create_hashed_ident()".Linus Torvalds1-1/+11
2005-04-07Avoid costly bitfield updates in tokenization.Linus Torvalds1-56/+48
2005-04-07Merge tove:BK/sparse into ppc970.osdl.org:/home/torvalds/BK/sparseLinus Torvalds2-6/+12
2005-04-07Uninline "nextchar()", and optimize.Linus Torvalds1-4/+10
2005-04-07Free more token memory for re-useLinus Torvalds1-0/+2
2005-04-07Move "pos.pos" to be the top bits of the word.Linus Torvalds1-2/+2
2005-04-07Make the pre-processor free the tokens that never make itLinus Torvalds1-15/+26
2005-04-07Add support for freeing constant-sized allocations.Linus Torvalds2-0/+27
2005-04-07Honor pre-processor conditionals even when they don't match within a stream.Linus Torvalds1-10/+6
2005-04-07Prettier debug printout - fix missing \nLinus Torvalds1-1/+1
2005-04-07Make it easier to see what replaced instructions.Linus Torvalds1-14/+23
2005-04-07Breep! Fix one millionth inlining bugLinus Torvalds1-2/+2
2005-04-07Remove deathnotesLinus Torvalds2-63/+9
2005-04-07Sanity-check the instructions we walk over when replacingLinus Torvalds1-5/+7
2005-04-07Make the pseudo usage list be a list of pointers toLinus Torvalds2-74/+66
2005-04-07When adding a list entry, we sometimes want theLinus Torvalds2-3/+6
2005-04-07Do a very stupid single-store usage simplification.Linus Torvalds1-0/+76
2005-04-07Add "argument pseudo" for incoming arguments to a function.Linus Torvalds2-1/+32
2005-04-07Make our "__builtin_va_arg()" thing a bit closer to real.Linus Torvalds1-1/+1
2005-04-07Make initializers use the proper symbol pseudo.Linus Torvalds1-1/+1
2005-04-07Show usage notes for symbols.Linus Torvalds5-5/+26
2005-04-07Add a few missing pseudo usage-notesLinus Torvalds1-0/+2
2005-04-07Each pseudo has its "def" pointer, they now also have "use" pointers.Linus Torvalds2-0/+25
2005-04-07Use the new value pseudos instead of add_const_value()Linus Torvalds1-12/+5
2005-04-07Remove EXPR_BITFIELD entirely.Linus Torvalds6-61/+7
2005-04-07Pack basic blocks only after phi node operations.Linus Torvalds1-1/+3
2005-04-07Fix up phi node simplification for new pseudos.Linus Torvalds1-23/+40
2005-04-07Simplify "copy_pseudo()"Linus Torvalds1-0/+3
2005-04-07Introduce "value pseudos" and implicit deathnotes.Linus Torvalds2-47/+77
2005-04-07misc pseudo cleanupsLinus Torvalds1-6/+16
2005-04-07Use the symbol pseudo concept for call targets too.Linus Torvalds1-5/+14
2005-04-07Allow "pseudo-pseudos", which are a temporary symbol reference.Linus Torvalds2-20/+45
2005-04-07Use direct symbol accesses for all symbols, not just locals.Linus Torvalds1-15/+2
2005-04-07Add usage refcounting to pseudos to make deathnotes come out right.Linus Torvalds2-7/+14
2005-04-07Re-do memory access linearization.Linus Torvalds2-104/+212
2005-04-07If two implied casts end up undoing each other, just remove them.Linus Torvalds1-0/+8
2005-04-07Separate explicit and implied casts.Linus Torvalds7-2/+9
2005-04-07Simplify implied casts.Linus Torvalds1-1/+36
2005-04-07Don't do assignment replacement at type evaluation time.Linus Torvalds2-113/+63
2005-04-07Only straight assignments are confusing in conditionals.Linus Torvalds1-1/+1
2005-04-07Don't bother masking the value we store into a bitfield.Linus Torvalds1-7/+3
2005-04-07Don't warn about assignments in iterator conditionals.Linus Torvalds1-8/+8
2005-04-07Remove expansion of "short" conditionals at evaluation time.Linus Torvalds2-71/+90
2005-04-07Don't change conditionals upon evaluation.Linus Torvalds1-34/+7
2005-04-07Using a preprocessor symbol makes it non-weak.Linus Torvalds1-3/+11
2005-04-07Make #ifdef/#ifndef/defined() all use the same helper function.Linus Torvalds1-14/+11
2005-04-07Merge troll.com:/scratch/welinder/linus-sparsewelinder@troll.com31-704/+1381
2005-04-07Use linearize_ptr_list() to avoid internal knowledge about theLinus Torvalds1-9/+10
2005-04-07Add "linearize_ptr_list()" to turn a pointer list into an array.Linus Torvalds2-0/+30
2005-04-07Use "weak_define" for __SIZE_TYPE__ and __STDC__Linus Torvalds1-3/+2
2005-04-07Add "weak" definesLinus Torvalds2-2/+19
2005-04-07When re-defining a symbol, let the new definition shine through.Linus Torvalds1-0/+2
2005-04-07[PATCH] linearize bitfield initializerChristopher Li1-10/+12
2005-04-07Fix up dropped bit checkLinus Torvalds1-6/+11
2005-04-07enums, bitfields and nodes pick up their signednessLinus Torvalds4-7/+16
2005-04-07Make the cast truncation warning a bit more readable.Linus Torvalds1-1/+3
2005-04-07Make casts warn if they drop bits from constant values.Linus Torvalds1-3/+10
2005-04-07Set the bit_offset in the SYM_BITFIELD entry too, not justLinus Torvalds1-0/+1
2005-04-07Remove "fieldwidth" member of struct symbolLinus Torvalds6-39/+21
2005-04-07Make bitfield assignment type evaluation aware of the bit offset.Linus Torvalds1-0/+2
2005-04-07Fix up structure bitfield placement.Linus Torvalds1-1/+10
2005-04-07Check integer/FP promotion early in compatible_assignment_types()Linus Torvalds1-6/+6
2005-04-07Examine bitfield symbols properly.Linus Torvalds1-1/+1
2005-04-07[PATCH] Linearize initializerChristopher Li1-39/+60
2005-04-07Don't generate invalid phi-nodes.Linus Torvalds1-2/+2
2005-04-07Remove stale EXPR_ASSIGNMENT binop linearization.Linus Torvalds1-17/+0
2005-04-07Do silly phi-node "expansion" as the last phase of theLinus Torvalds2-0/+64
2005-04-07Prevent buffer overrun in show_string.welinder@troll.com1-1/+1
2005-04-07Use proper ptrdiff_t printf argument.Linus Torvalds1-1/+1
2005-04-07[PATCH] __builtin_frame_addressfzago@systemfabricworks.com1-1/+2
2005-04-07Add deathnotes for block statement nodes and void casts.Linus Torvalds1-2/+8
2005-04-07Remove remnants of two-expression x ? : y handling..Linus Torvalds4-29/+11
2005-04-07Add deathnotes for the pseudo's we use.Linus Torvalds2-18/+77
2005-04-07Fix show-linearize symbol SETVAL output.Linus Torvalds1-5/+8
2005-04-07Make lock context warnings a bit more readable.Linus Torvalds1-5/+5
2005-04-07Make sure to examine restricted types too.Linus Torvalds1-0/+3
2005-04-07Use 'bad_type' instead of NULL when something bad happensLinus Torvalds5-20/+16
2005-04-07Implement a C99-like _Bool type.Linus Torvalds3-1/+4
2005-04-07Fix up integer promotion so that it works on allLinus Torvalds1-11/+17
2005-04-07Add comment on what caused type examination recursion.Linus Torvalds1-0/+6
2005-04-07Merge http://sparse-mw.bkbits.net:8080/janitorialLinus Torvalds1-53/+70
2005-04-07Clean up symbol examination some more.Linus Torvalds1-53/+70
2005-04-07Merge troll.com:/scratch/welinder/linus-sparsewelinder@troll.com1-4/+15
2005-04-07Don't recurse on struct/union symbol examine, if the struct Linus Torvalds1-0/+1
2005-04-07Don't generate invalid statements when encountering aLinus Torvalds1-0/+1
2005-04-07Allow longer number tokens (up to 4095 characters) and catchwelinder@troll.com1-4/+15
2005-04-07Be more forgiving about bad 'goto' statement linearization.Linus Torvalds1-1/+4
2005-04-07Do base_type examination in common code in examine_symbol_type().Linus Torvalds1-16/+14
2005-04-07When re-evaluating the type of a function agument (because it wasLinus Torvalds1-0/+1
2005-04-07[PATCH] More validation testsRalf.Wildenhues@gmx.de6-0/+69
2005-04-07Increase identifier hash sizeLinus Torvalds1-2/+3
2005-04-07Fix cost of a simplified int/fp binop expression.Linus Torvalds1-2/+2
2005-04-07Implement __builtin_safe_p() to match __builtin_constant_p.Linus Torvalds3-30/+33
2005-04-07Now that we don't do array sizing at symbol eval time any more,Linus Torvalds1-34/+28
2005-04-07Allow zero-sized array initializers.Linus Torvalds1-2/+1
2005-04-07Don't SIGSEGV on NULL pseudo_t's when showing bad instructions.Linus Torvalds1-20/+28
2005-04-07Do array sizing at "examine_symbol_type()" time.Linus Torvalds2-35/+80
2005-04-07Make context count warning be controllable with "-Wcontext" flag.Linus Torvalds3-4/+7
2005-04-07Make context attributes additive.Linus Torvalds1-4/+4
2005-04-07Start "linearizing" initializers.Linus Torvalds2-22/+97
2005-04-07Break out STMT_COMPOUND linearization into a function of its own.Linus Torvalds1-27/+32
2005-04-07Fix inlining: we didn't copy the switch case symbol list.Linus Torvalds1-0/+3
2005-04-07Do some trivial statement simplification.Linus Torvalds1-18/+52
2005-04-07Make "show_bb()" show the source location of the basic blocksLinus Torvalds1-1/+3
2005-04-07Remove 'pos' argument from "add_one_insn()".Linus Torvalds1-18/+17
2005-04-07Output context change markers when linearizing function calls.Linus Torvalds1-0/+17
2005-04-07Use the in_context/out_context information in the context balanceLinus Torvalds1-15/+17
2005-04-07Replace context/contextmask (never used) with in_context/out_context.Linus Torvalds5-49/+16
2005-04-07Associate each pseudo with the instruction that defines it.Linus Torvalds2-23/+28
2005-04-07Simplify <phi+br> basic blocks.Linus Torvalds1-0/+79
2005-04-07Make context imbalance checker print out slightly betterLinus Torvalds1-12/+16
2005-04-07Add "struct position" to basic blocks, and give it someLinus Torvalds2-17/+19
2005-04-07Duh. It's ok to not have any instructions in a bb.Linus Torvalds1-0/+2
2005-04-07Copy STMT_INTERNAL properly when inliningLinus Torvalds1-0/+1
2005-04-07Get rid of the old "iterate()" interfaces.Linus Torvalds10-133/+93
2005-04-07Make "check" (aka "sparse") check for context imbalance.Linus Torvalds1-1/+64
2005-04-07Add an internal sparse "context" statement type.Linus Torvalds8-2/+50
2005-04-07Clean up declarator sym->ident handling.Linus Torvalds1-24/+14
2005-04-07Make "bind_symbol()" also set sym->ident.Linus Torvalds1-1/+3
2005-04-07Add __sizeof_ptr__ that looks at a pointer expression andLinus Torvalds6-60/+121
2005-04-07Mark more identifiers reserved.Linus Torvalds1-6/+7
2005-04-07Merge troll.com:/scratch/welinder/linus-sparsewelinder@troll.com4-15/+29
2005-04-07test-linearize.c:welinder@troll.com4-14/+26
2005-04-07Merge troll.com:/scratch/welinder/linus-sparsewelinder@troll.com2-18/+44
2005-04-07Merge troll.com:/scratch/welinder/linus-sparsewelinder@troll.com2-18/+44
2005-04-07Fix up "enum" base types.Linus Torvalds1-13/+26
2005-04-07Show the base-type for an enum in "show_typename()".Linus Torvalds1-1/+1
2005-04-07Fix symbol_debug() symbol type print-out.Linus Torvalds1-4/+17
2005-04-07Reorganize integer and floating point defines into specs.welinder@troll.com1-23/+25
2005-04-07Don't add declarations when -E is used.welinder@troll.com1-9/+11
2005-04-07Handle __func__, __FUNCTION__ and __PRETTY_FUNCTION__ the sameLinus Torvalds6-32/+68
2005-04-07Handle bad strings gracefully. Linus Torvalds1-0/+2
2005-04-07Be a bit nicer about showing string constants.Linus Torvalds1-0/+4
2005-04-07Make 'make install' check the target install directory.Linus Torvalds1-1/+10
2005-04-07lib.c:welinder@troll.com2-6/+38
2005-04-07Merge troll.com:/scratch/welinder/linus-sparsewelinder@troll.com1-1/+6
2005-04-07Merge http://sparse-mw.bkbits.net:8080/janitorialLinus Torvalds1-1/+1
2005-04-07Add __FUNCTION__ and __PRETTY_FUNCTION__ defines.welinder@troll.com1-1/+6
2005-04-07Add -no-compilewelinder@troll.com1-20/+33
2005-04-07Handle asm __volatile variant too.welinder@troll.com1-1/+1
2005-04-07Introduce the notion of "reserved" identifiers. Linus Torvalds4-24/+56