Displaying 14 results from an estimated 14 matches for "constraintinfo".
2010 Aug 13
1
[LLVMdev] inline asm constraints in LLVM
...ight be able to eliminate that flag and let
LLVM deal with it.
3. LLVM needs code to select the alterinative constraint to use. To do
this, the inline asm handler probably needs to be changed to store the
alternatives separately to make it easier to walk them for the selection,
perhaps using a SubConstraintInfo class in an array owned by
ConstraintInfo. After the selection, which determines the one subconstraint
index needed, the data for the selected alternatives could then be copied to
the ConstraintInfo class to reduce impact on the code using it.
I'm willing to have a go at doing this myself, bu...
2010 Jul 29
0
[LLVMdev] inline asm constraints in LLVM
The LLVM asm parser doesn't support multiple alternative constraints;
you need to have Clang pick one tuple in the front end. See
ChooseConstraintTuple in llvm-gcc for prior art.
On Jul 29, 2010, at 11:36 AMPDT, John Thompson wrote:
> I'm trying to fix the handling of multiple alternate constraints in
> Clang (see
2010 Jul 29
3
[LLVMdev] inline asm constraints in LLVM
I'm trying to fix the handling of multiple alternate constraints in Clang
(see
http://gcc.gnu.org/onlinedocs/gcc/Multi_002dAlternative.html#Multi_002dAlternative
).
How should the constraints be represented in the .ll file?
Clang currently will assert because the code generator sees a constraints
string with the wrong number of comma-separated items.
Basically, after some editing, it just
2010 Aug 25
2
[LLVMdev] [REQUEST FOR FEEDBACK] Inline asm multiple alternative constraints
...m not too familiar yet with LLVM internals), which
meant that I needed to handle multiple alternative constraints in other
places besides just SelectionDAGBuilder::visitInlineAsm.
Basically I see that there are three layers of contraint info classes,
SDISelAsmOperandInfo -> AsmOperandInfo -> ConstraintInfo. Therefore, I
implemented a different scheme, putting a ParseConstraints function in
TargetLowering that returns a vector of AsmOperandInfo objects, and which
will do the constraint selection without needing the DAG. I'm assuming the
value info in the operands from the callsite object is suff...
2010 Aug 27
0
[LLVMdev] [REQUEST FOR FEEDBACK] Inline asm multiple alternative constraints
...a DAG pointer either; it seems to be an argument in some
places. Regardless, unifying the three loops that do pretty much the
same thing is surely a good idea.
> Basically I see that there are three layers of contraint info
> classes, SDISelAsmOperandInfo -> AsmOperandInfo -> ConstraintInfo.
> Therefore, I implemented a different scheme, putting a
> ParseConstraints function in TargetLowering that returns a vector of
> AsmOperandInfo objects, and which will do the constraint selection
> without needing the DAG. I'm assuming the value info in the
> operan...
2013 Feb 28
0
[LLVMdev] [cfe-dev] [MIPS] How can I add a constraint to LLVM/Clang for MIPS BE?
...store
+ weight = CW_Memory;
+ break;
}
return weight;
}
Clang-diff:
diff --git a/lib/Basic/TargetInfo.cpp b/lib/Basic/TargetInfo.cpp
index 70ea235..26fc663 100644
--- a/lib/Basic/TargetInfo.cpp
+++ b/lib/Basic/TargetInfo.cpp
@@ -462,6 +462,7 @@ bool
TargetInfo::validateInputConstraint(ConstraintInfo *OutputConstraints,
case 'N':
case 'O':
case 'P':
+ case 'R':
break;
case 'r': // general register.
Info.setAllowsRegister();
diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp
index 24a69ee..854e12b 100644
--- a/l...
2010 Aug 30
2
[LLVMdev] [REQUEST FOR FEEDBACK] Inline asm multiple alternative constraints
...her; it seems to be an argument in some places.
> Regardless, unifying the three loops that do pretty much the same thing is
> surely a good idea.
>
>
> Basically I see that there are three layers of contraint info classes,
>> SDISelAsmOperandInfo -> AsmOperandInfo -> ConstraintInfo. Therefore, I
>> implemented a different scheme, putting a ParseConstraints function in
>> TargetLowering that returns a vector of AsmOperandInfo objects, and which
>> will do the constraint selection without needing the DAG. I'm assuming the
>> value info in the opera...
2010 Aug 30
0
[LLVMdev] [REQUEST FOR FEEDBACK] Inline asm multiple alternative constraints
...er; it seems to be an argument in some
> places. Regardless, unifying the three loops that do pretty much
> the same thing is surely a good idea.
>
>
> Basically I see that there are three layers of contraint info
> classes, SDISelAsmOperandInfo -> AsmOperandInfo -> ConstraintInfo.
> Therefore, I implemented a different scheme, putting a
> ParseConstraints function in TargetLowering that returns a vector of
> AsmOperandInfo objects, and which will do the constraint selection
> without needing the DAG. I'm assuming the value info in the
> operan...
2010 Aug 30
2
[LLVMdev] [REQUEST FOR FEEDBACK] Inline asm multiple alternative constraints
...argument in some places.
>> Regardless, unifying the three loops that do pretty much the same thing is
>> surely a good idea.
>>
>>
>> Basically I see that there are three layers of contraint info classes,
>>> SDISelAsmOperandInfo -> AsmOperandInfo -> ConstraintInfo. Therefore, I
>>> implemented a different scheme, putting a ParseConstraints function in
>>> TargetLowering that returns a vector of AsmOperandInfo objects, and which
>>> will do the constraint selection without needing the DAG. I'm assuming the
>>> value i...
2010 Sep 01
2
[LLVMdev] [REQUEST FOR FEEDBACK] Inline asm multiple alternative constraints
...>>> Regardless, unifying the three loops that do pretty much the same thing is
>>> surely a good idea.
>>>
>>>
>>> Basically I see that there are three layers of contraint info classes,
>>>> SDISelAsmOperandInfo -> AsmOperandInfo -> ConstraintInfo. Therefore, I
>>>> implemented a different scheme, putting a ParseConstraints function in
>>>> TargetLowering that returns a vector of AsmOperandInfo objects, and which
>>>> will do the constraint selection without needing the DAG. I'm assuming the
>>...
2010 Aug 30
0
[LLVMdev] [REQUEST FOR FEEDBACK] Inline asm multiple alternative constraints
...gument in
>> some places. Regardless, unifying the three loops that do pretty
>> much the same thing is surely a good idea.
>>
>>
>> Basically I see that there are three layers of contraint info
>> classes, SDISelAsmOperandInfo -> AsmOperandInfo -> ConstraintInfo.
>> Therefore, I implemented a different scheme, putting a
>> ParseConstraints function in TargetLowering that returns a vector
>> of AsmOperandInfo objects, and which will do the constraint
>> selection without needing the DAG. I'm assuming the value info in...
2010 Sep 02
2
[LLVMdev] [REQUEST FOR FEEDBACK] Inline asm multiple alternative constraints
...dless, unifying the three loops that do pretty much the same thing is
>>>> surely a good idea.
>>>>
>>>>
>>>> Basically I see that there are three layers of contraint info classes,
>>>>> SDISelAsmOperandInfo -> AsmOperandInfo -> ConstraintInfo. Therefore, I
>>>>> implemented a different scheme, putting a ParseConstraints function in
>>>>> TargetLowering that returns a vector of AsmOperandInfo objects, and which
>>>>> will do the constraint selection without needing the DAG. I'm assuming...
2010 Sep 02
0
[LLVMdev] [REQUEST FOR FEEDBACK] Inline asm multiple alternative constraints
...Regardless, unifying the three loops
>>> that do pretty much the same thing is surely a good idea.
>>>
>>>
>>> Basically I see that there are three layers of contraint info
>>> classes, SDISelAsmOperandInfo -> AsmOperandInfo ->
>>> ConstraintInfo. Therefore, I implemented a different scheme,
>>> putting a ParseConstraints function in TargetLowering that returns
>>> a vector of AsmOperandInfo objects, and which will do the
>>> constraint selection without needing the DAG. I'm assuming the
>>>...
2010 Sep 02
0
[LLVMdev] [REQUEST FOR FEEDBACK] Inline asm multiple alternative constraints
...e three loops
>>>> that do pretty much the same thing is surely a good idea.
>>>>
>>>>
>>>> Basically I see that there are three layers of contraint info
>>>> classes, SDISelAsmOperandInfo -> AsmOperandInfo ->
>>>> ConstraintInfo. Therefore, I implemented a different scheme,
>>>> putting a ParseConstraints function in TargetLowering that
>>>> returns a vector of AsmOperandInfo objects, and which will do the
>>>> constraint selection without needing the DAG. I'm assuming the...