Skip to content
  1. Jan 20, 2008
  2. Jan 19, 2008
  3. Jan 18, 2008
  4. Jan 17, 2008
    • Ted Kremenek's avatar
      Modified the notion of "Block-level expressions" in CFGs to include Stmt*. This · 85be7cf8
      Ted Kremenek authored
      is because GNU-style Statement-expressions cause the last statement in the
      statement-expression to act like an expression.
      
      We now have two notions: block-level statements and block-level expressions.
      
      The former are all Stmt* that appear in the list of statements in CFGBlocks. The
      latter is the subset of the former; these block-level statements are used as
      subexpressions somewhere in the AST. CFG::isBlockExpr() returns true for the
      latter, not the former (previously isBlockExpr() always returned true for
      non-Expr Stmt*).
      
      Modified the LiveVariables analysis to also track liveness state for block-level
      expressions (using the updated definition of block-level expressions).
      
      Modified the dataflow solver so that when it records values for block-level
      statements, it records the dataflow value *before* the transfer function for a
      Stmt* is evaluated (not after). This is more in sync in what clients will want.
      
      Modified CFGStmtVisitor to record the current block-level statement.
      
      llvm-svn: 46143
      85be7cf8
    • Scott Michel's avatar
      Forward progress: crtbegin.c now compiles successfully! · e4d3e3c0
      Scott Michel authored
      Fixed CellSPU's A-form (local store) address mode, so that all globals,
      externals, constant pool and jump table symbols are now wrapped within
      a SPUISD::AFormAddr pseudo-instruction. This now identifies all local
      store memory addresses, although it requires a bit of legerdemain during
      instruction selection to properly select loads to and stores from local
      store, properly generating "LQA" instructions.
      
      Also added mul_ops.ll test harness for exercising integer multiplication.
      
      llvm-svn: 46142
      e4d3e3c0
Loading