search for: stackalign

Displaying 20 results from an estimated 31 matches for "stackalign".

2009 Sep 18
5
[LLVMdev] OT: intel darwin losing primary target status
I thought of another work around. The FSF gcc driver can implicitly add -no_compact_unwind to the link line. This tells the linker to not produce compact unwind information from the dwarf unwind info in .o files. Then at runtime the darwin unwinder will fallback and use the slow dwarf unwind info. -Nick On Sep 18, 2009, at 2:27 PM, Nick Kledzik wrote: > I dug into this. Based on
2013 Nov 18
2
[LLVMdev] Unaligned load/store for callee-saved 128-bit registers
...ing this test case: http://pastie.org/8490604 The problem is in PEI::calculateCalleeSavedRegisters: // We may not be able to satisfy the desired alignment specification of // the TargetRegisterClass if the stack alignment is smaller. Use the // min. Align = std::min(Align, StackAlign); FrameIdx = MFI->CreateStackObject(RC->getSize(), Align, true); This will create unaligned load/store for a callee-saved 128-bit register on the frame slot because StackAlign is 4. Adding a check for stack realignable or putting all the 128-bit registers as caller-save will fix the p...
2012 Apr 16
2
[LLVMdev] Question about PTXFrameLowering
Hi all, I'm learning the PTX backend and confused by the following problem. In the constructor of PTXFrameLowering, StackAlignment and LocalAreaOffset are assigned 2 and -2, respectively. Since PTX has neither stack frame nor stack pointer, why StackAlignment and LocalAreaOffset are needed and where does 2 and -2 come from? Any explanation is appreciated. Thank you in advance! Yours Sincerely, Lei Mou -------------- next...
2013 Nov 21
2
[LLVMdev] Unaligned load/store for callee-saved 128-bit registers
...eCalleeSavedRegisters: > > > > > > > > // We may not be able to satisfy the desired alignment > > specification > > of > > // the TargetRegisterClass if the stack alignment is smaller. Use > > the > > // min. > > Align = std::min(Align, StackAlign); > > FrameIdx = MFI->CreateStackObject(RC->getSize(), Align, true); > > > > > > This will create unaligned load/store for a callee-saved 128-bit > > register on the frame slot because StackAlign is 4. > > > > > > Adding a check for stack re...
2013 Nov 18
0
[LLVMdev] Unaligned load/store for callee-saved 128-bit registers
...org/8490604 > > > The problem is in PEI::calculateCalleeSavedRegisters: > > > > // We may not be able to satisfy the desired alignment specification > of > // the TargetRegisterClass if the stack alignment is smaller. Use the > // min. > Align = std::min(Align, StackAlign); > FrameIdx = MFI->CreateStackObject(RC->getSize(), Align, true); > > > This will create unaligned load/store for a callee-saved 128-bit > register on the frame slot because StackAlign is 4. > > > Adding a check for stack realignable or putting all the 128-bit &gt...
2013 Nov 21
0
[LLVMdev] Unaligned load/store for callee-saved 128-bit registers
...> > > > > > > // We may not be able to satisfy the desired alignment > > > specification > > > of > > > // the TargetRegisterClass if the stack alignment is smaller. Use > > > the > > > // min. > > > Align = std::min(Align, StackAlign); > > > FrameIdx = MFI->CreateStackObject(RC->getSize(), Align, true); > > > > > > > > > This will create unaligned load/store for a callee-saved 128-bit > > > register on the frame slot because StackAlign is 4. > > > > > > > &...
2012 Apr 16
0
[LLVMdev] Question about PTXFrameLowering
On Mon, Apr 16, 2012 at 3:48 AM, Lei Mou <lei.mou.uu at gmail.com> wrote: > Hi all, > > I'm learning the PTX backend and confused by the following problem. In the > constructor of PTXFrameLowering, StackAlignment and LocalAreaOffset are > assigned 2 and -2, respectively. Since PTX has neither stack frame nor > stack pointer, why StackAlignment and LocalAreaOffset are needed and where > does 2 and -2 come from? Any explanation is appreciated. Thank you in > advance! > There's really n...
2013 Nov 21
2
[LLVMdev] Unaligned load/store for callee-saved 128-bit registers
...gt; > > > > > > // We may not be able to satisfy the desired alignment > > > specification > > > of > > > // the TargetRegisterClass if the stack alignment is smaller. Use > > > the > > > // min. > > > Align = std::min(Align, StackAlign); > > > FrameIdx = MFI->CreateStackObject(RC->getSize(), Align, true); > > > > > > > > > This will create unaligned load/store for a callee-saved 128-bit > > > register on the frame slot because StackAlign is 4. > > > > > > &g...
2011 Feb 14
1
[LLVMdev] broken alignment in stack(caused by bug in SelectionDAGBuilder) causes invalid schedules with r125471 and newer
...tains invalid align information, this optimization breaks and it incorrectly optimizes add by 4 into xor by 4, when the object is (in reality) aligned by 4, not by 8(which MFI thinks about it's alignment) Two solutions come into my mind: 1) changiing the SelectionDAGBuilder to use std::min(StackAlignment, PreferredAlignment) instead of PreferredAlignment. This might require asserting (StackAlignment <= ABI alignment). 2) changing the SelectionAGBuilder to use ABI alignment instead of the preferred alignment for the stack objects. The affected code lines are around 4820, and 5694 of Select...
2009 Sep 19
0
[LLVMdev] OT: intel darwin losing primary target status
...t unwind information from the dwarf unwind info in .o > files. Then at runtime the darwin unwinder will fallback and use the > slow dwarf unwind info. > > -Nick > Nick, I can confirm that passing "-Wl,-no_compact_unwind" to the failing testcase for g++.dg/torture/stackalign/eh-vararg-2.C eliminates the run-time error. I'd run the entire testsuite with that approach but I don't know how to suppress the comma in... make -k check RUNTESTFLAGS="--target_board=unix'{-Wl,-no_compact_unwind}'" so that it runs as a single test passing "-Wl,-n...
2005 Dec 28
2
Experimental psycho-acoustic model
Hi everyone, For those who like to play with experimental stuff, I've got something new to test. If you compile with --enable-vorbis-psy , Speex uses a variant of the Vorbis psycho-acoustic model to shape the coding noise. So far, I've obtained a slight increase in quality, but I'm interested in feedback from others. This still needs a lot of tuning and has received only a minimal
2012 Mar 04
5
wine 1.4rc6 crashes if alsa is available
I'm using wine in combination with pylotro for playing Lotro with Arch Linux. Since about a month the game start is blocked with the message: err:seh:raise_exception Unhandled exception code c0000005 flags 0 addr 0xf75822fe wine client error:9: write: Ung??ltiger Dateideskriptor (bad file descriptor) Today I was trying again to manage that problem. When I keep the crashed game open and start
2017 Apr 27
4
-msave-args backend support for x86_64
...e. bool Is64Bit; Index: lib/Target/X86/X86Subtarget.cpp =================================================================== --- lib/Target/X86/X86Subtarget.cpp (revision 301500) +++ lib/Target/X86/X86Subtarget.cpp (working copy) @@ -312,6 +312,7 @@ SlowLEA = false; SlowIncDec = false; stackAlignment = 4; + SaveArgs = false; // FIXME: this is a known good value for Yonah. How about others? MaxInlineSizeThreshold = 128; UseSoftFloat = false; Index: lib/Target/X86/X86Subtarget.h =================================================================== --- lib/Target/X86/X86Subtarget.h (re...
2005 Dec 31
3
Experimental psycho-acoustic model
> When enabling and compiling this with mingw on Win32, my debugger > complains about heap overruns when calling speex_encoder_destroy(). This > could be a mingw issue though, as I also found a stackalignment bug which > prevents me from _USING_SSE (apparantly -mpreferred-stack-size is just > "prefered" and therefore ignored... *Sigh*). Just so I understand, the debugger complains, but the code still runs? What's the message? > But, before that point, there seems to be.. w...
2012 Oct 23
2
[LLVMdev] x86 Frame Pointer with AVX
...ssibility that vector register > // will be spilled and thus require dynamic stack realignment. > for (unsigned i = 0, e = RI.getNumVirtRegs(); i != e; ++i) { > unsigned Reg = TargetRegisterInfo::index2VirtReg(i); > if (RI.getRegClass(Reg)->getAlignment() > StackAlignment) { > FuncInfo->setForceFramePointer(true); // <= Forces Frame Pointer for any AVX reg use!!! > return true; > } > } Just to be pedantic, at one time this did work properly for AVX without adding the unnecessary frame pointer. It is a proper regre...
2012 Dec 06
2
[LLVMdev] Value of structure passed byval to a recurse function not initialized when accessed through GDB
...problem in clang. The problem seems to be that when we have pass by value of struct (having indirect arguments) stack is not aligned properly. I tried realigning the stack for indirect arguments in(TargetInfo.cpp) - ABIArgInfo X86_32ABIInfo::getIndirectResult(QualType Ty, bool ByVal) ..... if (StackAlign == 0) return ABIArgInfo::getIndirect(4, /*ByVal=*/true, /*Realign=*/true); // Do a realign of stack. ... This seems to have fixed the issue. Also in case we have a large structure - e.g. - typedef struct s { long s; long i; long l; long s1...
2014 Nov 17
2
[LLVMdev] [PATCH] Protection against stack-based memory corruption errors using SafeStack
+nlewycky On Mon, Nov 17, 2014 at 9:36 AM, Volodymyr Kuznetsov <vova.kuznetsov at epfl.ch > wrote: > Hi Kostya, > > On Sat, Nov 15, 2014 at 1:53 PM, Volodymyr Kuznetsov < > vova.kuznetsov at epfl.ch> wrote: > > Do you think moving the pass to lib/Transform/Instrumentation but > > scheduling it during code generation would make sense ? If so, we'll >
2012 Dec 06
0
[LLVMdev] Value of structure passed byval to a recurse function not initialized when accessed through GDB
...to be that when we have pass by value of struct > (having indirect arguments) stack is not aligned properly. > > I tried realigning the stack for indirect arguments in(TargetInfo.cpp) - > > ABIArgInfo X86_32ABIInfo::getIndirectResult(QualType Ty, bool ByVal) > > ..... > if (StackAlign == 0) > return ABIArgInfo::getIndirect(4, /*ByVal=*/true, > /*Realign=*/true); // Do a > realign of stack. > > ... > > > This seems to have fixed the issue. Also in case we have a large > structure - e.g. - > > typedef...
2012 Oct 23
0
[LLVMdev] x86 Frame Pointer with AVX
...;> register >> // will be spilled and thus require dynamic stack realignment. >> for (unsigned i = 0, e = RI.getNumVirtRegs(); i != e; ++i) { >> unsigned Reg = TargetRegisterInfo::index2VirtReg(i); >> if (RI.getRegClass(Reg)->getAlignment() > StackAlignment) { >> FuncInfo->setForceFramePointer(true); // <= Forces Frame Pointer >> for any AVX reg use!!! >> return true; >> } >> } > > Just to be pedantic, at one time this did work properly for AVX without > adding the unnecess...
2005 Dec 31
0
Experimental psycho-acoustic model
...ng and has > received only a minimal amount of testing, so don't use it for something > important. When enabling and compiling this with mingw on Win32, my debugger complains about heap overruns when calling speex_encoder_destroy(). This could be a mingw issue though, as I also found a stackalignment bug which prevents me from _USING_SSE (apparantly -mpreferred-stack-size is just "prefered" and therefore ignored... *Sigh*). But, before that point, there seems to be.. well.. I seem to think it's better, but that could be just because I expect it to be better. If the heap p...