Displaying 6 results from an estimated 6 matches for "createmem".
Did you mean:
creategep
2018 Mar 26
1
Change memcpy/memmove/memset to have dest and source alignment attributes
.... The lowering in SelectionDAG currently just conservatively uses the MinAlign() of the source & dest alignments as the alignment for the loads and stores. I suspect that we could do better by teaching the lowering that the source & dest can have different alignments.
Note that, also, the createMem[Cpy|Move]Loop type functions used in the LowerMemIntrinsics pass are also now invoked with different source & dest alignments by LowerMemIntrinsics, rather than the same alignment for both, so these helpers will now be invoked with more information than they have in the past; I’m guessing that...
2018 Apr 02
0
Change memcpy/memmove/memset to have dest and source alignment attributes
...onDAG currently
> just conservatively uses the MinAlign() of the source & dest alignments as the
> alignment for the loads and stores. I suspect that we could do better by
> teaching the lowering that the source & dest can have different alignments.
>
> Note that, also, the createMem[Cpy|Move]Loop type functions used in the
> LowerMemIntrinsics pass are also now invoked with different source & dest
> alignments by LowerMemIntrinsics, rather than the same alignment for both, so
> these helpers will now be invoked with more information than they have in the
> past...
2013 Jul 16
0
[LLVMdev] [PATCH 2/2] X86: infer immediate forms of bit-test instructions
...mm % 32, getContext());
+ Operands.begin()[1] = X86Operand::CreateImm(Op1_transformed, Loc, Loc);
+
+ Loc = Op2.getEndLoc();
+ const MCExpr *Op2_transformed = MCConstantExpr::Create(Given_mem + 4 * (Given_imm / 32),
+ getContext());
+ Operands.begin()[2] = X86Operand::CreateMem(Op2_transformed, Loc, Loc);
+
+ delete &Op1;
+ delete &Op2;
+ }
+ }
+
return false;
}
diff --git a/test/MC/X86/x86-64.s b/test/MC/X86/x86-64.s
index ff60969..e82db1e 100644
--- a/test/MC/X86/x86-64.s
+++ b/test/MC/X86/x86-64.s
@@ -694,6 +694,13 @@ movl 0, %eax // CHECK...
2018 Jan 02
5
Change memcpy/memmove/memset to have dest and source alignment attributes
....memcpy.p0i8.p0i8.i32(i8* %dest, i8* %src, i32 100, i32 4, i1 false)
will now read
call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 4 %dest, i8* align 4 %src, i32 100, i1 false)
The LLVM change includes auto upgrade of the old IR. However, match expressions in IR tests and calls to IRBuilder’s CreateMemCpy & CreateMemMove will need to be updated.
My plan is to post another note to the list when the change is landed, and stable.
Comments? Concerns?
-Daniel
---
Daniel Neilson, Ph.D.
Azul Systems
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://...
2010 Jun 21
2
[LLVMdev] MC: Object file specific parsing
...onst AsmToken &ExclaimTok = Parser.getTok();
+ const AsmToken &ExclaimTok = getTok();
if (ExclaimTok.is(AsmToken::Exclaim)) {
E = ExclaimTok.getLoc();
Writeback = true;
- Parser.Lex(); // Eat exclaim token
+ Lex(); // Eat exclaim token
}
ARMOperand::CreateMem(Op, BaseRegNum, OffsetIsReg, Offset, OffsetRegNum,
OffsetRegShifted, ShiftType, ShiftAmount,
@@ -414,7 +406,7 @@ bool ARMAsmParser::ParseMemory(OwningPtr<ARMOperand> &Op) {
Postindexed = true;
Writeback = true;
E = Tok.getLoc();
- Parser.Lex();...
2018 Sep 28
3
error: expected memory with 32-bit signed offset
Hi,
I want to encode Loongson ISA initially
https://gist.github.com/xiangzhai/8ae6966e2f02a94e180dd16ff1cd60ac
gslbx $2,0($3,$4)
It is equivalent to:
dadd $1, $3, $4
lb $2,0($1)
I just use mem_simmptr as the default value of DAGOperand MO ,
because MipsMemAsmOperand use parseMemOperand to parse general
MemOffset and only *one* AnyRegister , for example:
0($1)
But