Displaying 20 results from an estimated 10000 matches similar to: "Question about relaxation in MC assembler"
2016 Feb 11
2
Question about loading spilled register with fast register allocator
Hi All,
I have a problem with loading spilled register. Let's look at the
simple example as follows:
Machine IR snippet:
...
ADD --> it generates carry.
ADDC --> it uses carry.
...
The fast register allocator is enabled with "-O0" option and it
generates load instruction for one of ADDC's operands spilled between
ADD and ADDC. When I eliminates the frame index for the
2015 Dec 05
2
Question about Decoding Conflict of DisassemblerTables from TableGen
Hi All,
I have faced decoding conflict of DisassemblerTables from TableGen. I
have instructions with same encoding and different mnemonic among
different architecture versions. I have used Predicates and
AssemblerPredicates to distinguish them on Codegen and Assembler but
it does not work on Disassembler. When I look at
TableGen/FixedLenDecoderEmitter.cpp, once there is decoding conflict,
2017 Sep 17
2
Question about 'DAGTypeLegalizer::SplitVecOp_EXTRACT_VECTOR_ELT'
Please open a bugzilla ticket and attach your testcase. It will allow us to debug and fix the problem.
Thanks
- Elena
From: JinGu [mailto:jingu at codeplay.com]
Sent: Saturday, September 16, 2017 00:38
To: Demikhovsky, Elena <elena.demikhovsky at intel.com>; daniel_l_sanders at apple.com <daniel_l_sanders at apple.com>; Jon Chesterfield <jonathanchesterfield at
2014 Feb 19
2
[LLVMdev] Question about per-operand machine model
Hi JinGu,
We currently have the ResourceCycles list to indicate the number of cpu cycles during which a resource is reserved. We could simply add a ResourceDelay with similar grammar. The MachineScheduler could be taught to keep track of the first and last time that a resource is reserved.
Note that the MachineScheduler will work with the instruction itineraries if you choose to implement them.
2017 Sep 18
1
Question about 'DAGTypeLegalizer::SplitVecOp_EXTRACT_VECTOR_ELT'
> so I think we need to use non-extending load for element size less than 8bit on "DAGTypeLegalizer::SplitVecOp_EXTRACT_VECTOR_ELT" like this roughly.
> if (N->getOperand(0).getValueType().getVectorElementType().getSizeInBits() < 8) {
> return DAG.getLoad(N->getValueType(0), dl, Store, StackPtr, MachinePointerInfo());
> } else {
> return
2017 Sep 15
2
Question about 'DAGTypeLegalizer::SplitVecOp_EXTRACT_VECTOR_ELT'
> extends the elements to 8bit and stores them on stack.
Store is responsible for zero-extend. This is the policy...
- Elena
-----Original Message-----
From: jingu at codeplay.com [mailto:jingu at codeplay.com]
Sent: Friday, September 15, 2017 17:45
To: llvm-dev at lists.llvm.org; Demikhovsky, Elena <elena.demikhovsky at intel.com>; daniel_l_sanders at apple.com
Subject: Re: Question
2016 Feb 01
2
Question about store with unaligned memory address
Hi Bruce,
Thanks for response.
I also think it is not good way. Do you have the other ways to legalize it?
Thanks,
JinGu Kang
2016-02-01 13:11 GMT+00:00 Bruce Hoult <bruce at hoult.org>:
> In fact this is a pretty bad legalizing/lowering because you only need to
> load and edit for the first and last values in the vector. The other words
> are completely replaced and don't
2018 Dec 03
5
Branch relaxation at assembler level (RISCV)
Hi all,
I'm trying to implement the same branch relaxation mechanism implemented
in CodeGen in the MC layer of RISCV.
beqz t1, L1
=>
bnez t1, L2
j L1
That's because LLVM does not apply the CodeGen optimizations when
compiling directly from assembly code.
What I'd like to do would be to add a pass that does that on the MC
instructions or at least to find a way to
2013 May 28
0
[LLVMdev] Error on VSELECT Dagcombiner with some architecture
Hi JinGu Kang,
On 28/05/13 17:18, jingu kang wrote:
> Hi all,
>
> I met the error while compiling the code with vector type with some
> architecture. IR is as following.
>
> %cmp = icmp sgt <3 x i8> %x, zeroinitializer
> %sub = sub <3 x i8> zeroinitializer, %x
> %cond = select <3 x i1> %cmp, <3 x i8> %x, <3 x i8> %sub
>
>
2014 Feb 28
2
[LLVMdev] Question about per-operand machine model
On Feb 19, 2014, at 1:54 PM, jingu <jingu at codeplay.com> wrote:
> Hi Andy,
>
> I am trying to schedule and packetize instructions for VLIW at post-RA
> stage or final codegen stage, where code transformations are not allowed
> any more, because hardware can not resolve resource conflict. There is a
> simple example as following:
>
> ADD dest_reg1, src_reg1,
2014 Dec 18
2
[LLVMdev] Please change the comment of 'insert' member function of SmallPtrSetImpl
Hi all,
I have a compilation failure with 'insert' member function of
SmallPtrSetImpl class because the return value is changed from r222334.
But the comment of the function is same with before as follows:
/// insert - This returns true if the pointer was new to the set,
false if it
/// was already in the set.
std::pair<iterator, bool> insert(PtrType Ptr) {
auto p
2016 Jun 28
2
Question about VectorLegalizer::ExpandStore() with v4i1
On Tue, Jun 28, 2016 at 2:45 AM, jingu kang via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
> Hi All,
>
> Can someone comment below question whether it is wrong or not please?
>
> 2016-06-25 7:52 GMT+01:00 jingu kang <jaykang10 at gmail.com>:
>> Hi All,
>>
>> I have a problem with VectorLegalizer::ExpandStore() with v4i1.
>>
>> Let's
2014 Jun 17
2
[LLVMdev] Question about 'DuplicateInstruction' function of TailDuplicatePass in CodeGen
Hi all,
I have faced a little bit of a strange transformation from the
TailDuplicatePass In CodeGen. When the pass clones the contents of
TailBB into PredBB, the bundled instructions in TailBB are not bundled
in PredBB. I think the reason why it is not bundled is that the
'DuplicateInstruction' function does not set up the flag of the first
instruction of the bundle in PredBB when it
2017 Apr 10
2
Question about LLVM Building Error with "-DLLVM_ENABLE_DUMP" and "RelWithDebInfo"
Hi Matthias,
>Jingu: Why do you even want a configuration that has LLVM_ENABLE_DUMP
but does not have asserts enabled at the same time?
My colleague and I am doing custom project using clang/llvm. We have
always wanted to use the IR Value's dump() to check our implementation
correctly with Debug, Release and another builds. We thought the
LLVM_ENABLE_DUMP is for it.
If Chris fixes
2014 Mar 03
2
[LLVMdev] Question about per-operand machine model
On Mar 3, 2014, at 8:53 AM, Pierre-Andre Saulais <pierre-andre at codeplay.com> wrote:
> Hi Andrew,
>
> We are currently using a custom model where scheduling information is attached to each MCInstrDesc through tablegen, and we're trying to move to one of LLVM's models.
>
> To expand on what JinGu mentioned, our target has explicit ports that are used to read and
2016 Jun 28
0
Question about VectorLegalizer::ExpandStore() with v4i1
Hi All,
Can someone comment below question whether it is wrong or not please?
2016-06-25 7:52 GMT+01:00 jingu kang <jaykang10 at gmail.com>:
> Hi All,
>
> I have a problem with VectorLegalizer::ExpandStore() with v4i1.
>
> Let's see a example.
>
> * LLVM IR
> store <4 x i1> %edgeMask_for.body1314, <4 x i1>* %27
>
> * SelectionDAG before vector
2016 Jan 30
0
Question about store with unaligned memory address
I'm not clear, but it sounds like maybe your issue is not just alignment,
but that you have no 1/2-byte load or store operations at all on your
target?
Do you mean that to do any 2-byte store, even if it's naturally aligned,
you need to load the 4-byte word that contains it, replace the low or high
half as appropriate, and then use a 4-byte store to store back the modified
value?
On Fri,
2016 Jan 29
5
Question about store with unaligned memory address
Hi Krzysztof,
Thanks for response.
The method is working almost of test cases which use load and store
instructions connected with chain. There is other situation. Let's
look at a example as follows:
typedef unsigned short int UV __attribute__((vector_size (8)));
void test (UV *x, UV *y) {
*x = *y / ((UV) { 4, 4, 4, 4 });
}
The target does not support vector type so CodeGen tries to
2016 Mar 31
2
Question about 'isUnsignedDIType' function on DwarfUnit.cpp
Hi All,
I have question about 'isUnsignedDIType' function on
'llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp'
When we want to generate object file with dwarf debug format, clang
can generates 'DW_ATE_lo_user' encoding for complex integer type as
follow:
"clang/lib/CodeGen/CGDebugInfo.cpp"
llvm::DIType *CGDebugInfo::CreateType(const ComplexType *Ty) {
...
if
2013 May 28
2
[LLVMdev] Error on VSELECT Dagcombiner with some architecture
Hi all,
I met the error while compiling the code with vector type with some
architecture. IR is as following.
%cmp = icmp sgt <3 x i8> %x, zeroinitializer
%sub = sub <3 x i8> zeroinitializer, %x
%cond = select <3 x i1> %cmp, <3 x i8> %x, <3 x i8> %sub
'select' IR is converted to 'vselect' dag and is combined to 'sra (X,
size(X)-1); xor