Skip to content
  1. Mar 13, 2009
  2. Mar 12, 2009
    • Daniel Dunbar's avatar
      raw_ostream: unbuffered streams weren't being immediately flushed on · db948ffa
      Daniel Dunbar authored
      single character writes.
      
      llvm-svn: 66827
      db948ffa
    • Duncan Sands's avatar
      Revert commit 66140 since it caused several failures · 1f853d6a
      Duncan Sands authored
      in the Ada testcase.  Reverting this only covers up
      the real problem, which is a nasty conceptual difficulty
      in the phi elimination pass: when eliminating phi nodes
      in landing pads, the register copies need to come before
      the invoke, not at the end of the basic block which is
      too late...  See PR3784.
      
      llvm-svn: 66826
      1f853d6a
    • Scott Michel's avatar
      b1a830ab
    • Dale Johannesen's avatar
      There already was a class to force deterministic · 7f99d22f
      Dale Johannesen authored
      sorting of ConstantInt's; unreinvent wheel.
      
      llvm-svn: 66824
      7f99d22f
    • Bob Wilson's avatar
      Fix an inconsistent use of LLVMGCCDIR. In all other cases, this directory · e4467e46
      Bob Wilson authored
      refers to the "prefix" directory, i.e., one level above "bin".  LLVMGCCPATH
      is used as the directory containing the llvm-gcc executable, so add a "/bin"
      suffix to get from LLVMGCCDIR to LLVMGCCPATH.
      
      llvm-svn: 66823
      e4467e46
    • Gabor Greif's avatar
      Rearrange operands of the BranchInst, to be able to · c91aa9b8
      Gabor Greif authored
      access each with a fixed negative index from op_end().
      
      This has two important implications:
      - getUser() will work faster, because there are less iterations
        for the waymarking algorithm to perform. This is important
        when running various analyses that want to determine callers
        of basic blocks.
      - getSuccessor() now runs faster, because the indirection via OperandList
        is not necessary: Uses corresponding to the successors are at fixed
        offset to "this".
      
      The price we pay is the slightly more complicated logic in the operator
      User::delete, as it has to pick up the information whether it has to free
      the memory of an original unconditional BranchInst or a BranchInst that
      was originally conditional, but has been shortened to unconditional.
      I was not able to come up with a nicer solution to this problem. (And
      rest assured, I tried *a lot*).
      
      Similar reorderings will follow for InvokeInst and CallInst. After that
      some optimizations to pred_iterator and CallSite will fall out naturally.
      
      llvm-svn: 66815
      c91aa9b8
    • Evan Cheng's avatar
      Re-apply 66024 with fixes: 1. Fixed indirect call to immediate address... · 2a332aa8
      Evan Cheng authored
      Re-apply 66024 with fixes: 1. Fixed indirect call to immediate address assembly. 2. Fixed JIT encoding by making the address pc-relative.
      
      llvm-svn: 66803
      2a332aa8
Loading