Skip to content
  1. Dec 11, 2009
    • Bill Wendling's avatar
      A machine basic block may end in an unconditional branch, however it may have · a581aacd
      Bill Wendling authored
      more than one successor. Normally, these extra successors are dead. However,
      some of them may branch to exception handling landing pads. If we remove those
      successors, then the landing pads could go away if all predecessors to it are
      removed. Before, it was checking if the direct successor was the landing
      pad. But it could be the result of jumping through multiple basic blocks to get
      to it. If we were to only check for the existence of an EH_LABEL in the basic
      block and not remove successors if it's in there, then it could stop actually
      dead basic blocks from being removed.
      
      llvm-svn: 91092
      a581aacd
    • Devang Patel's avatar
      If VariableDIe is not created (may be because global was optimzed away) then... · 2eec32d9
      Devang Patel authored
      If VariableDIe is not created (may be because global was optimzed away) then do not try to use the variable die.
      
      llvm-svn: 91077
      2eec32d9
  2. Dec 10, 2009
    • Evan Cheng's avatar
      It's not safe to coalesce a move where src and dst registers have different... · 4986588d
      Evan Cheng authored
      It's not safe to coalesce a move where src and dst registers have different subregister indices. e.g.:
      %reg16404:1<def> = MOV8rr %reg16412:2<kill>
      
      llvm-svn: 91061
      4986588d
    • Devang Patel's avatar
      Refactor code that finds context for a given die. · 2b75ed2c
      Devang Patel authored
      Create global variable DIEs after creating subprogram DIEs. This allows function level static variable's to find their context at the time of DIE creation.
      
      llvm-svn: 91055
      2b75ed2c
    • Devang Patel's avatar
      Refactor. · b5b60ea4
      Devang Patel authored
      llvm-svn: 91051
      b5b60ea4
    • Jakob Stoklund Olesen's avatar
      Also attempt trivial coalescing for live intervals that end in a copy. · 497161c4
      Jakob Stoklund Olesen authored
      The coalescer is supposed to clean these up, but when setting up parameters
      for a function call, there may be copies to physregs. If the defining
      instruction has been LICM'ed far away, the coalescer won't touch it.
      
      The register allocation hint does not always work - when the register
      allocator is backtracking, it clears the hints.
      
      This patch is more conservative than r90502, and does not break
      483.xalancbmk/i686. It still breaks the PowerPC bootstrap, so it is disabled
      by default, and can be enabled with the -trivial-coalesce-ends option.
      
      llvm-svn: 91049
      497161c4
  3. Dec 09, 2009
  4. Dec 08, 2009
  5. Dec 07, 2009
  6. Dec 05, 2009
  7. Dec 04, 2009
Loading