Thu Feb 15 16:26:28 2007
+++ llvm/CREDITS.TXTTue Feb 27 04:44:42 2007
@@ -78,6 +78,11 @@
D: Dynamic trace optimizer
D: FreeBSD/X86 compatibility fixes, the llvm-nm tool
+N: Nicolas Geoffray
+E: [EMAIL PROTECTED]
+W: http://www-src.lip6.fr/homepages/Nicolas.Geoffray/
+D: PPC backend
Changes in directory llvm/lib/Target/PowerPC:
PPCHazardRecognizers.cpp updated: 1.19 - 1.20
---
Log message:
Fix parenthesis for BCTRL_{ELF|Macho} test.
---
Diffs of the changes: (+1 -1)
PPCHazardRecognizers.cpp |2 +-
1 files changed, 1 insertion(+), 1 deletion(-)
Index:
Changes in directory llvm/lib/Target/PowerPC:
PPCISelLowering.cpp updated: 1.257 - 1.258
PPCISelLowering.h updated: 1.59 - 1.60
PPCInstr64Bit.td updated: 1.40 - 1.41
PPCInstrInfo.td updated: 1.275 - 1.276
---
Log message:
Differentiate between the MachO and the ELF ABI the CALL instruction.
This patch implements the frameaddress intrinsincs for PPC.
OK to commit?
Index: PPCISelLowering.h
===
RCS file: /var/cvs/llvm/llvm/lib/Target/PowerPC/PPCISelLowering.h,v
retrieving revision 1.60
diff -t -d -u -p -5 -r1.60
If there is no objection, I'm committing this in.
Nicolas Geoffray wrote:
This patch implements the frameaddress intrinsincs for PPC.
OK to commit?
Index: PPCISelLowering.h
If there is no objection, I'm committing this in.
Nicolas
Nicolas Geoffray wrote:
Here's a patch that fixes linux/PPC FramePointer. It reserves the
offset of the frame pointer before
calculating the offsets of callee saved registers.
OK to commit
Changes in directory llvm/lib/Target/PowerPC:
PPCISelLowering.h updated: 1.60 - 1.61
PPCISelLowering.cpp updated: 1.258 - 1.259
---
Log message:
Implemented the frameaddress intrinsic for PPC.
---
Diffs of the changes: (+25 -1)
PPCISelLowering.cpp | 24 +++-
Chris Lattner wrote:
Why can't you just mark the frame address callee save? Why isn't it
getting saved automatically for you?
Because R31 is not used as a callee saved register when
llvm::NoFramePointerElim is set to 1. The algorithm
that calculates the callee saved registers' addresses
Chris Lattner wrote:
Because R31 is not used as a callee saved register when
llvm::NoFramePointerElim is set to 1.
NoFramePointerElim doesn't change the ABI, only the codegen model.
Yes it doesn't change the ABI, but R31's offset in Linux/ELF is in the
callee saved area. In Macho it is
Chris Lattner wrote:
Ok, so it's not related to NoFramePointerElim? If that's the case,
you should just have Macho and ELF return different sets of callee
saved regs.
No, that's not the issue.
Let me rephrase why I need this patch :)
In PowerPC, whether it's on ELF ABI or MachO, R31 is a
This patch corrects arguments passing alignment for linux/ppc calls (ELF
ABI).
It affects LowerFORMAL_ARGUMENTS and LowerCALL of PPCISelLowering.cpp.
OK to commit?
Index: PPCISelLowering.cpp
===
RCS file:
Small mistake, here's the correct patch.
Nicolas
Nicolas Geoffray wrote:
This patch corrects arguments passing alignment for linux/ppc calls
(ELF ABI).
It affects LowerFORMAL_ARGUMENTS and LowerCALL of PPCISelLowering.cpp.
OK to commit?
Index: PPCISelLowering.cpp
If there is no objection, I'm checking this in.
Nicolas
Nicolas Geoffray wrote:
Small mistake, here's the correct patch.
Nicolas
Nicolas Geoffray wrote:
This patch corrects arguments passing alignment for linux/ppc calls
(ELF ABI).
It affects LowerFORMAL_ARGUMENTS and LowerCALL
Chris (and everyone),
I hope I convinced you :) If it's the case, I'm checking this in.
Nicolas
Nicolas Geoffray wrote:
Chris Lattner wrote:
Ok, so it's not related to NoFramePointerElim? If that's the case,
you should just have Macho and ELF return different sets of callee
saved
Hi Chris,
Chris Lattner wrote:
Ahhh, ok. I think I understand now what is going on. Thank you for
the very clear explanation.
In this case, it seems like a clearly good thing to just call
CreateFixedObject unconditionally early on (e.g.) when lowering the
arguments.
Unconditionally?
Here's the final patch with the modifications you suggested. Thx a lot
for your reviewing Chris.
If everything's OK I'm checking this in soon.
Cheers,
Nicolas
Chris Lattner wrote:
On Mar 6, 2007, at 10:03 AM, Nicolas Geoffray wrote:
This patch corrects arguments passing alignment for linux
Changes in directory llvm/lib/Target/PowerPC:
PPCISelLowering.cpp updated: 1.261 - 1.262
---
Log message:
Stack and register alignment of call arguments in the ELF ABI
---
Diffs of the changes: (+52 -6)
PPCISelLowering.cpp | 58 ++--
1
Chris Lattner wrote:
On Mar 12, 2007, at 7:57 AM, Nicolas Geoffray wrote:
Hi Chris,
Chris Lattner wrote:
Ahhh, ok. I think I understand now what is going on. Thank you for
the very clear explanation.
In this case, it seems like a clearly good thing to just call
CreateFixedObject
Changes in directory llvm/lib/Target/PowerPC:
PPCRegisterInfo.cpp updated: 1.117 - 1.118
---
Log message:
Protect R31's frame offset from being used by callee-saved registers, when R31
is the frame pointer.
---
Diffs of the changes: (+20 -0)
PPCRegisterInfo.cpp | 20
Changes in directory llvm/lib/Target/PowerPC:
PPCCallingConv.td updated: 1.1 - 1.2
PPCISelLowering.cpp updated: 1.265 - 1.266
PPCInstr64Bit.td updated: 1.42 - 1.43
PPCInstrInfo.td updated: 1.276 - 1.277
PPCRegisterInfo.cpp updated: 1.118 - 1.119
---
Log message:
The ELF ABI specifies F1-F8
Changes in directory llvm/lib/Target/PowerPC:
PPCCallingConv.td updated: 1.2 - 1.3
PPCFrameInfo.h updated: 1.13 - 1.14
PPCISelLowering.cpp updated: 1.266 - 1.267
PPCInstr64Bit.td updated: 1.43 - 1.44
PPCRegisterInfo.cpp updated: 1.120 - 1.121
PPCSubtarget.h updated: 1.25 - 1.26
---
Log message:
Changes in directory llvm/lib/Target/PowerPC:
PPCISelLowering.cpp updated: 1.267 - 1.268
PPCISelLowering.h updated: 1.64 - 1.65
---
Log message:
Starting implementation of the ELF32 ABI specification of varargs handling.
LowerVASTART emits the right code if the subtarget is ELF32, the other
Changes in directory llvm/docs:
ReleaseNotes.html updated: 1.375 - 1.376
---
Log message:
Note on current implementation of ELF32/PPC ABI.
---
Diffs of the changes: (+3 -1)
ReleaseNotes.html |4 +++-
1 files changed, 3 insertions(+), 1 deletion(-)
Index: llvm/docs/ReleaseNotes.html
Here's a patch to make stubs work in linux/ppc. I'll commit it if
there's no objection.
Chris: Just a question. I noticed on cvsweb that you wrote the lines:
MCE.emitWordBE(0x9421ffe0); // stwu r1,-32(r1)
MCE.emitWordBE(0x7d6802a6); // mflr r11
MCE.emitWordBE(0x91610028);
Changes in directory llvm/lib/Target/PowerPC:
PPCJITInfo.cpp updated: 1.37 - 1.38
---
Log message:
Implementation of compilation callback in PPC ELF32
---
Diffs of the changes: (+32 -31)
PPCJITInfo.cpp | 63 -
1 files changed, 32
Author: geoffray
Date: Fri Dec 21 06:19:44 2007
New Revision: 45281
URL: http://llvm.org/viewvc/llvm-project?rev=45281view=rev
Log:
Enable EH for linux/ppc32 targets
Modified:
llvm/trunk/lib/Target/PowerPC/PPCISelLowering.cpp
llvm/trunk/lib/Target/PowerPC/PPCTargetAsmInfo.cpp
Modified:
Author: geoffray
Date: Fri Dec 21 06:22:29 2007
New Revision: 45282
URL: http://llvm.org/viewvc/llvm-project?rev=45282view=rev
Log:
Fix unintented change from last commit
Modified:
llvm/trunk/lib/Target/PowerPC/PPCISelLowering.cpp
Modified: llvm/trunk/lib/Target/PowerPC/PPCISelLowering.cpp
Hi Nate,
Nate Begeman wrote:
Author: sampo
Date: Tue Feb 12 20:58:33 2008
New Revision: 47045
URL: http://llvm.org/viewvc/llvm-project?rev=47045view=rev
Log:
Make register scavenging happy by not using a reg (CR0) that isn't defined
I don't know about darwin, but this breaks
Author: geoffray
Date: Wed Feb 13 12:39:37 2008
New Revision: 47079
URL: http://llvm.org/viewvc/llvm-project?rev=47079view=rev
Log:
Enable exception handling int JIT
Added:
llvm/trunk/lib/ExecutionEngine/JIT/JITDwarfEmitter.cpp
llvm/trunk/lib/ExecutionEngine/JIT/JITDwarfEmitter.h
Thanks Chris, it works just fine now.
Chris Lattner wrote:
I don't know about darwin, but this breaks linux/ppc32 JIT (llc works
fine). On a simple test case:
define i32 @main(i32 %argc) {
entry:
%tmp2 = add i32 2, %argc
ret i32 %tmp2
}
Yep, this was broken on darwin
30 matches
Mail list logo