Hello, David> Ah, ok. I think I know what I have to do. I'll put callseq_start/end nodes > around the TLS addressing.Don't do that (tm) I'm testing the fix. -- With best regards, Anton Korobeynikov. Faculty of Mathematics & Mechanics, Saint Petersburg State University.
> > Ah, ok. I think I know what I have to do. I'll put callseq_start/end nodes > > around the TLS addressing. > Don't do that (tm) > I'm testing the fix.As a workaround for now - just mark all TLS-using functions as "noredzone". -- With best regards, Anton Korobeynikov. Faculty of Mathematics & Mechanics, Saint Petersburg State University.
On Wednesday 09 December 2009 12:30, Anton Korobeynikov wrote:> Hello, David > > > Ah, ok. I think I know what I have to do. I'll put callseq_start/end > > nodes around the TLS addressing. > > Don't do that (tm)Why not?> I'm testing the fix.Ok, I'll try to "mark noredzone" thing and see if that works. -Dave
Hello, David>> Don't do that (tm) > > Why not?They will be eliminated w/o any visible effect.>> I'm testing the fix. > > Ok, I'll try to "mark noredzone" thing and see if that works.It does, I verified this with the testcase you attached to PR. The problem is not stack allocation, but red zone thing. As I already said, I'm testing the fix; since it touches some target independent code as well, I need to be sure that I haven't screwed stuff on other targets. -- With best regards, Anton Korobeynikov Faculty of Mathematics and Mechanics, Saint Petersburg State University
On Wednesday 09 December 2009 13:20, David Greene wrote:> On Wednesday 09 December 2009 12:30, Anton Korobeynikov wrote: > > Hello, David > > > > > Ah, ok. I think I know what I have to do. I'll put callseq_start/end > > > nodes around the TLS addressing. > > > > Don't do that (tm) > > Why not?FYI, it worked for our implementation in LLVM 2.5. I haven't tried porting it to TOT. -Dave