Skip to content
  1. Jul 04, 2013
    • Nico Rieck's avatar
      Initialize object file info before output streamer · 316c3740
      Nico Rieck authored
      r179494 switched to using the object file info to retrieve the default text
      section for some MC streamers. It is possible that initializing an MC
      streamer can request sections before the object file info is initialized
      when the AutoInitSections flag is set on the streamer.
      
      llvm-svn: 185670
      316c3740
    • Jakob Stoklund Olesen's avatar
      Remove the EXCEPTIONADDR, EHSELECTION, and LSDAADDR ISD opcodes. · db429d94
      Jakob Stoklund Olesen authored
      These exception-related opcodes are not used any longer.
      
      llvm-svn: 185625
      db429d94
    • Jakob Stoklund Olesen's avatar
      Typo. · 6a7d6834
      Jakob Stoklund Olesen authored
      llvm-svn: 185618
      6a7d6834
    • Jakob Stoklund Olesen's avatar
      Simplify landing pad lowering. · fee2a202
      Jakob Stoklund Olesen authored
      Stop using the ISD::EXCEPTIONADDR and ISD::EHSELECTION when lowering
      landing pad arguments. These nodes were previously legalized into
      CopyFromReg nodes, but that never worked properly because the
      CopyFromReg node weren't guaranteed to be  scheduled at the top of the
      basic block.
      
      This meant the exception pointer and selector registers could be
      clobbered before being copied to a virtual register.
      
      This patch copies the two physical registers to virtual registers at
      the beginning of the basic block, and lowers the landingpad instruction
      directly to two CopyFromReg nodes reading the *virtual* registers. This
      is safe because virtual registers don't get clobbered.
      
      A future patch will remove the ISD::EXCEPTIONADDR and ISD::EHSELECTION
      nodes.
      
      llvm-svn: 185617
      fee2a202
    • Jakob Stoklund Olesen's avatar
      FastISel can only apend to basic blocks. · 3d8560c3
      Jakob Stoklund Olesen authored
      Compute the insertion point from the end of the basic block instead of
      skipping labels from the front.
      
      This caused failures in landing pads when live-in copies where inserted
      before instruction selection.
      
      llvm-svn: 185616
      3d8560c3
    • Jakob Stoklund Olesen's avatar
      Live-in copies go *after* EH_LABELs. · bbbb5326
      Jakob Stoklund Olesen authored
      This will soon be tested by exception handling working at all.
      
      llvm-svn: 185615
      bbbb5326
    • Jakob Stoklund Olesen's avatar
      Revert r185595-185596 which broke buildbots. · a1f5b901
      Jakob Stoklund Olesen authored
      Revert "Simplify landing pad lowering."
      Revert "Remove the EXCEPTIONADDR, EHSELECTION, and LSDAADDR ISD opcodes."
      
      llvm-svn: 185600
      a1f5b901
    • Jakob Stoklund Olesen's avatar
      Remove the EXCEPTIONADDR, EHSELECTION, and LSDAADDR ISD opcodes. · f33ec531
      Jakob Stoklund Olesen authored
      These exception-related opcodes are not used any longer.
      
      llvm-svn: 185596
      f33ec531
    • Jakob Stoklund Olesen's avatar
      Simplify landing pad lowering. · fa6a7b9b
      Jakob Stoklund Olesen authored
      Stop using the ISD::EXCEPTIONADDR and ISD::EHSELECTION when lowering
      landing pad arguments. These nodes were previously legalized into
      CopyFromReg nodes, but that never worked properly because the
      CopyFromReg node weren't guaranteed to be  scheduled at the top of the
      basic block.
      
      This meant the exception pointer and selector registers could be
      clobbered before being copied to a virtual register.
      
      This patch copies the two physical registers to virtual registers at
      the beginning of the basic block, and lowers the landingpad instruction
      directly to two CopyFromReg nodes reading the *virtual* registers. This
      is safe because virtual registers don't get clobbered.
      
      A future patch will remove the ISD::EXCEPTIONADDR and ISD::EHSELECTION
      nodes.
      
      llvm-svn: 185595
      fa6a7b9b
    • Jakob Stoklund Olesen's avatar
      Add MachineBasicBlock::addLiveIn(). · 533c3bf2
      Jakob Stoklund Olesen authored
      This function adds a live-in physical register to an MBB and ensures
      that it is copied to a virtual register immediately.
      
      llvm-svn: 185594
      533c3bf2
    • Eric Christopher's avatar
      Hoist all of the Entry.getLoc() calls int a single variable. · 614a89f5
      Eric Christopher authored
      llvm-svn: 185589
      614a89f5
    • Eric Christopher's avatar
      Make DotDebugLocEntry a class, reorder the members along with comments · 25f0642a
      Eric Christopher authored
      for them and update all uses.
      
      llvm-svn: 185588
      25f0642a
  2. Jul 03, 2013
  3. Jul 02, 2013
    • Eric Christopher's avatar
      Fix comment. · 9046f942
      Eric Christopher authored
      llvm-svn: 185480
      9046f942
    • Ulrich Weigand's avatar
      · 2b6fc8d6
      Ulrich Weigand authored
      [DebugInfo] Allow getDebugThreadLocalSymbol to return MCExpr
      
      This allows getDebugThreadLocalSymbol to return a generic MCExpr
      instead of just a MCSymbolRefExpr.
      
      This is in preparation for supporting debug info for TLS variables
      on PowerPC, where we need to describe the variable location using
      a more complex expression than just MCSymbolRefExpr.
      
      llvm-svn: 185460
      2b6fc8d6
    • Ulrich Weigand's avatar
      · 8b3d2266
      Ulrich Weigand authored
      [DebugInfo] Hold generic MCExpr in AddrPool
      
      This changes the AddrPool infrastructure to enable it to hold
      generic MCExpr expressions, not just MCSymbolRefExpr.
      
      This is in preparation for supporting debug info for TLS variables
      on PowerPC, where we need to describe the variable location using
      a more complex expression than just MCSymbolRefExpr.
      
      llvm-svn: 185459
      8b3d2266
    • Ulrich Weigand's avatar
      · 396ba8b4
      Ulrich Weigand authored
      [DebugInfo] Introduce DIEExpr variant of DIEValue to hold MCExpr values
      
      This partially reverts r185202 and restores DIELabel to hold plain
      MCSymbol references.  Instead, we add a new subclass DIEExpr of
      DIEValue that can hold generic MCExpr references.
      
      This is in preparation for supporting debug info for TLS variables
      on PowerPC, where we need to describe the variable location using
      a more complex expression than just MCSymbolRefExpr.
      
      llvm-svn: 185458
      396ba8b4
    • Jakob Stoklund Olesen's avatar
      Revert (most of) r185393 and r185395. · 13be6bfb
      Jakob Stoklund Olesen authored
      "Remove floating point computations form SpillPlacement.cpp."
      
      These commits caused test failures in lencod on clang-native-arm-lnt.
      
      I suspect these changes are only exposing an existing issue, but
      reverting anyway to keep the bots passing while we investigate.
      
      llvm-svn: 185447
      13be6bfb
    • Rafael Espindola's avatar
      Remove address spaces from MC. · 64e1af8e
      Rafael Espindola authored
      This is dead code since PIC16 was removed in 2010. The result was an odd mix,
      where some parts would carefully pass it along and others would assert it was
      zero (most of the object streamer for example).
      
      llvm-svn: 185436
      64e1af8e
    • Tim Northover's avatar
      DAGCombiner: fix use-counting issue when forming zextload · 6823900e
      Tim Northover authored
      DAGCombiner was counting all uses of a load node  when considering whether it's
      worth combining into a zextload. Really, it wants to ignore the chain and just
      count real uses.
      
      rdar://problem/13896307
      
      llvm-svn: 185419
      6823900e
Loading