similar to: [LLVMdev] Proposed SelectionDAGBuilder patch - load serialisation

Displaying 20 results from an estimated 2000 matches similar to: "[LLVMdev] Proposed SelectionDAGBuilder patch - load serialisation"

2012 Aug 14
0
[LLVMdev] Load serialisation during selection DAG building
Further to my earlier question, I'm perhaps a bit confused about memory serialisation. The following example, compiled using clang for the MSP430: target datalayout = "e-p:16:16:16-i8:8:8-i16:16:16-i32:16:32-n8:16" target triple = "msp430-??-??" @y = common global i16 0, align 2 @x = common global i16 0, align 2 define void @f() nounwind { entry: %0 = load i16* @y,
2012 Aug 14
2
[LLVMdev] Load serialisation during selection DAG building
I looked into those patches but I don't think they will help in my situation because my problems occur during instruction selection rather than scheduling. A simple and concrete example is a pattern like: [(set GR:$dst (add GR:$src (nvload addr:$mem)))] where nvload matches a load provided that isVolatile() is false. If the selection DAG looks like: | | LD1 LD2 ^
2012 Aug 13
0
[LLVMdev] Load serialisation during selection DAG building
Steve, I had created a patch last year that does something similar to what you describe for regular loads and stores using aliasing information. I think that the last message in the thread was: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20120402/140299.html This approach has worked for me, but it is not the preferred solution going forward. The preferred solution is to keep the
2012 Aug 13
3
[LLVMdev] Load serialisation during selection DAG building
I've got a question about how SelectionDAGBuilder treats loads. The LLVM Language Reference Manual explicitly states that the order of volatile operations may be changed relative to non-volatile operations. However, when the SelectionDAGBuilder in LLVM 3.1 encounters a volatile load, it flushes all pending loads and then chains the volatile load onto them meaning that the volatile load must
2012 Aug 14
2
[LLVMdev] Load serialisation during selection DAG building
On Aug 14, 2012, at 2:05 PM, Steve Montgomery <stephen.montgomery3 at btinternet.com> wrote: > Further to my earlier question, I'm perhaps a bit confused about memory serialisation. The following example, compiled using clang for the MSP430: > > target datalayout = "e-p:16:16:16-i8:8:8-i16:16:16-i32:16:32-n8:16" > target triple = "msp430-??-??" >
2011 Feb 14
1
[LLVMdev] broken alignment in stack(caused by bug in SelectionDAGBuilder) causes invalid schedules with r125471 and newer
The following problems happens with architectures, where stack alignment is smaller than the biggest preferred alignment for any data type SP pointer may point anywhere with alignment of stack alignment (4 in our case) SelectionDAGBuilder however calls CreateStackObject with preferred alignment is given data type(8 in our problemaric case. The ABI alignment for this data type is only 4) This
2010 Sep 26
0
[LLVMdev] Strange exception in SelectionDAGBuilder
Hi Talin, I think that the framework for GC assumes llvm.gcroot to be in the first block. If it is not the case in your example, it will break these assumptions. Nicolas On Sun, Sep 26, 2010 at 1:38 AM, Talin <viridia at gmail.com> wrote: > I'm working on the code to handle GC tracing of "intermediate values" (as > described in the GC doc), and I've run into a
2010 Sep 25
2
[LLVMdev] Strange exception in SelectionDAGBuilder
I'm working on the code to handle GC tracing of "intermediate values" (as described in the GC doc), and I've run into a weird problem. (Note, this has nothing to do with the patch I have proposed, this error occurs with regular old pointer-allocas.) The exception I am getting occurs in this code here in SelectionDAGBuilder.cpp: *case* *Intrinsic*::gcroot: *if* (GFI) {
2020 Aug 01
2
Understanding assert in SelectionDAGBuilder.cpp
Hi, I am new to LLVM. I am experimenting with a toy backend. I don't understand "LowerFormalArguments didn't return a valid chain" in SelectionDAGBuilder.cpp file. What is the interface here? What does it mean by returning a Chain? Thanks Jen. -------------- next part -------------- An HTML attachment was scrubbed... URL:
2010 Mar 30
1
[LLVMdev] Question on SelectionDAGBuilder
I ran into some odd code being generated today and I came across something that doesn't look quite right. In SelectionDAGBuilder::visitShuffleVector there's some code to see if we can convert the shuffle to an EXTRACT_SUBVECTOR. After computing min/max values of the mask for each operand, there's a look that looks at the ranges and determines whether an EXTRACT_SUBVECTOR can be used:
2010 Jul 22
0
[LLVMdev] SelectionDAGBuilder doing bad things on certain architectures
The selection dag builder has an 'optimization' added into the visitBr function which makes assumptions that are not valid on all architectures. The problem is this. The following function kernel void cf_test(global int* a, int b, int c, int e) { int d = 0; if (!b && c < e) { d = a + b; } *a = d; } Is transformed into something
2012 Dec 07
0
libnutconf: (De)serialisation methods added
?Hello everybody, (de)serialisation methods of all the currently existing config. classes were pushed to balooloo/nut, libconf branch: https://github.com/balooloo/nut/commit/df8b584c7fef71741b33bff11a482a103360250e Please note that the deserialisation methods should work, however they are quite inefficient since they simply read the whole stream to memory and then call parseFromString. I guess
2007 Mar 29
1
"Bad serialised query" error
Hi all, We've struck a problem when using remote queries and hoping someone can offer some guidance. I haven't managed to get a C++ reproduction in the test suite, but I have got a demo that fails using Python: import xapian db = xapian.remote_open('localhost', 8100) qp = xapian.QueryParser() qp.set_database(db) query = qp.parse_query('test') enq =
2010 Oct 23
2
[LLVMdev] Cast failure in SelectionDAGBuilder
I'm trying to track down the problem with the assertion failure in SelectionDAGBuilder.cpp. This is the code: *case* *Intrinsic*::gcroot: *if* (GFI) { *const* Value *Alloca = I.getArgOperand(0); *const* Constant *TypeMap = cast<Constant>(I.getArgOperand(1)); * FrameIndexSDNode *FI = cast<FrameIndexSDNode>(getValue(Alloca).getNode());*
2016 Jul 29
2
Weighting Schemes: Implementing Piv+ Normalization
> `ptr` is, if I inferred correctly, a `const char *`. (I'm not sure, > because I don't know why you're incrementing it. Please push your code > to github if you need further help so people can see the entire > context of your changes.) I've pushed all the changes I made so far https://github.com/xapian/xapian/compare/master...ivmarkp:piv+?diff=split&name=piv%2B
2007 Apr 14
0
serialised cmml examples
Are there any examples of serialised CMML in Ogg about? I know about <http://media.annodex.net/cmmlwiki/>, but the .axv files you can download contain only: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE cmml SYSTEM "cmml.dtd"><head/> -- imalone
2006 Aug 15
1
serialisation
the case: i have two classes: 1) class Contract < ActiveRecord::Base serialize :addons end 2) class Addon < ActiveRecord::Base end Now i do the following in contract_controller: def create @contract = Contract.new(params[:contract]) @contract.user_id = session[:user_id] @contract.customer_id = params[:customer_id] @contract.pending = 1 @contract.addons = Array.new end def update
2012 Aug 14
0
[LLVMdev] Load serialisation during selection DAG building
> No, a chain is supposed to mean "later than". It sounds like MSP430 is bending > the rules here. The instruction selector for ADD16mm is autogenerated, so, this is not MSP430 bug alone :) This is just the single target in the tree which has mem-mem instructions. -- With best regards, Anton Korobeynikov Faculty of Mathematics and Mechanics, Saint Petersburg State University
2013 Oct 04
0
[LLVMdev] Inserting a synchronisation before volatile and atomic loads
The z architecture is defined so that the equivalent of: while (*x == 0); is allowed to reuse the same value of *x indefinitely, even if another CPU writes to *x and synchronises the result to make it globally visible. There's no guarantee of forward progress without an explicit synchronisation on the read side. (Well, forward progress is guaranteed after an interrupt, and in practice
2012 Jul 26
0
[LLVMdev] [llvm-commits] [llvm] r160791 - in /llvm/trunk: docs/LangRef.html include/llvm/Intrinsics.td lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
On Jul 26, 2012, at 12:57 PM, Rafael EspĂ­ndola <rafael.espindola at gmail.com> wrote: >> +<p>This function returns the same values as the libm <tt>floor</tt> functions >> + would, and handles error conditions in the same way.</p> > > Why the intrinsic then? So that it's possible to access the ISD::FFLOOR SDNode without having to enable a