Displaying 20 results from an estimated 1100 matches similar to: "[LLVMdev] FoldingSetNodeID operations inefficiency"
2008 Apr 24
0
[LLVMdev] FoldingSetNodeID operations inefficiency
Hi Chris,
This is a good idea and I started thinking in that direction already.
But what I don't quite understand the TFs, how TFs are formed and which rules they should obey to.
For example now:
> PendingLoads created by the SelectionDAGLowering::getLoadFrom and then copied into the
> TokenFactor node by SelectionDAGLowering::getRoot called from the
>
2008 Apr 28
1
[LLVMdev] FoldingSetNodeID operations inefficiency
Hi Chris,
Your were totally right with your suggestion.
I have implemented the code that :
a) does not merge multiple TokenFactor nodes in the DAGCombiner::visitTokenFactor(), if the resulting TF node would contain more than 64 operands.
b) produces a bunch of TokenFactor nodes with at most 64 operands,
instead of one huge TokenFactor in the SelectionDAGLowering::getRoot().
If we have n
2008 Apr 30
1
[LLVMdev] FoldingSetNodeID operations inefficiency
Hi Dan,
Thanks for commenting on this topic.
See my comments in-line.
----- Ursprüngliche Mail ----
> Von: Dan Gohman <gohman at apple.com>
> An: LLVM Developers Mailing List <llvmdev at cs.uiuc.edu>
> Gesendet: Mittwoch, den 30. April 2008, 21:38:26 Uhr
> Betreff: Re: [LLVMdev] FoldingSetNodeID operations inefficiency
>
>
> On Apr 28, 2008, at 6:21 AM, Roman
2006 Dec 19
3
[LLVMdev] alias-aware scheduling
Hello,
I did a little experiment modifying LLVM to be able to use alias-analysis
information in scheduling so that independent memory operations may be
reordered.
Attached is a patch which implements this. I copied some routines from
DAGCombiner.cpp for using SDOperands with alias queries; it should
probably be factored out somewhere so the code can be shared. I
reorganized
2006 Dec 20
1
[LLVMdev] alias-aware scheduling
On Tue, Dec 19, 2006 at 01:31:10PM -0800, Evan Cheng wrote:
>
> On Dec 19, 2006, at 12:13 PM, Dan Gohman wrote:
>
> > Hello,
> >
> > I did a little experiment modifying LLVM to be able to use alias-
> > analysis
> > information in scheduling so that independent memory operations may be
> > reordered.
>
> I am not sure if it is a good idea to
2006 Dec 19
0
[LLVMdev] alias-aware scheduling
On Dec 19, 2006, at 12:13 PM, Dan Gohman wrote:
> Hello,
>
> I did a little experiment modifying LLVM to be able to use alias-
> analysis
> information in scheduling so that independent memory operations may be
> reordered.
I am not sure if it is a good idea to do this at scheduling time.
LLVM explicitly models control flows dependencies as chain operands.
This eliminated
2010 Feb 06
4
[LLVMdev] [PATCH] FoldingSetNodeID: use MurmurHash2 instead of SuperFastHash
Some additional info can be found at:
http://murmurhash.googlepages.com/
http://en.wikipedia.org/wiki/MurmurHash
http://www.codeproject.com/KB/recipes/hash_functions.aspx
as well as in the patch description itself. Patch and benchmark attached.
Gregory
-------------- next part --------------
A non-text attachment was scrubbed...
Name:
2010 Feb 07
0
[LLVMdev] [PATCH] FoldingSetNodeID: use MurmurHash2 instead of SuperFastHash
While I've not reviewed the patch in too much detail, it looks
promising. Can you run some end-to-end benchmarks to make sure that
cache pressure in the full program or other variables not accounted
for in a micro-benchmark don't dominate performance? Specifically the
nightly tester includes a number of real programs and machinery to
measure total compile time.
On Sat, Feb 6, 2010 at 7:09
2017 Oct 13
2
[SelectionDAG] Assertion due to MachineMemOperand flags difference.
Hello,
I've hit an assertion in SelectionDAG where we try to merge 2 loads
that have the same operands but their MMO flags differ. One is
dereferenceable and one is not. I'm not sure what the underlying issue
here is:
1) MDSDNode with the same operands should have the same flags set on
their respective MMO. The fact the flags differ when the
opcode,types,operands and address-space are
2009 Sep 16
0
[LLVMdev] struct returns
On Sep 16, 2009, at 5:58 AM, Kenneth Uildriks wrote:
>> I recently made a major reorganization of the calling-convention
>> lowering code which cleared away one of the major obstacles to
>> doing this within codegen.
>>
>> Dan
>
> So what was the obstacle, and how was it cleared?
The biggest obstacle is that there used to be two different methods
for lowering
2008 Aug 15
3
[LLVMdev] install question
I'm trying to install llvm on my windows development box and hit a
problem
I'm using cygwin
cygwin% gcc --version
gcc (GCC) 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)
I downloaded both the top of tree via svn
I ran ./configure
make
make[1]: Entering directory `/cygdrive/c/llvm/lib/Support'
llvm[1]: Compiling APFloat.cpp for Debug build
llvm[1]: Compiling APInt.cpp
2007 Aug 28
2
[LLVMdev] Custom GEP lowering
It looks like I need to be able to intercept GEP lowering (in
SelectionDAGLowering::visitGetElementPtr) and insert something else
other than the shifts and adds. The basic problem is that CellSPU
loads and stores on 16-byte boundaries. Consequently, the SPU backend
has to do the load or store differently than most normal
architectures that have byte-addressable operations.
2011 Jun 01
0
[LLVMdev] Bug in FoldingSetNodeID::AddInteger(unsigned long long I)?
The current implementation is:
void FoldingSetNodeID::AddInteger(unsigned long long I) {
AddInteger(unsigned(I));
if ((uint64_t)(int)I != I)
Bits.push_back(unsigned(I >> 32));
}
(uint64_t)(int)I first truncates I to signed int, which causes the second cast to sign extend the value to 64 bits. The problem is that if the 31st bit of the original value is 1, the sign extended value
2008 Aug 15
0
[LLVMdev] install question
Rubin, Norman wrote:
> I'm trying to install llvm on my windows development box and hit a
> problem
> I'm using cygwin
> cygwin% gcc --version
> gcc (GCC) 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)
>
> I downloaded both the top of tree via svn
> I ran ./configure
> make
>
> make[1]: Entering directory `/cygdrive/c/llvm/lib/Support'
>
2009 Jul 08
4
[LLVMdev] Internal compiler error in SelectionDAGBuild.cpp
Hello,
While I was trying to cross-compile Linux OMAP kernel with llvm, I have the
following error message.
CC arch/arm/kernel/traps.o
cc1:
/home/wonjeon/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp:5388: void
llvm::SelectionDAGLowering::visitInlineAsm(llvm::CallSite): Assertion
`(OpInfo.ConstraintType == TargetLowering::C_RegisterClass ||
OpInfo.ConstraintType ==
2006 May 23
3
[LLVMdev] HEAD broken?
I'm getting this:
/home/ghost/Work/llvm-cvs/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp: In
member function `void llvm::SelectionDAGLowering::visitSetCC(llvm::User&,
llvm::ISD::CondCode, llvm::ISD::CondCode, llvm::ISD::CondCode)':
/home/ghost/Work/llvm-cvs/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1107:
error: `
UnsafeFPMath' undeclared (first use this function)
2010 Feb 07
3
[LLVMdev] [PATCH] FoldingSetNodeID: use MurmurHash2 instead of SuperFastHash
On Sat, Feb 06, 2010 at 04:51:15PM -0800, Chandler Carruth wrote:
> While I've not reviewed the patch in too much detail, it looks
> promising. Can you run some end-to-end benchmarks to make sure that
> cache pressure in the full program or other variables not accounted
> for in a micro-benchmark don't dominate performance? Specifically the
> nightly tester includes a number
2008 Oct 07
2
[LLVMdev] can't build LLVM under Cygwin | released MinGW llvm-2.3 image
I used to be able to build LLVM (from source) under Cygwin for llvm-2.2
and previous releases, but can't continue the trend since the release of
LLVM 2.3.
I have tried a wide variety of gcc compilers (gcc 3.4.4, 4.1.2, 4.2.4
and 4.3.2) on cygwin, they all fail at the same location:
C:\cygwin\home\czhao\ResearchTools\LLVM\2.3\obj2.3>make
make[1]: Entering directory
2005 Mar 17
1
[LLVMdev] FP Intrinsics
Chris Lattner wrote:
> On Fri, 11 Mar 2005, Morten Ofstad wrote:
>> I am trying to make the FP intrinsics (abs, sin, cos, sqrt) I've added
>> work with the X86ISelPattern, but I'm having some difficulties
>> understanding what needs to be done.
>
> Cool. Here are a couple of requests:
>
> 1. I don't think we need an "llvm.abs" intrinsic
2008 May 15
2
[LLVMdev] Troubling promotion of return value to Integer ...
I know that many ABIs require this for performance purpose, but I
haven't seen anything in the standard that suggests promotion of return
value to integer. Furthermore, I think the LLVM is supposed to be
independent of language. So I'm not sure if SelectionDAGLowering is the
right place for this promotion to begin with, TargetLowering class seems
more logical; but I'm not sure how.