Skip to content
  1. Oct 25, 2011
  2. Jul 26, 2011
  3. Jul 23, 2011
  4. Jun 09, 2011
  5. Apr 29, 2011
  6. Apr 15, 2011
  7. Mar 22, 2011
  8. Jan 23, 2011
  9. Jan 13, 2011
  10. Dec 22, 2010
  11. Dec 21, 2010
  12. Dec 19, 2010
  13. Dec 18, 2010
  14. Dec 17, 2010
  15. Dec 16, 2010
  16. Dec 07, 2010
    • Rafael Espindola's avatar
      Sorry for such a large commit. The summary is that only MachO cares about the · 93e3cf0e
      Rafael Espindola authored
      actuall addresses in a .o file, so it is better to let the MachO writer compute
      it.
      
      This is good for two reasons. First, areas that shouldn't care about
      addresses now don't have access to it. Second, the layout of each section
      is independent. I should use this in a subsequent commit to speed it up.
      
      Most of the patch is just removing the section address computation. The two
      interesting parts are the change on how we handle padding in the end
      of sections and how MachO can get the address of a-b when a and b are in
      different sections.
      
      Since now the expression evaluation normally doesn't know the section address,
      it will think that a-b needs relocation and let the MachO writer know. Once
      it has computed the section addresses, it calls back the expression evaluation
      with the section addresses to resolve these expressions.
      
      The remaining problem is the handling of padding. Currently it will create
      a special alignment fragment at the end. Since that fragment doesn't update
      the alignment of the section, it needs the real address to be computed.
      
      Since now the layout will not compute a-b with a and b in different sections,
      the only effect that the special alignment fragment has is update the
      address size of the section. This can also be done by the MachO writer.
      
      llvm-svn: 121076
      93e3cf0e
  17. Dec 06, 2010
  18. Dec 03, 2010
  19. Dec 02, 2010
  20. Nov 17, 2010
  21. Nov 15, 2010
    • Rafael Espindola's avatar
      Change MCExpr::EvaluateAsRelocatableImpl of variables to return the original · 8c3039b6
      Rafael Espindola authored
      variable if recursing fails to simplify it.
      
      Factor AliasedSymbol to be a method of MCSymbol.
      
      Update MCAssembler::EvaluateFixup to match the change in
      EvaluateAsRelocatableImpl.
      
      Remove the WeakRefExpr hack, as the object writer now sees the weakref with
      no extra effort needed.
      
      Nothing else is using MCTargetExpr, but keep it for now.
      
      Now that the ELF writer sees relocations with aliases, handle
      
          .weak    foo2
      foo2:
          .weak    bar2
          .set    bar2,foo2
          .quad    bar2
      
      the same way gas does and produce a relocation with bar2.
      
      llvm-svn: 119152
      8c3039b6
    • Chris Lattner's avatar
      add targetoperand flags for jump tables, constant pool and block address · edb9d84d
      Chris Lattner authored
      nodes to indicate when ha16/lo16 modifiers should be used.  This lets
      us pass PowerPC/indirectbr.ll.
      
      The one annoying thing about this patch is that the MCSymbolExpr isn't
      expressive enough to represent ha16(label1-label2) which we need on
      PowerPC.  I have a terrible hack in the meantime, but this will have
      to be revisited at some point.
      
      Last major conversion item left is global variable references.
      
      llvm-svn: 119105
      edb9d84d
  22. Nov 14, 2010
  23. Nov 10, 2010
  24. Oct 28, 2010
Loading