Displaying 20 results from an estimated 200 matches similar to: "Extending llvm::iterator_range"
2014 Mar 19
5
[LLVMdev] [RFC] Add empty() method to iterator_range.
Hi all,
As RFCs go this is short and sweet - I think it would be nice to add an
empty method to iterator_range. Something like:
bool empty() const { return begin() != end(); }
My motivation is to make the 'if' test at the start of this common pattern
tidier:
if (!collection.empty())
// initialization...
for (auto& c : collection)
// do something for each c.
which I think that
2014 Mar 19
3
[LLVMdev] [RFC] Add empty() method to iterator_range.
On Mar 19, 2014, at 11:32 AM, Aaron Ballman <aaron at aaronballman.com> wrote:
> On Wed, Mar 19, 2014 at 2:13 PM, Lang Hames <lhames at gmail.com> wrote:
>> Hi all,
>>
>> As RFCs go this is short and sweet - I think it would be nice to add an
>> empty method to iterator_range. Something like:
>>
>> bool empty() const { return begin() != end();
2017 Jan 16
4
[RFC 0/2] Propose a new pointer trait.
Hi,
I'm part of an engineering team doing research on persistent memory support and
we have stumbled upon an interesting problem. The issue is, we would like to be
able to use the standard library containers in a persistent memory context
(think NVDIMM-N). What I mean is that you allocate a container from said
memory, use it like you normally would. After the application terminates,
expectedly
2014 Mar 21
2
[LLVMdev] [RFC] Add empty() method to iterator_range.
Hi Chandler,
Agreed - ranges aren't containers, just views of sequences. Still, that's
all many algorithms want, and it's just as valid to ask whether a sequence
is empty as it is to ask that of a container.
No contest on points 2 or 3, but I'm confused about point 4. When are
ranges not pairs of iterators? I mean in a way that would clash with the
proposal for empty() to be
2011 Feb 16
2
create a data frame with the given column names
how do I create a data frame with the given column names
_NOT KNOWN IN ADVANCE_?
i.e., I have a vector of strings for names and I want to get an _EMPTY_
data frame with these column names.
is it at all possible?
--
Sam Steingold (http://sds.podval.org/) on CentOS release 5.3 (Final)
http://openvotingconsortium.org http://pmw.org.il http://memri.org
http://mideasttruth.com
2016 May 09
2
Building LLVM 3.8 and later with 2016 Intel C++ compiler
Trying to build LLVM 3.8 (or trunk) with the 2016 Intel C++ compiler. It
fails on the std::declval feature:
llvm-3.8/include/llvm/ADT/iterator_range.h(63): error: namespace "std"
has no member "declval"
iterator_range<decltype(begin(std::declval<T>()))> drop_begin(T &&t,
int n) {
An isolated std::declval example shows that this compiler doesn't
2010 Sep 07
3
[LLVMdev] MS VS2008 build fails - X86AsmParser
Hi all,
Just tried to build from svn sources with Visual Studio 2008, mostly
OK but fails
building the X86AsmParser lib -
I see a few commits from yesterday that may have something to do with it, but no
idea what the solution is.
-David
See MSVC's beautiful and concise output below;
Compiling...
X86AsmParser.cpp
C:\dev\MSVisualStudio\VC\include\xutility(313) : error C2664: 'bool
2016 May 20
3
problems with objects larger than PTRDIFF_MAX
It could be that 32-bit systems are disappearing so rapidly that nobody
cares too much about this issue, but this blog post is still worth reading:
http://trust-in-soft.com/objects-larger-than-ptrdiff_max-bytes/
John
2014 Mar 03
3
[LLVMdev] [cfe-dev] C++11 reverse iterators (was C++11 is here)
On Mar 2, 2014, at 10:47 PM, Chandler Carruth <chandlerc at google.com> wrote:
>> I'm not aware of the prior art or standards are here, but I think that a global reverse() adapter is the way to go. Likewise, we should have a standard "enumerate()" adaptor like python.
>>
>> I definitely prefer the global adaptor pattern. As for prior art, I had played with
2010 Sep 07
0
[LLVMdev] MS VS2008 build fails - X86AsmParser
On Sep 6, 2010, at 10:50 PM, David Shipman wrote:
> Hi all,
>
> Just tried to build from svn sources with Visual Studio 2008, mostly
> OK but fails
> building the X86AsmParser lib -
>
> I see a few commits from yesterday that may have something to do with it, but no
> idea what the solution is.
Wow, that's a pretty terrible diagnostic. Does r113198 help?
-Chris
2016 May 20
0
problems with objects larger than PTRDIFF_MAX
I've come across this issue before and came to the following conclusion:
- We are not obligated to support objects that large, C11 5.2.4.1/1 only
requires that we support objects of size 65535! Their guidance for maximum
object size is stated to be half of SIZE_MAX in C11 K.3.4/4 which is
typically equivalent to PTRDIFF_MAX.
- The expectation that PTRDIFF_MAX is more or less a proxy for the
2016 May 29
2
problems with objects larger than PTRDIFF_MAX
On 2016-05-20 19:58, David Majnemer via llvm-dev wrote:
> I've come across this issue before and came to the following conclusion:
> - We are not obligated to support objects that large, C11 5.2.4.1/1 only
> requires that we support objects of size 65535!
Right, the standard doesn't require it. But I guess you don't imply that
it's fine for clang to silently miscompile
2018 Nov 03
2
llvm bug 36466 fix
Hi
I come across the following exception when I use the llvm-dwarfdump
-debug-info target_binary:
llvm-dwarfdump: /home/linux/llvm-7/llvm/lib/MC/MCRegisterInfo.cpp:87: int
llvm::MCRegisterInfo::getLLVMRegNum(unsigned int, bool) const: Assertion `I
!= M+Size && I->FromReg == RegNum && "Invalid RegNum"' failed.
Stack dump:
0. Program arguments:
2018 Aug 01
2
LLJVM make error
That source file was removed from LLVM in r232397 on March 16, 2015.
It looks like lljvm hasn't been updated in a long time. LLVM's C++ APIs are not stable, so there is no expectation that a project built against LLVM's C++ API in 2015 would build or reasonably function against LLVM trunk.
The project probably works against LLVM 3.6.2 which was (I believe) the last LLVM release to
2017 Jul 17
3
A bug related with undef value when bootstrap MemorySSA.cpp
It seems MemorySSA.cpp is the only real code where we found the
problem happening. Is it possible to change the source of
MemorySSA.cpp to hide the problem and buy some time for now? Now we
use an empty generic_def_path_iterator with Optional<ListIndex> N
being initialized by None as the end of range. Can we initialize the
Optional var with a special value instead of None?
2014 Mar 03
2
[LLVMdev] [cfe-dev] C++11 reverse iterators (was C++11 is here)
On Mar 2, 2014, at 10:27 PM, Chandler Carruth <chandlerc at google.com> wrote:
>
> On Sun, Mar 2, 2014 at 10:13 PM, Saleem Abdulrasool <compnerd at compnerd.org> wrote:
> On Sun, Mar 2, 2014 at 9:26 PM, Chris Lattner <sabre at nondot.org> wrote:
>
> On Mar 2, 2014, at 8:53 PM, Renato Golin <renato.golin at linaro.org> wrote:
>
> > On 3 March 2014
2018 Nov 03
2
llvm bug 36466 fix
Hi Dave
I am not going to access any hardware. I am using clang to analysis the ARM
binaries. The binary is 483.xalancbmk in CPU SPEC2006. When I use the
optimization O0, no crash will occur. The crash occurs when I set
optimization level as O1,O2,O3 and Os.
If I have to recompile and rerun the tests. What version of llvm is
suggested. It would be better if anyone could provide the patch on this
2005 Mar 10
2
[LLVMdev] Errors building llvm with Visual Studio in Debug mode
I'm not sure what causes this. Everything builds fine in Release mode
but when I try to do a Debug build I get an error in Transforms (which
causes all dependant projects to fail as well). I'm not exactly sure
what causes the error, I'll try to investigate tomorrow (unless
someone can figure out what it is by then). Below is the output from
VS:
------ Build started: Project:
2019 Feb 03
4
Variable names rule
> On Feb 2, 2019, at 8:18 PM, Chris Lattner <clattner at nondot.org> wrote:
>
>
>
>> On Feb 1, 2019, at 6:20 AM, Michael Platings via llvm-dev <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
>>
>> Hi all,
>>
>> As application of the naming rules are currently under discussion [1] this seems like a good time
2004 Apr 27
2
[LLVMdev] subtle problem with inst_iterator
Chris Lattner wrote:
> > inline IIty operator*() const { return BI; }
> > inline IIty operator->() const { return operator*(); }
> >
> > So operator* works as if value_type is Instruction*, but operator-> works
> > as if value_type is Instruction. Hmm ;-)
>
> Yeah, fishy huh? :)
Yea, a bit. I've decided that before changing that I'd better