Displaying 10 results from an estimated 10 matches for "buildselectiondag".
2007 Oct 02
0
[LLVMdev] RFC: Tail call optimization X86
Hi all,
I changed the code that checks whether a tail call is really eligible
for optimization so that it performs the check/fix in
SelectionDAGISel.cpp:BuildSelectionDAG() as suggest by Evan. Also
eliminated an error that caused the remaining failing test cases in
the test-suite.
The results look very nice (on darwin x86, r42486).
The same number (46) of failing test cases on patched version and
vanilla version. LCCBETA was enabled on both. I changed the LCC...
2007 Sep 26
3
[LLVMdev] RFC: Tail call optimization X86
On Tue, 25 Sep 2007, Evan Cheng wrote:
>> the stack adjustment only fastcc was not one of them. Now that fastcc
>> can cause tail call optimization i had to change the convention from
>> caller pops arguments to callee pops arguments in order to allow tail
>> call optimization in a general way.
>
> Hmmm. Ok. So this is due to X86CallingConv.td changes? Unfortunately
2008 Aug 07
0
[LLVMdev] crash in JIT when running the inliner
Hi,
> Today I've been trying to debug a weird bug that makes JIT crash with
> certain code and when using the inliner. This may sound weird, but if I
> disable the inliner, it doesn't crash.
> I include an example gdb dump below. Does something looks wrong? Do you
> think it's a bug in JIT or it's just some other piece of code that is
> writing on the JIT
2008 Aug 09
1
[LLVMdev] crash in JIT when running the inliner
...tor.h:119)
==11384== by 0x54C50F9: std::vector<llvm::SDValue,
std::allocator<llvm::SDValue> >::~vector() (stl_vector.h:272)
==11384== by 0x5683471:
llvm::SelectionDAGLowering::~SelectionDAGLowering()
(SelectionDAGISel.cpp:496)
==11384== by 0x567683D:
llvm::SelectionDAGISel::BuildSelectionDAG(llvm::SelectionDAG&,
llvm::BasicBlock*, std::vector<std::pair<llvm::MachineInstr*, unsigned>,
std::allocator<std::pair<llvm::MachineInstr*, unsigned> > >&,
llvm::FunctionLoweringInfo&) (SelectionDAGISel.cpp:5252)
==11384== by 0x56768C0:
llvm::SelectionDAGI...
2007 Sep 25
0
[LLVMdev] RFC: Tail call optimization X86
...zations at this
>> point.
>> Then checks for eligibility and fix the call nodes after all the
>> instructions are lowered.
> I am not sure that i understand where this point would be. As I view
> it the only place would be in LegalizeDAG.cpp in
No, in SelectionDAGISel.cpp:BuildSelectionDAG(). After line 4610, the
complete DAG is available. You can add a call here to look at the
last call and the terminator to decide whether the call is really a
candidate for tail call optimization. You can fix it up at this point.
Evan
>
> SDOperand SelectionDAGLegalize::LegalizeOp(SDOp...
2008 Aug 06
2
[LLVMdev] crash in JIT when running the inliner
Hi,
Today I've been trying to debug a weird bug that makes JIT crash with
certain code and when using the inliner. This may sound weird, but if I
disable the inliner, it doesn't crash.
I include an example gdb dump below. Does something looks wrong? Do you
think it's a bug in JIT or it's just some other piece of code that is
writing on the JIT memory?.. I don't really know
2007 Sep 25
2
[LLVMdev] RFC: Tail call optimization X86
> > FastCC use to be caller pops arguments so there was no stack
> > adjustment after the
> > call to qux. Now FastCC has callee pops arguments on return semantics
> > so the
> > x86 backend inserts a stack adjustment after the call.
> >
> > _array:
> > subl $12, %esp
> > movss LCPI1_0, %xmm0
> > mulss
2007 Oct 03
4
[LLVMdev] RFC: Tail call optimization X86
On Oct 2, 2007, at 2:27 AM, Arnold Schwaighofer wrote:
> Hi all,
>
> I changed the code that checks whether a tail call is really
> eligible for optimization so that it performs the check/fix in
> SelectionDAGISel.cpp:BuildSelectionDAG() as suggest by Evan. Also
> eliminated an error that caused the remaining failing test cases in
> the test-suite.
>
> The results look very nice (on darwin x86, r42486).
> The same number (46) of failing test cases on patched version and
> vanilla version. LCCBETA was enabl...
2006 Dec 19
3
[LLVMdev] alias-aware scheduling
...+ PendingLoads.push_back(S.getValue(0));
}
+
/// IntrinsicCannotAccessMemory - Return true if the specified intrinsic cannot
/// access memory and has no other side effects at all.
static bool IntrinsicCannotAccessMemory(unsigned IntrinsicID) {
@@ -3987,7 +4159,7 @@
void SelectionDAGISel::BuildSelectionDAG(SelectionDAG &DAG, BasicBlock *LLVMBB,
std::vector<std::pair<MachineInstr*, unsigned> > &PHINodesToUpdate,
FunctionLoweringInfo &FuncInfo) {
- SelectionDAGLowering SDL(DAG, TLI, FuncInfo);
+ SelectionDAGLowering SDL(DAG, TL...
2007 Oct 04
3
[LLVMdev] RFC: Tail call optimization X86
...l be ready for svn comit after one more iteration. :-)
Evan
On Oct 2, 2007, at 2:27 AM, Arnold Schwaighofer wrote:
> Hi all,
>
> I changed the code that checks whether a tail call is really
> eligible for optimization so that it performs the check/fix in
> SelectionDAGISel.cpp:BuildSelectionDAG() as suggest by Evan. Also
> eliminated an error that caused the remaining failing test cases in
> the test-suite.
>
> The results look very nice (on darwin x86, r42486).
> The same number (46) of failing test cases on patched version and
> vanilla version. LCCBETA was enabl...