Displaying 20 results from an estimated 990 matches for "glueing".
2017 Feb 14
2
Ensuring chain dependencies with expansion to libcalls
Hi all,
Our target does not have native support for 64-bit integers, so we rely on
library calls for certain operations (like sdiv). We recently ran into a
problem where these operations that are expanded to library calls aren't
maintaining the proper ordering in relation to other chains in the DAG.
The following snippet of a DAG demonstrates the problem.
t0: ch = EntryToken
t2:
2019 Jul 11
6
Glue to connect two nodes in LLVM backend
Hello everyone,
I wanted to attach a node without affecting the present nodes in any way. I
tried to use MVT::Glue for that but I think I'm missing something as I
could not achieve the below state.
LUI LUI
| |
ADDI ----GLUE---- ADDI
|
store
I've few question about this and Glue node in general, I'll be happy to get
some help on
2010 Aug 14
2
uuid problem while compiling glue
Hi guys
I got the errors like this while compiling cluster glue:
./.libs/libplumb.so: undefined reference to `uuid_parse'
./.libs/libplumb.so: undefined reference to `uuid_generate'
./.libs/libplumb.so: undefined reference to `uuid_copy'
./.libs/libplumb.so: undefined reference to `uuid_is_null'
./.libs/libplumb.so: undefined reference to `uuid_unparse'
2016 Jun 04
4
Gluing arbitrary nodes together
Hello all,
I am working on adding atomics support to the AVR backend.
Because the target can only have one core, it is sufficient to:
- Save the status register
- Disable interrupts
- Do the nonatomic LOAD/STORE/SWAP/ADD
- Restore the status register
I’d really like to be able to do this at the IR level. What I want to do is
write a custom lowering hook to convert ISD::ATOMIC_LOAD
2018 May 04
0
How to constraint instructions reordering from patterns?
Here is a last example to illustrate my concern.
The problem is about the lowering of node t13.
Initial selection DAG: BB#0 '_start:entry'
SelectionDAG has 44 nodes:
t11: i16 = Constant<0>
t0: ch = EntryToken
t3: ch = llvm.clp.set.rspa t0, TargetConstant:i16<392>, Constant:i32<64>
t5: ch = llvm.clp.set.rspb t3,
2014 Oct 08
2
named log entries - Are any of these a problem?
Hello everyone -
I run bind version 9.8.2 on CentOS 6.5. The daily logwatch run sends me the
following items. Are any of these a real problem?
============
checkhints: extra NS 'A.ROOT-SERVERS.NET' in hints: 170 Time(s)
checkhints: extra NS 'B.ROOT-SERVERS.NET' in hints: 170 Time(s)
checkhints: extra NS 'C.ROOT-SERVERS.NET' in hints: 170 Time(s)
2017 Feb 08
3
Problem ScheduleDAG on PowerPC, X86 works fine.
I don't think that'd work, because it leaves all other backends broken.
AFAICT, your transform is simply not a legal transform, with the way the
ADDC/ADDE opcodes are currently defined, and to do it you really need to
fix the opcode definitions to not involve glue, first.
I also note that your transform doesn't actually trigger at all on this
particular test case on x86, because the
2018 May 04
2
How to constraint instructions reordering from patterns?
Hi,
Is there a kind of scope mechanism in the instruction lowering pattern language in order to control where instructions are inserted or how they are later reordered during the SelectionDiag linearization?
I know the glue chain that stick instructions together. But such mechanism in not provided in instruction lowering pattern.
I'm facing many situations where some patterns are lowered into
2018 May 04
2
How to constraint instructions reordering from patterns?
The DAG dumping will try to print some of the nodes "inline" (i.e. where
they are used) to make the output more readable, so the dump of the DAG
may not strictly reflect the node ordering.
-Krzysztof
On 5/4/2018 8:18 AM, Dominique Torette via llvm-dev wrote:
> Here is a last example to illustrate my concern.
>
> The problem is about the lowering of node t13.
>
>
2017 Feb 07
2
Problem ScheduleDAG on PowerPC, X86 works fine.
Would it not make sense to refactor the code so those don't use glue rather
than emitting them with glue and then getting rid of it. There are times
when we would like to emit these in separate blocks but can't (presumably
because of the glue).
On Tue, Feb 7, 2017 at 9:15 PM, James Y Knight via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
> That's seems really odd that
2020 Jul 21
2
error al instalar glue
Hola,
Estoy haciendo un análisis de datos de Twitter y cuando intento correr esta
línea de código:
timelines %>%
dplyr::filter(created_at > "2020-01-01") %>%
dplyr::group_by(screen_name) %>%
ts_plot("days", trim = 1L) +
ggplot2::geom_point() +
ggplot2::labs(
title = "Tuits publicados por cada cuenta"
)
Me da el siguiente error
Error in
2018 May 04
0
How to constraint instructions reordering from patterns?
Krzysztof,
Thanks for your interest to my questions.
In order to clarify the context, here is the C source file of my test case.
The 3 builtins initialize some stack pointers. They have to be executed before any other instruction.
extern float fdivfaddfmul_a(float a, float b, float c, float d);
volatile static float x1,x2,x3,x4;
void _start(void)
{
float res;
2017 Feb 09
2
Problem ScheduleDAG on PowerPC, X86 works fine.
I'd think i1 would be the proper and correct choice for a carry flag for
the generic instruction. I expect that would also make UADDO/USUBO
redundant with ADDC/SUBC (which would seem a good outcome).
You'd need to make sure the right thing happened when converting from
ADDC's 1-bit carry in/out to X86ISD::AD[DC]'s EFLAGS i/o. Right now the
conversion can get away with assuming
2011 Feb 18
2
[LLVMdev] EFLAGS and MVT::Glue
The log message for revision 122213 says:
> Change the X86 backend to stop using the evil ADDC/ADDE/SUBC/SUBE nodes (which
> their carry depenedencies with MVT::Flag operands) and use clean and beautiful
> EFLAGS dependences instead.
(MVT::Flag has since been renamed to MVT::Glue.)
That revision made bug 8404 go away.
Am I right in thinking that one of the problems with MVT::Glue is
2014 Jun 23
2
[LLVMdev] How to add a MVT::Glue property of intrinsic node?
Hi,
I have implemented a pair intrinsic nodes in back-end, But there is a chain dependence between two intrinsic nodes. So in the Pre-RA-sched stage, these two intrinsic nodes would be apart. I expect that there is no node between these two intrinsic nodes, therefore, I guess it would be work if there is a MVT::Glue between these nodes. But I don’t know how to add.
Thanks in advance.
Haishan
2017 Sep 15
2
Changes to 'ADJCALLSTACK*' and 'callseq_*' between LLVM v4.0 and v5.0
Hi LLVM-Devs,
I have managed to complete updating our sources from LLVM v4.0 to v5.0, but
I am getting selection errors for 'callseq_end'. I am aware that the
'ADJCALLSTACKUP' and 'ADJCALLSTACKDOWN' patterns have changed, and have
added an additional argument to the TD descriptions for these.
There are interactions with 'ISD::CALL' and 'ISD::RET_FLAG',
2017 Aug 15
3
How to debug instruction selection
Hi there,
I try to JIT compile some bitcode and seeing the following error:
LLVM ERROR: Cannot select: 0x28ec830: ch,glue = X86ISD::CALL 0x28ec7c0, 0x28ef900, Register:i32 %EDI, Register:i8 %AL, RegisterMask:Untyped, 0x28ec7c0:1
0x28ef900: i32 = X86ISD::Wrapper TargetGlobalAddress:i32<void (i8*, ...)* @_ZN5FooBr7xprintfEPKcz> 0
0x28ec520: i32 = TargetGlobalAddress<void (i8*, ...)*
2017 Feb 07
2
Problem ScheduleDAG on PowerPC, X86 works fine.
Long story short: https://llvm.org/bugs/show_bug.cgi?id=31890
The backend fails to schedule a given DAG, the reason being that there is
an instruction and it glue that needs to be broken apart as they can't be
scheduled consecutively. See attached file for a picture of the DAG.
Not sure what's the best course of action is, and not sure why this isn't a
problem for the X86 backend
2020 Jul 17
2
Selection DAG chain question
newbee here. What's the difference between glue and chain?
Why can't we add chains to any node we want?
On Fri, Jul 17, 2020, 10:25 PM Björn Pettersson A via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
> Still sounds to me as Glue might help (as already proposed by Craig), but
> maybe I’ve misunderstood something.
>
>
>
> Another option is to do a simple
2013 Mar 26
0
[LLVMdev] Is it correct for a glue operand to be replaced with a chain?
Hi,
I am confused about the behavior of chain of glue operands; I have a node
that receives the chain and a glue operand from the same node, and the ISEL
DAG looks how I want it to. However, once it passes to scheduling, the glue
no longer exists and the nodes are just chained, but twice.
ISel output:
ISEL: Starting pattern match on root node: 0x2c689c0: i32,ch = SHADDXH
0x2c688c0:2,