similar to: [LLVMdev] New strict-aliasing warning?

Displaying 20 results from an estimated 700 matches similar to: "[LLVMdev] New strict-aliasing warning?"

2019 Sep 03
2
SourceMgr vs EXPENSIVE_CHECKS
Hi, I'm trying to build llvm (git monorepo) on Ubuntu 18.04 with EXPENSIVE_CHECKS enabled and running into various errors compiling SourceMgr.cpp, depending on which host compiler I use. For example with GCC: $ CC=gcc-8 CXX=g++-8 cmake -GNinja -DCMAKE_BUILD_TYPE=Debug -DLLVM_ENABLE_EXPENSIVE_CHECKS=ON ~/git/llvm-project/llvm/ && ninja ... [89/2690] Building CXX object
2019 Sep 03
2
SourceMgr vs EXPENSIVE_CHECKS
Hmm. What about the errors I quoted from using clang-7 (starting about a third of the way down my email, sorry if they got kinda lost in all the noise)? Thanks, Jay. On Tue, 3 Sep 2019 at 20:00, David Blaikie <dblaikie at gmail.com> wrote: > > Looks to me like a bug in GCC's constexpr+_GLIBCXX_CONCEPT_CHECKS support. Small test case: > > $ g++-8 test.cpp -std=c++2a
2019 Oct 02
2
SourceMgr vs EXPENSIVE_CHECKS
I just ran into this today. Do we need to update our requirements on libstdc++ version? Jay, did you figure out a way around this? On Wed, Sep 4, 2019 at 5:29 AM David Blaikie via llvm-dev <llvm-dev at lists.llvm.org> wrote: > > It's a bug in libstdc++ - so if you have clang using libstdc++ (which it will by default, I think) then it's the same thing. You could try with
2009 Sep 13
1
[LLVMdev] Is it possible using anonymous namespace on template in header files.
for example /// getPointerUnionTypeNum - If the argument has type PT1* or PT2* return /// false or true respectively. template <typename PT1, typename PT2> static inline int getPointerUnionTypeNum(PT1 *P) { return 0; } template <typename PT1, typename PT2> static inline int getPointerUnionTypeNum(PT2 *P) { return 1; } template <typename PT1, typename PT2> static
2002 Jan 22
4
splitting a data.frame
I have the following (simple!?) problem which I am unable to find a relatively trivial solution to. If I have a dataframe, A 1 A 7 B 4 B 5 C 3 D 3 D 2 E 5 F 5 F 6 I would like to create a new data.frame in the form ID pt1 pt2 A 1 7 B 4 5 C 3 NA D 3 2 E 5 NA F 5 6 so that for each identifier, in this
2015 Apr 21
2
[LLVMdev] Using an alias analysis pass
Hello LLVMdev, I’m using LLVM to do static analysis exclusively (without any code generation). To implement this analysis, I’m using multiple address spaces to disambiguate the purpose of the pointed memory. Since address spaces never alias in my model, I set on to implement an alias analysis pass that would exactly provide this information, as I’m seeing a couple of otherwise dead store that
2007 Nov 15
1
Nested SEXP functions
Hey All, I was wondering if I could solicit a little advice. I have been experiencing some quirkiness in my C code through .Call. Unfortunately, my program is rather large, so I'm trying to create a brief example. Yet before I do, I thought maybe a conceptual question would be sufficient. Basically, I'm writing up a multidimensional Gaussian likelihood (with spatial covariances and
2013 Mar 13
3
[LLVMdev] PROPOSAL: struct-access-path aware TBAA
> The program I gave was well typed :) Hi, Daniel: Thank you for sharing your insight. I didn't realized it is well-typed -- I'm basically a big nut of any std. I'd admit std/spec is one of the most boring material on this planet:-). So, if I understand correct, your point is: if a std call a type-casting (could be one which is in bad-taste:-), TBAA has to
2013 Mar 13
0
[LLVMdev] PROPOSAL: struct-access-path aware TBAA
On 3/13/13 1:21 PM, Daniel Berlin wrote: > On Wed, Mar 13, 2013 at 11:37 AM, Arnold Schwaighofer > <aschwaighofer at apple.com> wrote: >> On Mar 13, 2013, at 1:07 PM, Shuxin Yang <shuxin.llvm at gmail.com> wrote: >> >>>> The program I gave was well typed :) >>> Hi, Daniel: >>> Thank you for sharing your insight. I didn't realized
2016 Dec 22
5
Understanding SlotIndexes
Hi all, I'm tracking down a register allocation problem and I'm trying to understand this piece of code in InlineSpiller::spillAroundUses: // Find the slot index where this instruction reads and writes OldLI. // This is usually the def slot, except for tied early clobbers. SlotIndex Idx = LIS.getInstructionIndex(*MI).getRegSlot(); if (VNInfo *VNI =
2012 Jun 27
2
[LLVMdev] Compiler warnings with gcc-4.7.1
I just switched gcc from 4.6.2 to 4.7.1 and see the massive amount of warnings, see few examples below. They mostly didn't exist with gcc-4.6.2. rev.159224 Yuri /usr/home/yuri/llvm-2012-06/latest-unpatched/llvm-fix/include/llvm/ADT/PointerUnion.h:56:10: warning: enumeral mismatch in conditional expression:
2012 Jun 27
0
[LLVMdev] Compiler warnings with gcc-4.7.1
-Wenum-compare is buggy / bogus. We should turn this warning off in our build scripts if possible. On Tue, Jun 26, 2012 at 5:15 PM, Yuri <yuri at rawbw.com> wrote: > I just switched gcc from 4.6.2 to 4.7.1 and see the massive amount of > warnings, see few examples below. > They mostly didn't exist with gcc-4.6.2. > > rev.159224 > > Yuri > > >
2008 Jan 17
1
[LLVMdev] LiveInterval Questions
On Thursday 17 January 2008 13:03, Evan Cheng wrote: > > So why does the live range extend throughout the entire basic block? > > > > %reg1055 doesn't appear anywhere else in the program so it shouldn't > > be > > live-in to the block. > > It could be a bug. Can you get me a test case? I'll see if I can whittle it down. It's a pretty huge
2008 Jan 29
2
[LLVMdev] Possible LiveInterval Bug
I just ran into a problem here. I'm in SimpleRegisterCoalescing at the point where EXTRACT_SUBREG coalescing updates live ranges of aliased registers (around line 473 of SimpleRegisterCoalescing.cpp). There's a call to MergeValueInAsValue at line 50. MergeValueInAsValue has this code: void LiveInterval::MergeValueInAsValue(const LiveInterval &RHS,
2009 Jan 30
1
[LLVMdev] Question about VNInfo updates by LiveIntervals::addIntervalsForSpills
Hi, It looks like LiveIntervals::addIntervalsForSpills does not update all of the LiveIntervals infos quite correctly. In particular, if a live interval L is defined by Reg<-Reg copy instructions whose srcReg is later spilled by the addIntervalsForSpills() function, its VNInfo information is not updated in a proper way. It still points to the same MachineInstr as before, even though the
2013 Mar 13
0
[LLVMdev] PROPOSAL: struct-access-path aware TBAA
On Tue, Mar 12, 2013 at 11:59 PM, Shuxin Yang <shuxin.llvm at gmail.com> wrote: > I personally believe that in the context of type-based AA, correctness is a > subjective term:-). > > If the user smell something fishy, it is up to user to disable such opt, > there is no other > way around. TBAA is just to find the a sweet spot between precision & > safeness. Sorry,
2013 Mar 13
2
[LLVMdev] PROPOSAL: struct-access-path aware TBAA
On Wed, Mar 13, 2013 at 11:37 AM, Arnold Schwaighofer <aschwaighofer at apple.com> wrote: > > On Mar 13, 2013, at 1:07 PM, Shuxin Yang <shuxin.llvm at gmail.com> wrote: > >>> >>> The program I gave was well typed :) >> >> Hi, Daniel: >> Thank you for sharing your insight. I didn't realized it is well-typed -- I'm basically a big
2010 Aug 09
0
[LLVMdev] MmapAllocator
On Aug 8, 2010, at 9:20 PM, Reid Kleckner wrote: > I thought I dug into the register allocation code, and found the > VNInfo::Allocator typedef. I assumed that was getting the traffic we > saw in Instruments, but I don't have the data to back that up. Are you using llvm from trunk? VNInfo is a lot smaller now than it was in 2.7. I would guess about a third of the liveness memory
2016 Nov 27
5
Extending Register Rematerialization
Hello LLVM Developers, We are working on extending currently available register rematerialization to include cases where sequence of multiple instructions is required to rematerialize a value. We had a discussion on this in community mailing list and link is here: http://lists.llvm.org/pipermail/llvm-dev/2016-September/subject.html#104777 >From the above discussion and studying the code we
2018 Apr 05
1
llvm::PointerIntPair -- is this by design or a bug?
I do agree that sign-extension is the right thing to do. Unlike bit-fields, llvm::PointerIntPair has asserts checking that the int value is within range. So if you assign an out of range value, it should fail with an assertion: llvm::PointerIntPair<SomeType*, 3, int> pip; pip.setInt(7); // can be made to fail as the valid range // of signed 3-bit values is [-4:3] The above