Displaying 20 results from an estimated 3000 matches similar to: "[LLVMdev] SelectionDAG constant folding leads to assertion failure"
2009 Aug 18
2
[LLVMdev] gcc4.4's -O2 is breaking include/llvm/CodeGen/ValueTypes.h
I was running into a problem with compiling llvm with gcc 4.4 on
fedora 11 with --enable-optimized. I was seeing this warning dozens of
times:
/net/hakodate/scratch/llvm/llvm/include/llvm/CodeGen/ValueTypes.h: In
member function
‘llvm::SDNode*<unnamed>::SPUDAGToDAGISel::Select(llvm::SDValue)’:
/net/hakodate/scratch/llvm/llvm/include/llvm/CodeGen/ValueTypes.h:362:
warning: comparison always
2009 Aug 16
2
[LLVMdev] Is the head of llvm-gcc not working with the head of llvm for anyone else?
I just tried to compile llvm-gcc against the top of llvm and I ran
into this error:
/.../llvm/llvm-gcc-build/./prev-gcc/xgcc
-B/.../llvm/llvm-gcc-build/./prev-gcc/
-B/.../llvm/llvm-gcc-install/x86_64-unknown-linux-gnu/bin/ -c
-DHAVE_CONFIG_H -g -O2 -I.
-I/.../llvm/llvm-gcc-4.2/libiberty/../include -W -Wall -pedantic
-Wwrite-strings -Wstrict-prototypes -Wc++-compat
2017 Sep 25
0
What should a truncating store do?
(Not sure if this exactly maps to “truncating store”, but I think it at least touches some of the subjects discussed in this thread)
Our out-of-tree-target need several patches to get things working correctly for us.
We have introduced i24 and i40 types in ValueTypes/MachineValueTypes (in addition to the normal pow-of-2 types). And we have vectors of those (v2i40, v4i40).
And the byte size in our
2017 Sep 25
3
What should a truncating store do?
On 9/25/2017 9:14 AM, Björn Pettersson A wrote:
>
> (Not sure if this exactly maps to “truncating store”, but I think it
> at least touches some of the subjects discussed in this thread)
>
> Our out-of-tree-target need several patches to get things working
> correctly for us.
>
> We have introduced i24 and i40 types in ValueTypes/MachineValueTypes
> (in addition to
2009 Dec 22
2
[LLVMdev] LegalizeDAG Error?
The LegalizeDAG.cpp file has this code in SelectionDAGLegalize::PromoteNode:
case ISD::BSWAP: {
unsigned DiffBits = NVT.getSizeInBits() - OVT.getSizeInBits();
Tmp1 = DAG.getNode(ISD::ZERO_EXTEND, dl, NVT, Tmp1);
Tmp1 = DAG.getNode(ISD::BSWAP, dl, NVT, Tmp1);
Tmp1 = DAG.getNode(ISD::SRL, dl, NVT, Tmp1,
DAG.getConstant(DiffBits, TLI.getShiftAmountTy()));
2009 Aug 19
0
[LLVMdev] gcc4.4's -O2 is breaking include/llvm/CodeGen/ValueTypes.h
On Aug 18, 2009, at 11:50 AM, Erick Tryzelaar wrote:
> I was running into a problem with compiling llvm with gcc 4.4 on
> fedora 11 with --enable-optimized. I was seeing this warning dozens of
> times:
>
> /net/hakodate/scratch/llvm/llvm/include/llvm/CodeGen/ValueTypes.h: In
> member function
> ‘llvm::SDNode*<unnamed>::SPUDAGToDAGISel::Select(llvm::SDValue)’:
>
2009 Dec 22
0
[LLVMdev] LegalizeDAG Error?
On Dec 22, 2009, at 2:38 PMPST, Bill Wendling wrote:
> The LegalizeDAG.cpp file has this code in
> SelectionDAGLegalize::PromoteNode:
>
> case ISD::BSWAP: {
> unsigned DiffBits = NVT.getSizeInBits() - OVT.getSizeInBits();
> Tmp1 = DAG.getNode(ISD::ZERO_EXTEND, dl, NVT, Tmp1);
> Tmp1 = DAG.getNode(ISD::BSWAP, dl, NVT, Tmp1);
> Tmp1 = DAG.getNode(ISD::SRL, dl,
2017 Jul 28
0
Addressing TableGen's error "Ran out of lanemask bits" in order to use more than 32 subregisters per register
Hello.
I come back to this older thread.
As I've said before, I managed to patch the various files from the back end related
to lanemask in order to support at most 1024 vector lanes. For this I am using a 1024-bit
long lanemask of type uint1024_t from boost::multiprecision, instead of uint32_t. For this
I changed the following LLVM source files:
2017 Jul 28
2
Addressing TableGen's error "Ran out of lanemask bits" in order to use more than 32 subregisters per register
You seem to be using old LLVM sources---changing this many files for
supporting a different width LaneBitmask is no longer necessary.
Also, boost is not a current requirement for building LLVM and it's
unlikely that requiring it for that purpose alone is justified.
-Krzysztof
On 7/28/2017 6:30 AM, Alex Susu via llvm-dev wrote:
> Hello.
> I come back to this older thread.
2008 Dec 25
2
[LLVMdev] vector compare
Hi all,
is there any way to compare two 128bit values?
I have tried 3 different approaches and they all fail with an internal
assertion.
I'm running llvm 2.4 on x86 with the following command line:
> llvm-as test.ll -o test.bc
> llc test.bc -filetype=asm
I would expect the code generator to emit a sequence of SSE
instructions.
2009 Apr 07
0
[LLVMdev] Porting to System z
Hi,
> llvm[1]: Building Intrinsics.gen.tmp from Intrinsics.td
> tblgen: IntrinsicEmitter.cpp:163: void EmitTypeForValueType(std::ostream&,
> llvm::MVT::SimpleValueType): Assertion `false && "Unsupported ValueType!"'
> failed.
this came up before IIRC, but I don't remember the details - buggy system
compiler? Try searching the archives. Also, if you
2009 Apr 07
6
[LLVMdev] Porting to System z
I searched the archives and found this from last month:
I ran into the same problem and fixed it by forcing the
MVT::SimpleValueType enum to be 64 bits so that all of the types
in the union later in the class are the same size. I tested this
on ppc64 and x86_64.
Index: include/llvm/CodeGen/ValueTypes.h
===================================================================
---
2009 Apr 07
2
[LLVMdev] Porting to System z
Hi,
I am beginning the porting process for Linux on System z (aka IBM
Mainframe). I thought I¹d build LLVM first with the c and cpp backends so
that tools like TableGen would be created that I¹d then use to process the
.td files that I¹ll be creating. So I used svn to grab the code from the
repository and ran configure and make. However, the build breaks at this
point:
llvm[1]: Building
2012 May 21
3
[LLVMdev] Bug in SUB expansion going back to LLVM 2.6
I found a bug in the expansion code for SUB going back to at least LLVM 2.6 and still shows up in trunk.
case ISD::SUB: {
EVT VT = Node->getValueType(0);
assert(TLI.isOperationLegalOrCustom(ISD::ADD, VT) &&
TLI.isOperationLegalOrCustom(ISD::XOR, VT) &&
"Don't know how to expand this subtraction!");
Tmp1 = DAG.getNode(ISD::XOR, dl,
2009 Aug 16
0
[LLVMdev] Is the head of llvm-gcc not working with the head of llvm for anyone else?
On Aug 15, 2009, at 5:05 PM, Erick Tryzelaar wrote:
> I just tried to compile llvm-gcc against the top of llvm and I ran
> into this error:
>
> /.../llvm/llvm-gcc-build/./prev-gcc/xgcc
> -B/.../llvm/llvm-gcc-build/./prev-gcc/
> -B/.../llvm/llvm-gcc-install/x86_64-unknown-linux-gnu/bin/ -c
> -DHAVE_CONFIG_H -g -O2 -I.
> -I/.../llvm/llvm-gcc-4.2/libiberty/../include -W
2017 Sep 25
0
What should a truncating store do?
So what is the correct behavior of the store <2 x i2>. Storing two bytes with a zext:ed i2 in each, or a bit packed vector?
I can't remember any documentation mentioning that vectors are bit packed. But if LLVM is supposed to bit pack vectors, should we do it for any element size, or only when element size is less than the byte size, or only for i1 vectors?
Maybe bit packing should be
2012 May 21
0
[LLVMdev] Bug in SUB expansion going back to LLVM 2.6
On May 21, 2012, at 11:21 AM, Villmow, Micah wrote:
> I found a bug in the expansion code for SUB going back to at least LLVM 2.6 and still shows up in trunk.
> case ISD::SUB: {
> EVT VT = Node->getValueType(0);
> assert(TLI.isOperationLegalOrCustom(ISD::ADD, VT) &&
> TLI.isOperationLegalOrCustom(ISD::XOR, VT) &&
> "Don't
2015 May 12
2
[LLVMdev] i1 types in MergeConsecutiveStores
Hello LLVM,
In DAGCombiner.cpp, MergeConsecutiveStores uses
int64_t ElementSizeBytes = MemVT.getSizeInBits()/8;
https://github.com/llvm-mirror/llvm/blob/master/lib/CodeGen/SelectionDAG/DAGCombiner.cpp#L10669
which is broken for i1 types where getSizeInBits() == 1. My
out-of-tree target hits this case and eventually LLVM asserts in
Type.cpp.
Is there some reason MergeConsecutiveStores should
2012 Jul 27
2
[LLVMdev] TLI.getSetCCResultType() and/or MVT broken by design?
I'm running into lots of problems with this call back. Mostly the problem occurs because this callback is used before types are legalized. However, the code generator does not have a 1-1 correspondence between all LLVM types and the codegen types. This leads to problems when getSetCCResultType is passed in an invalid type, but has a valid LLVM type attached to it. An example is <3 x
2017 Sep 15
2
What should a truncating store do?
They are starting to look complicated. The patch linked is interesting,
perhaps v1 vectors are special cased. It shouldn't be too onerous to work
out what one or two in tree back ends do by experimentation.
Thanks again, it's great to have context beyond the source.
On Fri, Sep 15, 2017 at 9:41 PM, Friedman, Eli <efriedma at codeaurora.org>
wrote:
> On 9/15/2017 12:10 PM, Jon