similar to: LLVM 3.9 RC2's SCCP pass removing calls to external functions?!

Displaying 20 results from an estimated 9000 matches similar to: "LLVM 3.9 RC2's SCCP pass removing calls to external functions?!"

2016 Aug 24
2
LLVM 3.9 RC2's SCCP pass removing calls to external functions?!
Hi Félix, Sanjoy Das wrote: > Félix Cloutier via llvm-dev wrote: > > Assuming that this is a bug, what are the next steps? > > Looks like you already have a very small test case -- have you tried > sticking it in a debugger to see why SCCP thinks removing the call is > okay? > > Alternatively, file a bug at llvm.org/bugs and someone will get to it. The third
2016 Aug 24
2
LLVM 3.9 RC2's SCCP pass removing calls to external functions?!
I am probably stating the obvious, but if the function is side-effect free (onlyReadsMemory) it is valid to remove it. But I am guessing that does not belong to this pass. On Wed, Aug 24, 2016 at 8:38 AM, Sanjoy Das via llvm-dev < llvm-dev at lists.llvm.org> wrote: > Btw, looks like the bug is in runSCCP in > > for (BasicBlock::iterator BI = BB.begin(), E = BB.end(); BI !=
2016 Aug 24
3
LLVM 3.9 RC2's SCCP pass removing calls to external functions?!
On Wed, Aug 24, 2016 at 10:11 AM, Renato Golin <renato.golin at linaro.org> wrote: > On 24 August 2016 at 08:48, Alexandre Isoard via llvm-dev > <llvm-dev at lists.llvm.org> wrote: > > I am probably stating the obvious, but if the function is side-effect > free > > (onlyReadsMemory) it is valid to remove it. > > > > But I am guessing that does not
2016 Aug 24
2
LLVM 3.9 RC2's SCCP pass removing calls to external functions?!
Actually, this is false. It will infer the attribute :) On Wed, Aug 24, 2016 at 5:47 AM, Renato Golin via llvm-dev < llvm-dev at lists.llvm.org> wrote: > On 24 August 2016 at 11:45, Alexandre Isoard <alexandre.isoard at gmail.com> > wrote: > > However, he also stated that in the case the functions returns void it is > > not removed, which suggest there is
2015 May 20
3
[LLVMdev] Processing functions in call graph SCC "order" with function-level analyses
So I got very mixed results. With the CallGraphSCCPass, both `addRequired<DominatorTreeWrapperPass>` and `addRequired<MemoryDependenceAnalysis>` fail at runtime. The LLVM core has just two CallGraphSCCPasses and neither uses neither analyses, so it's hard to find a valid example. I transformed the pass into a ModulePass, using scc_iterator as shown in CGPassManager to process
2015 May 19
3
[LLVMdev] Processing functions in call graph SCC "order" with function-level analyses
Thanks John. Does this solve the problem of analysis availability though? If I still have to run the function analyses manually, I might as well keep rolling with the CallGraphSCCPass. (I probably should have mentioned that this is what I’m using right now.) Félix > Le 2015-05-19 à 10:12:32, John Criswell <jtcriswel at gmail.com> a écrit : > > On 5/18/15 10:45 PM, Félix Cloutier
2010 Jul 08
0
[LLVMdev] Why shouldn't function entry blocks have predecessors?
Hello Félix- Consider the following snippet of IR: define i32 @foo(i32 %n) nounwind { entry: br label %loop loop: %loop.n = phi i32 [0, %entry], [%tmp, %loop] call void @bar() nounwind %tmp = sub nsw i32 %loop.n, 1 %cmp = icmp eq i32 %tmp, 0 br i1 %cmp, label %exit, label %loop exit: ret i32 0 } declare void @bar() nounwind Try to merge the blocks "entry" and "loop"
2010 Jul 08
2
[LLVMdev] Why shouldn't function entry blocks have predecessors?
The title says it all. verifyFunction checks it (Verifier.cpp, line 728). Why can't BasicBlocks that serve as a function's entry point also have predecessors? What keeps a function from looping back to its beginning? Félix -------------- next part -------------- An HTML attachment was scrubbed... URL:
2011 Feb 22
4
[LLVMdev] Can I use Clang to parse snippets of C++ code?
Hello guys, I'd like to use Clang to parse snippets of (and emit bytecode for) C++ code that come from larger files that don't contain only C++, but looking at the clang interpreter example, either I didn't get it, or it looks like the driver expects only files, and not strings or char buffers. Is there a simple way to achieve this? Do I have to split my input into small files and
2010 Jul 05
2
[LLVMdev] Debug just-in-time compiled code on Mac OS
Hey guys, I'd need to debug just-in-time compiled code under Mac OS. As predicted, GDB doesn't cope really well with it. The LLVM manual seems to say it's possible to patch GDB under Linux, but there seems to be no option for Mac OS. What can I do? I'd prefer a solution that integrates with Xcode, but I'll manage if it doesn't and I have to run the debugger externally.
2010 Jun 26
2
[LLVMdev] IRBuilder<>::CreateCall, CreateCall2, CreateCall3, ...
Hey guys, Whys are there like 5 variants of CreateCall in IRBuilder<> with numbers appended to them? The only difference I can see is the number of arguments. Aren't C++ function overloads be suited for this? Félix
2011 Feb 22
0
[LLVMdev] Can I use Clang to parse snippets of C++ code?
The semantics of C++ depend heavily on what comes before the given fragment. How do you plan to address this? For example, if you know all the headers you think these snippets will include, you can do something similar to PCH to parse the fragment in context of all of the headers. I don't know much about feeding clang buffers instead of files, but I believe it can be done with some of the
2010 Jul 07
0
[LLVMdev] Debug just-in-time compiled code on Mac OS
I'm assuming you're looking at this document? http://llvm.org/docs/DebuggingJITedCode.html That document should probably be updated to say you need GDB 7.0 or newer, since that's when the feature was released. Most Linux distributions have picked this up, so it should Just Work on Linux. Apple's GDB is stale (6.3 + lots of patches). They've stopped updating the version of
2015 May 19
2
[LLVMdev] Processing functions in call graph SCC "order" with function-level analyses
Hi all, I have one analysis pass that I want to perform on call graph SCCs. However, for each function in the SCC, I need function-level analyses, like the dominator tree and the memory dependency analysis. I’ve been told before <http://stackoverflow.com/questions/30059622/using-dominatortreewrapperpass-in-callgraphsccpass> that these were not available from a CallGraphSCCPass. What would
2011 Mar 01
0
[LLVMdev] Using clang+llvm from Xcode 3 project yields 1.5k linkage warnings
On Feb 28, 2011, at 8:07 PM, Félix Cloutier wrote: > I'm using Xcode 3 to program with LLVM and Clang (both about yesterday's latest revisions), and when I compile, I get 1501 link-time warnings. All those I read were about symbol visibility. Here's an example: > > ld: warning: namespace::class::method() has different visibility (default) in
2015 May 21
2
[LLVMdev] MemoryDependenceAnalysis reports dependencies between NoAlias pointers
Thanks Daniel, I'll do a debug build of LLVM (I guess that'll teach me) and step through it as soon as I'll find a power outlet. I'm calling getDependency on the load instruction, and it returns the store instruction. Suspiciously enough, calling invalidateCachedPointerInfo on load->getPointerOperand() does not cause my AA pass to be called again when I use getDependency (or
2010 Jul 08
1
[LLVMdev] Why shouldn't function entry blocks have predecessors?
It's past 3 AM here, so maybe I really shouldn't be answering in this state of awakeness. However, what I understand from your example is that loops with counters must be entered from another block in order to use the phi instruction correctly, not that it should be invalid to branch to the entry block. It seems to me that it makes sense to go back to the entry point if looping is not
2010 Jun 24
4
[LLVMdev] Hello World
Hello everyone, I've been watching LLVM since about a year now, and I thought it was finally time I'd do something with it. So I've got my hands dirty with a cool project (who knows? maybe I'll end up releasing it), but since I'm fairly new to the whole thing, there are still a number of things I'm not too sure about. First, the way we create instructions confuses me a
2015 Jul 16
2
[LLVMdev] Regions according to LLVM
Hi all, I'm working with regions, and I was surprised by the region set of this function: > define void @foo() { > br i1 false, label %loop, label %end > > loop: > br i1 false, label %loop, label %end > > end: > ret void > } .dot file as generated by opt —view-regions attached. Essentially, there are 3 regions: one that has the whole function, one that has
2010 Jun 26
0
[LLVMdev] IRBuilder<>::CreateCall, CreateCall2, CreateCall3, ...
On Jun 25, 2010, at 6:24 PM, Félix Cloutier wrote: > Hey guys, > > Whys are there like 5 variants of CreateCall in IRBuilder<> with numbers appended to them? The only difference I can see is the number of arguments. Aren't C++ function overloads be suited for this? An overload could work, but this sort of API makes it more obvious which one you're trying to call and