Displaying 17 results from an estimated 17 matches for "getdestty".
2015 Jun 18
3
[LLVMdev] problem with replacing an instruction
...1;
vect_1.push_back(Builder->getInt64(0));
llvm::GetElementPtrInst* gep1 =
llvm::GetElementPtrInst::Create(V, ArrayRef< Value * >(vect_1) );
BB.getInstList().insert(&I, gep1);
llvm::BitCastInst *bci = new BitCastInst (gep1,
BCI->getDestTy() );
llvm::ReplaceInstWithInst( &I , bci );
}
}
}
}
What am I missing?
Thanks,
Frank
2011 Nov 17
2
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
...not casts of pointer types, etc.
> + bool isCast = false;
> + if (I->isCast()) {
> + isCast = true;
> + if (!cast<CastInst>(I)->getSrcTy()->isSingleValueType()) {
> + isCast = false;
> + } else if (!cast<CastInst>(I)->getDestTy()->isSingleValueType()) {
> + isCast = false;
> + } else if (cast<CastInst>(I)->getSrcTy()->isPointerTy()) {
> + isCast = false;
> + } else if (cast<CastInst>(I)->getDestTy()->isPointerTy()) {
> + isCast = false;
>...
2008 Jul 21
2
[LLVMdev] Casting between address spaces and address space semantics
...tInst &CI) {
+ // Determine the new type. This is the old dest type with the address space
+ // changed. We can't simply use the source type, since the element type can be
+ // changed in the cast in addition to the address space.
+ const PointerType *DestTy = cast<PointerType>(CI.getDestTy());
+ const PointerType *SrcTy = cast<PointerType>(CI.getSrcTy());
+ const PointerType *NTy = PointerType::get(DestTy->getElementType(), SrcTy->getAddressSpace());
+
+ // Only propagate the address space when the source and dest address spaces
+ // are equivalent, or the source...
2011 Nov 21
0
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
...c.
> > + bool isCast = false;
> > + if (I->isCast()) {
> > + isCast = true;
> > + if (!cast<CastInst>(I)->getSrcTy()->isSingleValueType()) {
> > + isCast = false;
> > + } else if (!cast<CastInst>(I)->getDestTy()->isSingleValueType()) {
> > + isCast = false;
> > + } else if (cast<CastInst>(I)->getSrcTy()->isPointerTy()) {
> > + isCast = false;
> > + } else if (cast<CastInst>(I)->getDestTy()->isPointerTy()) {
> > +...
2008 Sep 22
0
[LLVMdev] Overzealous PromoteCastOfAllocation
On Sep 13, 2008, at 1:07 PM, Matthijs Kooijman wrote:
> Hi Dan,
>
>> Changing PromoteCastOfAllocation to not replace aggregate allocas
>> with
>> non-aggregate allocas if they have GEP users sounds reasonable to me.
> This sounds reasonable indeed, but still a bit arbitrary. Haven't
> figured out
> anything better yet, though.
>
>> Finding the
2011 Nov 16
0
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
Tobias, et al.,
Attached is the my autovectorization pass. I've fixed a bug that appears
when using -bb-vectorize-aligned-only, fixed some 80-col violations,
etc., and at least on x86_64, all test cases pass except for a few; and
all of these failures look like instruction-selection bugs. For example:
MultiSource/Applications/ClamAV - fails to compile shared_sha256.c with
an error: error in
2008 Sep 13
3
[LLVMdev] Overzealous PromoteCastOfAllocation
Hi Dan,
> Changing PromoteCastOfAllocation to not replace aggregate allocas with
> non-aggregate allocas if they have GEP users sounds reasonable to me.
This sounds reasonable indeed, but still a bit arbitrary. Haven't figured out
anything better yet, though.
> Finding the maximum alignment is sometimes still useful though, so
> it would be nice to update the alignment field of
2011 Nov 15
3
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
Tobias,
I've attached the latest version of my autovectorization patch. I was
able to add support for using the ScalarEvolution analysis for
load/store pairing (thanks for your help!). This led to a modest
performance increase and a modest compile-time increase. This version
also has a cutoff as you suggested (although the default value is set
high (4000 instructions between pairs) because
2008 Jul 21
0
[LLVMdev] Casting between address spaces and address space semantics
...ine the new type. This is the old dest type with the
> address space
> + // changed. We can't simply use the source type, since the
> element type can be
> + // changed in the cast in addition to the address space.
> + const PointerType *DestTy = cast<PointerType>(CI.getDestTy());
> + const PointerType *SrcTy = cast<PointerType>(CI.getSrcTy());
> + const PointerType *NTy = PointerType::get(DestTy-
> >getElementType(), SrcTy->getAddressSpace());
> +
> + // Only propagate the address space when the source and dest
> address spaces
>...
2008 Jul 18
0
[LLVMdev] Casting between address spaces and address space semantics
Hi Eli, Mon Ping,
> In ISO/IEC WG14 n1169 on the C extensions to support embedded
> processors, any two address spaces must be disjoint, must be
> equivalent, or must be nested.
Ah, that standard is a lot clearer on this subject than the DSP-C one I read
was.
> As Eli indicated, the actual relationship is platform specific depending on
> what makes the most sense for
2008 Sep 23
3
[LLVMdev] Overzealous PromoteCastOfAllocation
...es like
+ // scalarrepl from doing their work later on.
+ if (!AI.hasOneUse() && isa<StructType>(AllocElTy))
+ for (Value::use_iterator UI = AI.use_begin(), UE = AI.use_end();
+ UI != UE; ++UI) {
+ CastInst *CI = dyn_cast<CastInst>(UI);
+ if (!CI || CI->getDestTy() != PTy)
+ return 0;
+ }
uint64_t AllocElTySize = TD->getABITypeSize(AllocElTy);
uint64_t CastElTySize = TD->getABITypeSize(CastElTy);
-------------- next part --------------
Index: test/Transforms/ScalarRepl/2008-09-22-vector-gep.ll
========================================...
2008 Jul 17
4
[LLVMdev] Casting between address spaces and address space semantics
In ISO/IEC WG14 n1169 on the C extensions to support embedded
processors, any two address spaces must be disjoint, must be
equivalent, or must be nested. As Eli indicated, the actual
relationship is platform specific depending on what makes the most
sense for your hardware and how the program will behave will depend on
that relationship.
-- Mon Ping
On Jul 17, 2008, at 7:25 AM, Eli
2011 Dec 02
5
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
...casts, but not casts of pointer types, etc.
> + bool IsCast = false;
> + if (I->isCast()) {
> + IsCast = true;
> + if (!cast<CastInst>(I)->getSrcTy()->isSingleValueType()) {
> + IsCast = false;
> + } else if (!cast<CastInst>(I)->getDestTy()->isSingleValueType()) {
> + IsCast = false;
> + } else if (cast<CastInst>(I)->getSrcTy()->isPointerTy()) {
> + IsCast = false;
> + } else if (cast<CastInst>(I)->getDestTy()->isPointerTy()) {
> + IsCast = false;
> + }...
2011 Dec 14
0
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
...er types, etc.
> > + bool IsCast = false;
> > + if (I->isCast()) {
> > + IsCast = true;
> > + if (!cast<CastInst>(I)->getSrcTy()->isSingleValueType()) {
> > + IsCast = false;
> > + } else if (!cast<CastInst>(I)->getDestTy()->isSingleValueType()) {
> > + IsCast = false;
> > + } else if (cast<CastInst>(I)->getSrcTy()->isPointerTy()) {
> > + IsCast = false;
> > + } else if (cast<CastInst>(I)->getDestTy()->isPointerTy()) {
> > + IsCa...
2011 Nov 23
0
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
On Mon, 2011-11-21 at 21:22 -0600, Hal Finkel wrote:
> On Mon, 2011-11-21 at 11:55 -0600, Hal Finkel wrote:
> > Tobias,
> >
> > I've attached an updated patch. It contains a few bug fixes and many
> > (refactoring and coding-convention) changes inspired by your comments.
> >
> > I'm currently trying to fix the bug responsible for causing a compile
2011 Dec 02
0
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
...er types, etc.
> > + bool IsCast = false;
> > + if (I->isCast()) {
> > + IsCast = true;
> > + if (!cast<CastInst>(I)->getSrcTy()->isSingleValueType()) {
> > + IsCast = false;
> > + } else if (!cast<CastInst>(I)->getDestTy()->isSingleValueType()) {
> > + IsCast = false;
> > + } else if (cast<CastInst>(I)->getSrcTy()->isPointerTy()) {
> > + IsCast = false;
> > + } else if (cast<CastInst>(I)->getDestTy()->isPointerTy()) {
> > + IsCa...
2011 Nov 22
5
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
On Mon, 2011-11-21 at 11:55 -0600, Hal Finkel wrote:
> Tobias,
>
> I've attached an updated patch. It contains a few bug fixes and many
> (refactoring and coding-convention) changes inspired by your comments.
>
> I'm currently trying to fix the bug responsible for causing a compile
> failure when compiling
>