search for: csemap

Displaying 11 results from an estimated 11 matches for "csemap".

Did you mean: casemap
2006 Aug 14
2
[LLVMdev] bug in CSEMap?
...-- E: ----------------------------------------------------------- 0x89f8ea0: i32 = ConstantPool < declare int %puts(sbyte*) > 0 ----------------------------------------------------------- This can be reproduced by running "llvm-as hello.ll -o - | llc -march=arm". Is this a bug in CSEMap? Best Regards, Rafael
2006 Aug 14
0
[LLVMdev] Re: bug in CSEMap?
I think that the problem is in SelectionDAG::getConstantPool itself. Only Alignment and Offset are used in the ID. This causes false aliases. X86TargetLowering::LowerFABS should also be affected. All of its calls to getConstantPool have the same alignment and offset. Best Regards, Rafael
2006 Aug 14
1
[LLVMdev] Re: bug in CSEMap?
On Mon, 14 Aug 2006, [UTF-8] Rafael Esp?ndola wrote: > I think that the problem is in SelectionDAG::getConstantPool itself. > Only Alignment and Offset are used in the ID. This causes false > aliases. Doh. Sorry about that, I just checked in a fix. Please verify that this corrects the problem. > X86TargetLowering::LowerFABS should also be affected. All of its calls > to
2011 Sep 13
3
[LLVMdev] Handling of DebugLocs during CSE of SelectionDAG nodes.
...re any other suggestions? 02367 /// getNode - Gets or creates the specified node. 02368 /// 02369 SDValue SelectionDAG::getNode(unsigned Opcode, DebugLoc DL, EVT VT) { 02370 FoldingSetNodeID ID; 02371 AddNodeIDNode(ID, Opcode, getVTList(VT), 0, 0); 02372 void *IP = 0; 02373 if (SDNode *E = CSEMap.FindNodeOrInsertPos(ID, IP)) 02374 return SDValue(E, 0); 02375 02376 SDNode *N = new (NodeAllocator) SDNode(Opcode, DL, getVTList(VT)); 02377 CSEMap.InsertNode(N, IP); 02378 02379 AllNodes.push_back(N); 02380 #ifndef NDEBUG 02381 VerifySDNode(N); 02382 #endif 02383 return SDValue(N,...
2011 Sep 14
3
[LLVMdev] Handling of DebugLocs during CSE of SelectionDAG nodes.
...re code in the XCore backend that needs to be maintained over time I'd rather explore other options first. Is there a view on which of the following approaches is better in general when two nodes with debug locations are merged because of CSE (either in the MachineCSE pass or because of the CSEMap in the SelectionDAG): 1) Use the DebugLoc of either of the pair of nodes (chosen arbitrarily). 2) Throw away the line number information on the merged node since it is not possible to preserve the information that operation is associated with multiple lines. The current approach seems to be 1)...
2011 Sep 13
0
[LLVMdev] Handling of DebugLocs during CSE of SelectionDAG nodes.
...67 /// getNode - Gets or creates the specified node. > 02368 /// > 02369 SDValue SelectionDAG::getNode(unsigned Opcode, DebugLoc DL, EVT VT) { > 02370 FoldingSetNodeID ID; > 02371 AddNodeIDNode(ID, Opcode, getVTList(VT), 0, 0); > 02372 void *IP = 0; > 02373 if (SDNode *E = CSEMap.FindNodeOrInsertPos(ID, IP)) > 02374 return SDValue(E, 0); > 02375 > 02376 SDNode *N = new (NodeAllocator) SDNode(Opcode, DL, getVTList(VT)); > 02377 CSEMap.InsertNode(N, IP); > 02378 > 02379 AllNodes.push_back(N); > 02380 #ifndef NDEBUG > 02381 VerifySDNode(N)...
2011 Sep 14
0
[LLVMdev] Handling of DebugLocs during CSE of SelectionDAG nodes.
On Sep 14, 2011, at 7:37 AM, Richard Osborne wrote: > Is there a view on which of the following approaches is better in > general when two nodes with debug locations are merged because of CSE > (either in the MachineCSE pass or because of the CSEMap in the > SelectionDAG): > > 1) Use the DebugLoc of either of the pair of nodes (chosen arbitrarily). > 2) Throw away the line number information on the merged node since it is > not possible to preserve the information that operation is associated > with multiple lines. >...
2011 Sep 14
1
[LLVMdev] Handling of DebugLocs during CSE of SelectionDAG nodes.
...d Olesen wrote: > > On Sep 14, 2011, at 7:37 AM, Richard Osborne wrote: > >> Is there a view on which of the following approaches is better in >> general when two nodes with debug locations are merged because of CSE >> (either in the MachineCSE pass or because of the CSEMap in the >> SelectionDAG): >> >> 1) Use the DebugLoc of either of the pair of nodes (chosen arbitrarily). >> 2) Throw away the line number information on the merged node since it is >> not possible to preserve the information that operation is associated >> wit...
2012 Apr 18
0
[LLVMdev] [cfe-dev] LLVM Backend for Z80
...te Zilog Z80 Backend. > I have succesfully created basic infrastructure and now trying to extend Z80InstrInfo.td to handle more and more C code. > I have done some work with FrameIndex and now I am stuck with assert. > > llc: SelectionDAG.cpp:645: bool llvm::SelectionDAG::RemoveNodeFromCSEMaps(llvm::SDNode*): Assertion `N->getOpcode() != ISD::EntryToken && "EntryToken in CSEMap!"' failed. > > This code works: > > void simple() > { > unsigned char i=10; > unsigned char a = 20; > } > > and produces my somewhat not VERY REAL z80 ass...
2013 Mar 04
1
[LLVMdev] Custom Lowering of ARM zero-extending loads
Hi, For my research, I need to reshape the current ARM backend to support armv2a. Zero-extend half word load (ldrh) is not supported by armv2a, so I need to make the code generation to not generate ldrh instructions. I want to replace all those instances with a 32-bit load (ldr) and then and the result with 0xffff to mask out the upper bits. These are the modifications that I have made to
2014 Mar 07
3
[LLVMdev] [RFC] Add second "failure" AtomicOrdering to cmpxchg instruction
..., MemVT, Ops, DynOps, NumOps, MMO, - Ordering, SynchScope); + SuccessOrdering, FailureOrdering, + SynchScope); CSEMap.InsertNode(N, IP); AllNodes.push_back(N); return SDValue(N, 0); } SDValue SelectionDAG::getAtomic(unsigned Opcode, SDLoc dl, EVT MemVT, - SDValue Chain, SDValue Ptr, SDValue Cmp, - SDValue Swp, MachinePointerInfo PtrInfo, -...