similar to: [LLVMdev] ExtractBasicBlock() on block that ends with invoke or unreachable triggers assert() in llc

Displaying 20 results from an estimated 2000 matches similar to: "[LLVMdev] ExtractBasicBlock() on block that ends with invoke or unreachable triggers assert() in llc"

2009 Apr 21
6
[LLVMdev] ARM and lowerinvoke
All, I'm looking at the lowerinvoke pass as a starting point for getting SJLJ based exception handling working on ARM, but am having some troubles with it. When I run a simple testcase (attached) through llc and specify -enable-correct-eh-support, llc asserts on me. It appears there's been some bitrot somewhere. SelectDAGBuild and SelectionDAGISel cooperate to track landing pads
2009 Apr 22
0
[LLVMdev] ARM and lowerinvoke
Hi Jim, > I'm looking at the lowerinvoke pass as a starting point for getting > SJLJ based exception handling working on ARM, but am having some > troubles with it. When I run a simple testcase (attached) through llc > and specify -enable-correct-eh-support, llc asserts on me. It appears > there's been some bitrot somewhere. SelectDAGBuild and >
2008 Aug 04
1
[LLVMdev] Assertion Failure: Not all catch info was assigned to a landing pad
I'm getting a very stubborn assertion failure that I don't understand. After I insert a call to an externally defined function into an invoked function, llc spits out the following assertion failure when I compile the bytecode: llc: SelectionDAGISel.cpp:4912: virtual bool llvm::SelectionDAGISel::runOnFunction(llvm::Function&): Assertion `FuncInfo.CatchInfoFound.size() ==
2011 May 17
2
[LLVMdev] "Not all catch info was assigned to a landing pad!"' failed
Hi, My transformation phase inserts an if-the-else construct into a BB. If that BB contains llvm.eh.exception, I get an Assertion at some later point: lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp:212: void llvm::FunctionLoweringInfo::clear(): Assertion `CatchInfoFound.size() == CatchInfoLost.size() && "Not all catch info was assigned to a landing pad!"' failed. Is
2009 Apr 21
0
[LLVMdev] ARM and lowerinvoke
On Apr 21, 2009, at 1:53 PM, Jim Grosbach wrote: > All, > > I'm looking at the lowerinvoke pass as a starting point for getting > SJLJ based exception handling working on ARM, but am having some > troubles with it. When I run a simple testcase (attached) through > llc and specify -enable-correct-eh-support, llc asserts on me. It > appears there's been some
2011 May 17
0
[LLVMdev] "Not all catch info was assigned to a landing pad!"' failed
Hi Kostya, > My transformation phase inserts an if-the-else construct into a BB. > If that BB contains llvm.eh.exception, I get an Assertion at some later point: > > lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp:212: > void llvm::FunctionLoweringInfo::clear(): Assertion `CatchInfoFound.size() == > CatchInfoLost.size() && "Not all catch info was assigned to a
2010 Jun 10
4
[LLVMdev] Assertion failure in llc when using exception handling
Hi, I'm trying to compile an llvm program which makes use of exception handling. While compiling the code with llc i get the following assertion failure llc: FunctionLoweringInfo.cpp:163: void llvm::FunctionLoweringInfo::clear(): Assertion `CatchInfoFound.size() == CatchInfoLost.size() && "Not all catch info was assigned to a landing pad!"' failed. 0 llc
2017 Oct 23
2
EnableFastISel
Hi, In SelectionDAGISel::SelectAllBasicBlocks if (TM.Options.EnableFastISel) FastIS = TLI->createFastISel(*FuncInfo, LibInfo); followed by if (!FastIS) { LowerArguments(Fn); } else { The above implies that implementing FastIS is optional. In contrast to that, testing whether FastIS is actually been used is done by testing if TM.Options.EnableFastISel is set. For example
2010 Mar 19
3
[LLVMdev] Getting the DSNode from a Pool Descriptor?
Thanks for all your help so far. My problem is that what I have are the pool descriptors, which I by traversing the uses of poolinit and accessing the first argument of each call. I need to find the DSNode (in the original function) to which this pool descriptor corresponds. The rub is that this pool descriptor of course does not exist except in the clone. If I call getFuncInfo(), I get a
2017 Jul 25
2
[Debug] Elide the unconditional branch instructions
This email is related with the code of commit: http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20120409/140650.html. This commit will let our unconditional branch instruction not be deleted when its successor is the nature layout and its basic block's instruction only one instruction. However, I have some concerns about it, especially in the debug mode. Let me show you some
2015 Aug 01
3
[LLVMdev] SelectionDAG viewers, filter-view-dags question
The diff is not only the && and || but also the leading !: diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp index 58f029fbe9fc..7ee06fc153b2 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp +++ b/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp @@ -659,7 +659,7 @@ void SelectionDAGISel::CodeGenAndEmitDAG() {
2010 Mar 19
0
[LLVMdev] Getting the DSNode from a Pool Descriptor?
Hi Patrick, That's right. DSNodes are coupled to the original function. For function clones, you first need to get the original function, and then use the DSNode from that function. FuncInfo contains the information if a function is a clone and what the original function is. If you want to find the corresponding DSNode for some instruction, you must call PA::FuncInfo::MapValueToOriginal(
2015 Jul 27
2
[LLVMdev] SelectionDAG viewers, filter-view-dags question
I've just looked at my checkout of 3.6 and it looks like the fix wasn't merged. I don't have the revision number for the fix to hand but in lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp, this: MatchFilterBB = (!FilterDAGBasicBlockName.empty() && FilterDAGBasicBlockName == FuncInfo->MBB->getBasicBlock()->getName().str());
2015 Jul 27
1
[LLVMdev] SelectionDAG viewers, filter-view-dags question
Daniel, Ok, thanks. Simple fix. We'll just make correction in local copy for now, one less thing to port later :) Thanks. On Mon, Jul 27, 2015 at 12:29 PM, Daniel Sanders <Daniel.Sanders at imgtec.com> wrote: > I've just looked at my checkout of 3.6 and it looks like the fix wasn't > merged. I don't have the revision number for the fix to hand but in >
2015 Aug 11
2
Fwd: [LLVMdev] SelectionDAG viewers, filter-view-dags question
Hi, It's changed a few times over the last year. I believe xdg-open spawns whichever application your desktop environment would use to open the file so you should be able to tell it to use dotty. From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] On Behalf Of Ryan Taylor via llvm-dev Sent: 11 August 2015 00:30 To: llvm-dev at lists.llvm.org Subject: [llvm-dev] Fwd: [LLVMdev]
2010 Mar 19
3
[LLVMdev] Getting the DSNode from a Pool Descriptor?
Harmen, your suggestion of inverting the mapping almost worked (and Andrew was correct that the function I need is the same as the one in which poolinit appears). Unfortunately, it appears that this mapping only considers the original function and not any of its clones. Since the pool descriptor in question may very well only exist in a clone, I can't use this. Is there another way?
2010 Mar 17
0
[LLVMdev] Getting the DSNode from a Pool Descriptor?
You might want to have a look at PoolAllocate.h. Per function, a PA::FuncInfo structure keeps track of all DSNodes that should be pool allocated. ArgNodes contains pool arguments, NodesToPA contains nodes that are locally pool allocated and thus initialized using poolinit. PoolDescriptors contains a mapping from DSNodes to pool descriptors, and you could easily invert this mapping. Finding a
2012 Oct 23
2
[LLVMdev] x86 Frame Pointer with AVX
On Tue, Oct 23, 2012 at 12:56 PM, Eric Christopher <echristo at gmail.com>wrote: > > Thanks for replying so quickly. Would you elaborate on this further? > > > > It seems costly to change the default stack alignment on the platform, > since > > that would require recompiling all of the system and user libraries to > also > > adhere to 32-byte stack
2006 Dec 19
3
[LLVMdev] alias-aware scheduling
Hello, I did a little experiment modifying LLVM to be able to use alias-analysis information in scheduling so that independent memory operations may be reordered. Attached is a patch which implements this. I copied some routines from DAGCombiner.cpp for using SDOperands with alias queries; it should probably be factored out somewhere so the code can be shared. I reorganized
2012 Dec 03
1
[LLVMdev] operator overloading fails while debugging with gdb for i386
On 3 December 2012 10:42, Mayur Pandey <mayurthebond at gmail.com> wrote: > So this seems to be the cause of the problem. I guess you're mixing two different problems. First, is the possible lack of conformance with the ABI you state, which I can't comment since I don't know that ABI very well. Second, is the fact that clang is not printing correct debug information (or is