similar to: [LLVMdev] LoopInfo fails

Displaying 20 results from an estimated 80000 matches similar to: "[LLVMdev] LoopInfo fails"

2010 Mar 31
0
[LLVMdev] LoopInfo fails
On 03/31/10 17:12, Jochen Wilhelmy wrote: > Hi! > > if I have this little function: > > float loopTest(float a, float b) > { > float x = 1.0f; > int i = 0; > if (a< b) > goto l; > for (i = 0; i< 10; ++i) > { > x *= a; > l: > x += b; > } > return x; > } > >
2011 Dec 29
0
[LLVMdev] InstCombine "pessimizes" trunc i8 to i1?
I think Chris is saying that the and is necessary because with your i1 trunc you're ignoring all of the high bits. The and implements that. If you don't want this behavior, don't generate the trunc in the first place and just compare the full width to zero. Reid On Wed, Dec 28, 2011 at 6:45 AM, Jochen Wilhelmy <j.wilhelmy at arcor.de>wrote: > > >> Hi! >
2011 Dec 28
3
[LLVMdev] InstCombine "pessimizes" trunc i8 to i1?
>> Hi! >> >> before InstCombine (llvm::createInstructionCombiningPass()) I have >> a trunc from i8 to i1 and then a select: >> >> %45 = load i8* @myGlobal, align 1 >> %tobool = trunc i8 %45 to i1 >> %cond = select i1 %tobool, float 1.000000e+00, float -1.000000e+00 >> >> after instCombine I have: >> >> %29 = load i8*
2010 Mar 11
0
[LLVMdev] how to access loopInfo
On Thursday 11 March 2010 12:36:55 Jochen Wilhelmy wrote: > Hi! > > I'd like to analyze a function with the llvm::LoopInfo pass and then > write some info to disk. I create a FunctionPassManager and insert it and > a DominatorTree which is required by LoopInfo. > As it turns out the analysis info is only available to other > passes and gets cleared when the run function of
2010 Mar 11
2
[LLVMdev] how to access loopInfo
Hi! I'd like to analyze a function with the llvm::LoopInfo pass and then write some info to disk. I create a FunctionPassManager and insert it and a DominatorTree which is required by LoopInfo. As it turns out the analysis info is only available to other passes and gets cleared when the run function of the pass manager returns. I therefore guess that I need to create an own pass. Is this
2010 Mar 03
5
[LLVMdev] folding x * 0 = 0
Hi! > sin/cos etc should already be handled by lib/Analysis/ConstantFolding.cpp. > Thanks for the hint and it works! Now I have a new Problem: I have this function: float foo(float a, float b) { float x = a * b * 0.0f; return cos(0.5) * sin(0.5) * x; }; after compiling it with clang (cpp mode) and renaming _ZSt3sinf to sin and _ZSt3cosf to cos I get the following: define
2010 Mar 11
1
[LLVMdev] how to access loopInfo
Hi! > I'm not sure what you mean by this new pass being of no use to other passes. > It's not generating any new information about the program (or if it is, it's > writing it to disk), so other passes wouldn't need it anyway. > So I know that I'm on the right way. I just think it's a bit of overhead implementing an own pass and register it using
2011 Dec 27
2
[LLVMdev] InstCombine "pessimizes" trunc i8 to i1?
Hi! before InstCombine (llvm::createInstructionCombiningPass()) I have a trunc from i8 to i1 and then a select: %45 = load i8* @myGlobal, align 1 %tobool = trunc i8 %45 to i1 %cond = select i1 %tobool, float 1.000000e+00, float -1.000000e+00 after instCombine I have: %29 = load i8* @myGlobal, align 1 %30 = and i8 %29, 1 %tobool = icmp ne i8 %30, 0 %cond = select i1 %tobool, float 1.000000e+00,
2010 Oct 15
1
[LLVMdev] compiling rev. 116572 on you-know-what
Hi! These warnings and errors might be interesting to you when compiling rev. 116572 of llvm and clang on windows: \llvm\utils\killthedoctor\system_error.h(260) : error C2065: 'EAFNOSUPPORT' : undeclared identifier and many similar errors regarding the system error constants. msdn says it's WSAEAFNOSUPPORT instead of EAFNOSUPPORT (prepend WSA... to all system error constants)
2011 Dec 28
0
[LLVMdev] InstCombine "pessimizes" trunc i8 to i1?
On Dec 27, 2011, at 5:09 AM, Jochen Wilhelmy wrote: > Hi! > > before InstCombine (llvm::createInstructionCombiningPass()) I have > a trunc from i8 to i1 and then a select: > > %45 = load i8* @myGlobal, align 1 > %tobool = trunc i8 %45 to i1 > %cond = select i1 %tobool, float 1.000000e+00, float -1.000000e+00 > > after instCombine I have: > > %29 = load i8*
2010 Mar 03
0
[LLVMdev] folding x * 0 = 0
On 3 March 2010 11:56, Jochen Wilhelmy <j.wilhelmy at arcor.de> wrote: > > the sin and cos calls are folded, but not the mul by zero. > Is x*0 => 0 true if isnan(x)? And cos(x)*sin(x) makes me desperately want to fold it to sin(2*x)/2, but I suppose that's not allowed either.
2010 Mar 05
0
[LLVMdev] folding x * 0 = 0
Hi Jochen, I just wanted to point out that if x = inf the result of x * 0 is in indeterminate form so reducing it to zero would give the wrong result in that case. Thanks, Javier On 3/3/2010 8:56 AM, Jochen Wilhelmy wrote: > Hi! > > > >> sin/cos etc should already be handled by lib/Analysis/ConstantFolding.cpp. >> >> > Thanks for the hint and it
2010 Jul 09
2
[LLVMdev] APFloat::convertToDouble asserts
> I'd rather not. The functionality you want is there, feed another > APFloat type through APFloat::convert first. > > Using host FP is not something that should be encouraged; the main > point of APFloat is so people don't have to do that. Why do you want > to, btw? > Yes, i got it working using APFloat::convert. I need host float to output to my backend which
2010 Nov 26
3
[LLVMdev] request for windows unicode support
On 25.11.2010 23:56, Michael Spencer wrote: > On Nov 25, 2010, at 5:01 PM, Jochen Wilhelmy <j.wilhelmy at arcor.de > <mailto:j.wilhelmy at arcor.de>> wrote: > >> Hi! >> >> Of course nobody wants to implement unicode support for windows >> because windows should support an utf8-locale and windows is obsolete >> anyway ;-) >> >> But
2010 Nov 25
0
[LLVMdev] request for windows unicode support
On Nov 25, 2010, at 5:01 PM, Jochen Wilhelmy <j.wilhelmy at arcor.de> wrote: > Hi! > > Of course nobody wants to implement unicode support for windows > because windows should support an utf8-locale and windows is obsolete > anyway ;-) > > But there is a simple solution: use boost::filesystem::path everywhere you > use file names and paths, for example in
2010 Jul 09
0
[LLVMdev] APFloat::convertToDouble asserts
On Jul 9, 2010, at 1:20 PMPDT, Jochen Wilhelmy wrote: >> I'd rather not. The functionality you want is there, feed another >> APFloat type through APFloat::convert first. >> >> Using host FP is not something that should be encouraged; the main >> point of APFloat is so people don't have to do that. Why do you >> want to, btw? > > Yes, i got
2010 Nov 26
2
[LLVMdev] request for windows unicode support
On Fri, 26 Nov 2010 09:28:17 -0500 Michael Spencer <bigcheesegs at gmail.com> wrote: > On Fri, Nov 26, 2010 at 4:00 AM, Jochen Wilhelmy > <j.wilhelmy at arcor.de> wrote: > > No, this post was prompted since I switched to boost::filesystem > > version 3 in my own code and llvm/clang 2.8 > > was the only lib with no unicode support on windows. > > Will your
2010 Nov 26
0
[LLVMdev] request for windows unicode support
On Fri, Nov 26, 2010 at 4:00 AM, Jochen Wilhelmy <j.wilhelmy at arcor.de> wrote: > No, this post was prompted since I switched to boost::filesystem version 3 > in my own code and llvm/clang 2.8 > was the only lib with no unicode support on windows. > Will your code be api compatible to boost::filesystem? No. boost::filesystem makes extensive use of exceptions, which LLVM is
2010 Jul 20
2
[LLVMdev] [cfe-dev] conditional operator
Hello Jochen- Your expectation is incorrect, I'm afraid. Typically this would be expanded to something like this: … %cmp = … br i1 %cmp, label %ternary.true, label %ternary.false ternary.true: %truevalue = … br label %ternary.end ternary.false: %falsevalue = … br label %ternary.end ternary.end: %value = phi %type [%truevalue, %ternary.true], [%falsevalue,
2010 Nov 25
2
[LLVMdev] request for windows unicode support
Hi! Of course nobody wants to implement unicode support for windows because windows should support an utf8-locale and windows is obsolete anyway ;-) But there is a simple solution: use boost::filesystem::path everywhere you use file names and paths, for example in clang::FileManager::getFile. With version 3 opening a file is easy: std::fstream file(path.c_str()). Internally