Skip to content
  1. Apr 05, 2011
  2. Apr 04, 2011
    • Argyrios Kyrtzidis's avatar
      Introduce Driver::createInvocationFromArgs used to create a CompilerInvocation... · f606b82e
      Argyrios Kyrtzidis authored
      Introduce Driver::createInvocationFromArgs used to create a CompilerInvocation from command-line args.
      
      llvm-svn: 128848
      f606b82e
    • Joerg Sonnenberger's avatar
      418f186a
    • Jakob Stoklund Olesen's avatar
      Allow coalescing with reserved physregs in certain cases: · 2e853965
      Jakob Stoklund Olesen authored
      When a virtual register has a single value that is defined as a copy of a
      reserved register, permit that copy to be joined. These virtual register are
      usually copies of the stack pointer:
      
        %vreg75<def> = COPY %ESP; GR32:%vreg75
        MOV32mr %vreg75, 1, %noreg, 0, %noreg, %vreg74<kill>
        MOV32mi %vreg75, 1, %noreg, 8, %noreg, 0
        MOV32mi %vreg75<kill>, 1, %noreg, 4, %noreg, 0
        CALLpcrel32 ...
      
      Coalescing these virtual registers early decreases register pressure.
      Previously, they were coalesced by RALinScan::attemptTrivialCoalescing after
      register allocation was completed.
      
      The lower register pressure causes the mcinst-lowering-cmp0.ll test case to fail
      because it depends on linear scan spilling a particular register.
      
      I am deleting 2008-08-05-SpillerBug.ll because it is counting the number of
      instructions emitted, and its revision history shows the 'correct' count being
      edited many times.
      
      llvm-svn: 128845
      2e853965
Loading