Skip to content
  1. Jan 24, 2010
  2. Jan 22, 2010
    • Torok Edwin's avatar
      Fix TimeValue::now() on Unix. · fbcd2c76
      Torok Edwin authored
      TimeValue()::now().toEpochTime() is supposed to be the same as time(),
      but it wasn't, because toEpoch subtracted PosixZeroTime, but now()
      didn't add PosixZeroTime!
      Add a unittest to check this works.
      
      llvm-svn: 94178
      fbcd2c76
    • Chris Lattner's avatar
      Stop building RTTI information for *most* llvm libraries. Notable · 7ba0661f
      Chris Lattner authored
      missing ones are libsupport, libsystem and libvmcore.  libvmcore is
      currently blocked on bugpoint, which uses EH.  Once it stops using
      EH, we can switch it off.
      
      This #if 0's out 3 unit tests, because gtest requires RTTI information.
      Suggestions welcome on how to fix this.
      
      llvm-svn: 94164
      7ba0661f
  3. Jan 05, 2010
  4. Dec 31, 2009
  5. Dec 25, 2009
  6. Dec 24, 2009
  7. Dec 23, 2009
  8. Dec 21, 2009
  9. Dec 18, 2009
  10. Dec 17, 2009
  11. Dec 13, 2009
  12. Dec 12, 2009
  13. Dec 03, 2009
  14. Nov 24, 2009
  15. Nov 19, 2009
  16. Nov 17, 2009
  17. Nov 16, 2009
    • Jeffrey Yasskin's avatar
      Make X86-64 in the Large model always emit 64-bit calls. · 10d3604a
      Jeffrey Yasskin authored
      The large code model is documented at
      http://www.x86-64.org/documentation/abi.pdf and says that calls should
      assume their target doesn't live within the 32-bit pc-relative offset
      that fits in the call instruction.
      
      To do this, we turn off the global-address->target-global-address
      conversion in X86TargetLowering::LowerCall(). The first attempt at
      this broke the lazy JIT because it can separate the movabs(imm->reg)
      from the actual call instruction. The lazy JIT receives the address of
      the movabs as a relocation and needs to record the return address from
      the call; and then when that call happens, it needs to patch the
      movabs with the newly-compiled target. We could thread the call
      instruction into the relocation and record the movabs<->call mapping
      explicitly, but that seems to require at least as much new
      complication in the code generator as this change.
      
      To fix this, we make lazy functions _always_ go through a call
      stub. You'd think we'd only have to force lazy calls through a stub on
      difficult platforms, but that turns out to break indirect calls
      through a function pointer. The right fix for that is to distinguish
      between calls and address-of operations on uncompiled functions, but
      that's complex enough to leave for someone else to do.
      
      Another attempt at this defined a new CALL64i pseudo-instruction,
      which expanded to a 2-instruction sequence in the assembly output and
      was special-cased in the X86CodeEmitter's emitInstruction()
      function. That broke indirect calls in the same way as above.
      
      This patch also removes a hack forcing Darwin to the small code model.
      Without far-call-stubs, the small code model requires things of the
      JITMemoryManager that the DefaultJITMemoryManager can't provide.
      
      Thanks to echristo for lots of testing!
      
      llvm-svn: 88984
      10d3604a
  18. Nov 14, 2009
  19. Nov 13, 2009
  20. Nov 12, 2009
  21. Nov 11, 2009
  22. Nov 10, 2009
    • Jeffrey Yasskin's avatar
      Fix DenseMap iterator constness. · b40d3f76
      Jeffrey Yasskin authored
      This patch forbids implicit conversion of DenseMap::const_iterator to
      DenseMap::iterator which was possible because DenseMapIterator inherited
      (publicly) from DenseMapConstIterator. Conversion the other way around is now
      allowed as one may expect.
      
      The template DenseMapConstIterator is removed and the template parameter
      IsConst which specifies whether the iterator is constant is added to
      DenseMapIterator.
      
      Actually IsConst parameter is not necessary since the constness can be
      determined from KeyT but this is not relevant to the fix and can be addressed
      later.
      
      Patch by Victor Zverovich!
      
      llvm-svn: 86636
      b40d3f76
Loading