[llvm-commits] [llvm] r114577 - /llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp

Chris Lattner clattner at apple.com
Wed Sep 22 14:50:45 PDT 2010


On Sep 22, 2010, at 1:42 PM, Eric Christopher wrote:

> Author: echristo
> Date: Wed Sep 22 15:42:08 2010
> New Revision: 114577
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=114577&view=rev
> Log:
> Temporarily work around new address lowering while I figure out what
> needs to happen for darwin.

This happens when an instruction is matched with a pattern that uses "addr:$ptr" to represent a memory location.  The assert fires when it doesn't derive from MemSDNode, so it doesn't have memory location.  Is "TLSCALL" doing a memory access? If so, what kind?

-Chris

> 
> Modified:
>    llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp
> 
> Modified: llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp?rev=114577&r1=114576&r2=114577&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp (original)
> +++ llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp Wed Sep 22 15:42:08 2010
> @@ -1149,7 +1149,8 @@
>       // that are not a MemSDNode, and thus don't have proper addrspace info.
>       Parent->getOpcode() != ISD::PREFETCH &&
>       Parent->getOpcode() != ISD::INTRINSIC_W_CHAIN && // unaligned loads, fixme
> -      Parent->getOpcode() != ISD::INTRINSIC_VOID) { // nontemporal stores.
> +      Parent->getOpcode() != ISD::INTRINSIC_VOID && // nontemporal stores
> +      Parent->getOpcode() != X86ISD::TLSCALL) { // Fixme
>     unsigned AddrSpace =
>       cast<MemSDNode>(Parent)->getPointerInfo().getAddrSpace();
>     // AddrSpace 256 -> GS, 257 -> FS.
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits





More information about the llvm-commits mailing list