Displaying 20 results from an estimated 7000 matches similar to: "[LLVMdev] The problem of densemap and loop"
2014 Aug 29
2
[LLVMdev] The problem of densemap and loop
Dear John,
First thing, the 3 loops in Densemap are all " Loop at depth 1 containing: %1<header><exiting>,%3,%5<latch> " in the 3 functions.
The dense map is in a ImmutablePass. I got it in FunctionPass and tried insert the information in this FunctionPass. So to turn the FunctionPass to ModulePass may be a better idea?
Another interesting thing: if just before
2014 Apr 04
3
[LLVMdev] Add a new information and preserve it in LLVM
Hello,
I am trying to add some thing into LLVM, while I encountered some problems.
So my situation is that I have some information W, some transform passes may change it, after these passes, I need the new W. What I did is to create an analysis pass similar to scalar-evolution or loopinfo, I can get the information by using getAnalysis<W>(); and preserve this information W by using
2015 Dec 11
3
Memory utilization problems in profile reader
On Fri, Dec 11, 2015 at 9:58 AM, Diego Novillo <dnovillo at google.com> wrote:
> So, I traced it down to the DenseMaps in class FunctionSamples. I've
> replaced them with two std::vector, and the read operation causes the
> compiler to grow from 70Mb to 280Mb. With the DenseMaps, reading the
> profile causes the compiler to grow from 70Mb to 3Gb.
>
> Somehow the
2012 Feb 02
3
[LLVMdev] Updating PHI for Instruction Domination?
So I have a loop with two blocks, a header (which points to return and
latch) and a latch (which points to return and header). I have inserted a
few new blocks, called H and F.
Header now points to H and latch. Latch now points to F. H points to F. F
points to Header and return.
The PHI Nodes have been updated in Header accordingly, now coming from the
preheader and F (instead of latch).
My
2013 Nov 04
0
[LLVMdev] compile error when using overloaded = operator of DenseMap
On Mon, Nov 4, 2013 at 10:35 AM, Rekha R <rekharamapai at nitc.ac.in> wrote:
> Hi,
>
> I am trying to implement Available Expressions data flow analysis. I created
> the following class (I am giving here code snippet.):
>
> namespace {
> typedef DenseMap<Expression, uint32_t> DMTy; //Expression is a class I
> defined.
> struct DataFlowValue {
>
2012 Feb 02
1
[LLVMdev] Fwd: Updating PHI for Instruction Domination?
So essentially I'm adding a path inside of the loop. Is there a way to have
llvm automatically create new IR and update the PHIs simply by adding a
block like this and changing the DomTree?
---------- Forwarded message ----------
From: Ryan Taylor <ryta1203 at gmail.com>
Date: Thu, Feb 2, 2012 at 12:08 PM
Subject: Updating PHI for Instruction Domination?
To: llvmdev at cs.uiuc.edu
So
2013 Nov 04
2
[LLVMdev] compile error when using overloaded = operator of DenseMap
Hi,
I am trying to implement Available Expressions data flow analysis. I
created the following class (I am giving here code snippet.):
namespace {
typedef DenseMap<Expression, uint32_t> DMTy; //Expression is a class I
defined.
struct DataFlowValue {
DMTy ExprMap;
llvm::BitVector* DFV;
// Functions operating on the data //
bool operator==(const DataFlowValue V) const;
2012 Feb 03
0
[LLVMdev] Updating PHI for Instruction Domination?
Not that I'm aware of.
-eric
On Feb 2, 2012, at 3:47 PM, Ryan Taylor wrote:
> So essentially I'm adding a path inside of the loop. Is there a way to have llvm automatically create new IR and update the PHIs simply by adding a block like this and changing the DomTree?
>
> ---------- Forwarded message ----------
> From: Ryan Taylor <ryta1203 at gmail.com>
> Date:
2017 Nov 20
2
Nowaday Scalar Evolution's Problem.
The Problem?
Nowaday, SCEV called "Scalar Evolution" does only evolate instructions that
has predictable operand,
Constant-Based operand. such as that can evolute as a constant.
otherwise we couldn't evolate it as SCEV node, evolated as SCEVUnknown.
important thing that we remember is, we do not use SCEV only for Loop
Deletion,
which that doesn't really needed on nature loops
2016 Mar 15
2
RFC: DenseMap grow() slowness
What should we use instead of DenseMap?
—escha
> On Mar 15, 2016, at 3:30 PM, Xinliang David Li <xinliangli at gmail.com> wrote:
>
> yes it makes sense. Avoid using DenseMap when the size of the map is expected to be large but can not be pre-determined.
>
> David
>
> On Tue, Mar 15, 2016 at 3:07 PM, via llvm-dev <llvm-dev at lists.llvm.org <mailto:llvm-dev at
2008 Jun 05
4
[LLVMdev] Adding DenseMap::FindAndConstruct with a default value
Hi All,
I've been fiddling around with a DenseMap to store cached copies of some
result. In short, I'm doing the following:
It = Map.find(Key)
if (It != Map.end() && It->second != Unknown)
Return It->second;
// do_stuff
return Map[Key] = Result;
However, I this requires two lookups in the hash table, which is not so nice.
Currently, there is no way to write this down so
2019 Sep 27
2
DenseMap/ValueMap: is M[New]=M[Old] valid ?
I actually ran into an elusive bug with this exact same issue some time
ago as well, see https://bugs.llvm.org/show_bug.cgi?id=42065 and
https://reviews.llvm.org/D62624.
The strange thing about that bug was that it only showed up if built with
GCC; Clang dereferenced the right hand side reference before evaluating
the left hand side, as long as the value type was as small as the
reference
2020 Mar 20
5
CFG manipulation and !llvm.loop metadata
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200320/34cdec77/attachment.html>
-------------- next part --------------
Hi all,
I have encountered some issues with the preservation of the location of llvm.loop metadata (containing optimisation hints), and would appreciate some feedback on the issue.
The IR language description states that
2009 Nov 03
2
[LLVMdev] DenseMap iterator constness fix
Dear all,
The first of the proposed patches (DenseMapIterator.patch) forbids implicit
conversion of DenseMap::const_iterator to DenseMap::iterator which was
possible because DenseMapIterator inherited (publicly) from
DenseMapConstIterator. Conversion the other way around is now allowed as one
may expect.
The template DenseMapConstIterator is removed and the template
parameter IsConst which
2009 Mar 11
4
[LLVMdev] a different hash for APInts
I'm working on a bug where LLVM takes over six minutes to compile a
module. After some hand-editing, the module looks like this:
class half
{
private:
union uif
{
unsigned int i;
float f;
};
static const uif _toFloat[1 << 16];
};
const half::uif half::_toFloat[1 << 16] =
{
{0x00000000}, {0x33800000}, {0x34000000}, {0x34400000},
{0x34800000},
2019 Sep 27
3
DenseMap/ValueMap: is M[New]=M[Old] valid ?
On Thu, 26 Sep 2019, David Blaikie wrote:
> I'd be surprised if Clang or GCC's behavior here varied depending on the
> size of anything, but maybe?
>
> In any case, C++17 or so requires the RHS to be evaluated before the LHS for
> assignments - so this is now /always/ wrong, not just unspecified (which, I
> guess, also always wrong... just sometimes accidentally right)
2013 Feb 08
2
[LLVMdev] Possible issue with DenseMap when using AliasSetTracker
Dear All,
while willing to assist developers to adhere strictly to coding guidelines, I
wrote the attached program called "alias-detector". The program's intent is to
utilize the BasicAliasAnalysis to get a list of aliases for each pointer in a
certain program code. First it initializes clang as frontend, executes the
EmitLLVMOnlyAction, and then processes the produced Module with
2013 Feb 11
0
[LLVMdev] Possible issue with DenseMap when using AliasSetTracker
Oliver Horst wrote:
> Dear All,
>
> while willing to assist developers to adhere strictly to coding guidelines, I
> wrote the attached program called "alias-detector". The program's intent is to
> utilize the BasicAliasAnalysis to get a list of aliases for each pointer in a
> certain program code. First it initializes clang as frontend, executes the
>
2018 Jul 06
2
Verify that we only get loop metadata on latches
In https://bugs.llvm.org/show_bug.cgi?id=38011 (see also https://reviews.llvm.org/D48721) a problem was revealed related to llvm.loop metadata.
The fault was that clang added the !llvm.loop metadata to branches outside of the loop (not only the loop latch). That was not handled properly by some opt passes (simplifying cfg) since it ended up merging branch instructions with different !llvm.loop
2016 Mar 15
2
RFC: DenseMap grow() slowness
> On Mar 15, 2016, at 4:09 PM, Philip Reames <listmail at philipreames.com> wrote:
>
>
>
> On 03/15/2016 03:07 PM, via llvm-dev wrote:
>> There’s a few passes in LLVM that make heavy use of a big DenseMap, one that potentially gets filled with up to 1 entry for each instruction in the function. EarlyCSE is the best example, but Reassociate and MachineCSE have this to