Skip to content
  1. Aug 31, 2009
    • Jim Grosbach's avatar
      PR4747 · ce713134
      Jim Grosbach authored
      Shared landing pads run into trouble with SJLJ, as the dispatch table is
      mapped to call sites, and merging the pads will throw that off. There needs
      to be a one-to-one mapping of landing pad exception table entries to invoke
      call points.
      
      Detecting the shared pad during lowering of SJLJ info insn't sufficient, as
      the dispatch function may still need separate destinations to properly
      handle phi-nodes.
      
      llvm-svn: 80530
      ce713134
    • Chris Lattner's avatar
      Fix some nasty callgraph dangling pointer problems in · 305b115a
      Chris Lattner authored
      argpromotion and structretpromote.  Basically, when replacing
      a function, they used the 'changeFunction' api which changes
      the entry in the function map (and steals/reuses the callgraph
      node).
      
      This has some interesting effects: first, the problem is that it doesn't
      update the "callee" edges in any callees of the function in the call graph.
      Second, this covers for a major problem in all the CGSCC pass stuff, which 
      is that it is completely broken when functions are deleted if they *don't*
      reuse a CGN.  (there is a cute little fixme about this though :).
      
      This patch changes the protocol that CGSCC passes must obey: now the CGSCC 
      pass manager copies the SCC and preincrements its iterator to avoid passes
      invalidating it.  This allows CGSCC passes to mutate the current SCC.  However
      multiple passes may be run on that SCC, so if passes do this, they are now
      required to *update* the SCC to be current when they return.
      
      Other less interesting parts of this patch are that it makes passes update
      the CG more directly, eliminates changeFunction, and requires clients of
      replaceCallSite to specify the new callee CGN if they are changing it.
      
      llvm-svn: 80527
      305b115a
    • Chris Lattner's avatar
      add a dump() method on callgraph. · 69349a55
      Chris Lattner authored
      llvm-svn: 80524
      69349a55
  2. Aug 30, 2009
  3. Aug 29, 2009
Loading