- test both 32 and 64 bit version
- probe the tail in dynamic-alloca
- generate more concise code
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Unit Tests
Unit Tests
Event Timeline
Comment Actions
Rework and improve the patch:
- more documentation
- more assert
- slight update of the way static alloca are probed, leads to slightly smaller code
- completely rework the way dynamic alloca are probed, which leads to smaller and cleaner assembly. As a side effect it also probes the tail.
llvm/lib/Target/X86/X86FrameLowering.cpp | ||
---|---|---|
715–717 | This can't be MOV64rr for 32-bit. Can we use TargetOpcode::COPY? | |
llvm/lib/Target/X86/X86ISelLowering.cpp | ||
31580 | use Register instead of unsigned. | |
31587–31594 | This shouldn't be MOV64rr if the stack pointer is 32 bits. Can we just use TargetOpcode::COPY here? |
Comment Actions
Can we have tests for 32-bit mode too? Which I hope would have caught those previous issues.
llvm/lib/Target/X86/X86FrameLowering.cpp | ||
---|---|---|
663 | Register |
Register