Displaying 20 results from an estimated 2000 matches similar to: "LLVM IR pure intrinsic?"
2019 Jul 24
2
Intrinsics InstrReadMem memory properties
Ok, now I think I've found a bug:
Consider this C code:
void bar(int b) {
int a[10];
memset(a, b, 10);
}
which generates this IR code:
define dso_local void @bar(i32 %b) #0 {
entry:
%b.addr = alloca i32, align 4
%a = alloca [10 x i32], align 16
store i32 %b, i32* %b.addr, align 4
%arraydecay = getelementptr inbounds [10 x i32], [10 x i32]* %a, i64 0,
i64 0
%0 = bitcast i32*
2019 Jul 24
2
Intrinsics InstrReadMem memory properties
Hi Johannes,
Thanks for your reply. I now see more clearly how things work with these
properties. However, what would be an object whose address is potentially
known by a callee? I suppose the intrinsic arguments and global variable?
So IIUC, if not restricted by *only properties, an intrinsic could access
to:
- only its arguments if IntrArgMemOnly specified,
- its arguments and the global
2019 Jul 24
2
Intrinsics InstrReadMem memory properties
Hello,
According to include/llvm/IR/Intrinsics.td, InstrReadMem property indicates
that the intrinsic only reads from and does not write to memory.
Does this mean that it can read anywhere in the memory? Because we already
have 'InstrArgMemOnly' for intrinsics which only access memory that its
argument(s) point(s) to.
If 'InstrReadMem' really means read from anywhere in the
2019 Jul 25
2
Intrinsics InstrReadMem memory properties
So I removed the 'tail' from the call and try out different properties:
- IntrNoMem: memset() and the intrinsic are both optimized away as expected
- IntrWriteMem: memset() optimized away by DSE but the intrinsic isn't. I
would expect both to be removed, since the intrinsic is now also a dead
store.
- IntrReadMem: memset() and the intrinsic are both optimized away
*unexpectedly* (CSE
2018 Mar 16
2
Debugify and Verify-each mode
Mhm I see now, thanks for your explanation!
Son Tuan Vu
On Fri, Mar 16, 2018 at 10:58 PM, Vedant Kumar <vsk at apple.com> wrote:
>
> On Mar 16, 2018, at 2:30 PM, Son Tuan VU <sontuan.vu119 at gmail.com> wrote:
>
> Hi Vedant,
>
> Thank you for your reply. I think I can make this debugify-each mode, but
> I guess this is reserved for your GSoC project ?
>
>
2018 Apr 20
2
LLVM Pass Managers
Hi Vedant,
Thanks for your reply. More comments inline.
Son Tuan Vu
On Fri, Apr 20, 2018 at 10:19 PM, Vedant Kumar <vsk at apple.com> wrote:
> Hi,
>
> + Chandler, who has a lot more experience with our pass managers.
>
> On Apr 20, 2018, at 12:56 PM, Son Tuan VU <sontuan.vu119 at gmail.com> wrote:
>
> + Vedant: what do you think about the last point, since
2018 Mar 16
0
Debugify and Verify-each mode
> On Mar 16, 2018, at 2:30 PM, Son Tuan VU <sontuan.vu119 at gmail.com> wrote:
>
> Hi Vedant,
>
> Thank you for your reply. I think I can make this debugify-each mode, but I guess this is reserved for your GSoC project ?
No, there's no reserved work. If you'd like to work on this I encourage you to do so. There's plenty of other work slated for the GSoC project.
2018 Apr 26
0
Debugify and Verify-each mode
Hi Vedant,
I have tried to implement the fix you proposed, but it didn't work as
expected. I created a new *Module* Pass Manager (not Function Pass Manager)
and override the *add()* method like this:
class DebugifyEachPassManager : public legacy::PassManager {
public:
void add(Pass *P) override {
PassManager::add(createDebugifyPass());
PassManager::add(P);
2018 May 07
2
[DbgInfo] Potential bug in location list address ranges
Hello,
Has anyone taken a look at this bug? I really want to fix this, but as Paul
pointed out, this requires a lot of care...
Thank you for your help
Son Tuan Vu
On Fri, Apr 27, 2018 at 7:29 PM, Son Tuan VU <sontuan.vu119 at gmail.com>
wrote:
> Thank you all for taking a look at this. I pasted the C source then
> deleted it because I was afraid that it was too long to read...
2018 Apr 26
2
Debugify and Verify-each mode
Hello,
> On Apr 26, 2018, at 6:44 AM, Son Tuan VU <sontuan.vu119 at gmail.com> wrote:
>
> Hi Vedant,
>
> I have tried to implement the fix you proposed, but it didn't work as expected. I created a new Module Pass Manager (not Function Pass Manager) and override the add() method like this:
>
> class DebugifyEachPassManager : public legacy::PassManager {
>
2018 Apr 20
0
LLVM Pass Managers
> On Apr 20, 2018, at 1:46 PM, Son Tuan VU <sontuan.vu119 at gmail.com> wrote:
>
> Hi Vedant,
>
> Thanks for your reply. More comments inline.
>
> Son Tuan Vu
>
> On Fri, Apr 20, 2018 at 10:19 PM, Vedant Kumar <vsk at apple.com <mailto:vsk at apple.com>> wrote:
> Hi,
>
> + Chandler, who has a lot more experience with our pass managers.
2018 May 07
0
[DbgInfo] Potential bug in location list address ranges
Could you file a bug report about this (bugs.llvm.org <http://bugs.llvm.org/>)? If you don't have an account on bugzilla, I'd be happy to file one for you. Please provide exact instructions to reproduce the issue including any compilation flags.
thanks,
vedant
> On May 7, 2018, at 9:16 AM, Son Tuan VU <sontuan.vu119 at gmail.com> wrote:
>
> Hello,
>
> Has
2018 Mar 16
2
Debugify and Verify-each mode
Hi Vedant,
Thank you for your reply. I think I can make this debugify-each mode, but I
guess this is reserved for your GSoC project ?
However, if I understand correctly, we do not want to take the output of
the first check-debugify (I mean the .ll file with potentially all the
WARNINGs and ERRORs after the first pass) as input for the second debugify.
What we need is to take the fresh output of
2018 Apr 20
2
LLVM Pass Managers
+ Vedant: what do you think about the last point, since Debugify is also
related?
Son Tuan Vu
On Thu, Apr 19, 2018 at 6:14 PM, Philip Pfaffe <philip.pfaffe at gmail.com>
wrote:
> Hi Son,
>
> PassManagerBuilder is used to populate legacy PassManagers. That role is
> taken over by PassBuilder for new-PM passes.
>
> Cheers,
> Philip
>
> 2018-04-18 13:40 GMT+02:00
2018 Apr 20
0
LLVM Pass Managers
Hi,
+ Chandler, who has a lot more experience with our pass managers.
> On Apr 20, 2018, at 12:56 PM, Son Tuan VU <sontuan.vu119 at gmail.com> wrote:
>
> + Vedant: what do you think about the last point, since Debugify is also related?
Could you clarify the question? I'm not sure what it is you'd like me to chime in about.
> 2, I've asked this question once but
2018 Mar 12
2
Cross-compiling for ARM Cortex-M3 on x86
Thanks for your prompt reply.
I didn't build the libc at all, I downloaded a pre-built version of the
whole toolchain from
https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads, so I
guess it is an official version provided by ARM and should work? This
version targets ARM Cortex-M and Cortex-R family of processors...
Son Tuan Vu
On Mon, Mar 12, 2018 at 4:15 PM, Tim Northover
2018 Apr 27
0
[DbgInfo] Potential bug in location list address ranges
Thank you all for taking a look at this. I pasted the C source then
deleted it because I was afraid that it was too long to read...
Here's the code of *foo*. Its real name is *verifyPIN*. The variable *bar*
is *userPin*.
int *verifyPIN*(char **userPin*, char *cardPin, int *cpt)
{
int i;
int status;
int diff;
if (*cpt > 0) {
status = 0x55;
diff = 0x55;
for (i = 0; i
2018 Mar 12
0
Cross-compiling for ARM Cortex-M3 on x86
On 12 March 2018 at 16:35, Son Tuan VU via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
> Thanks for your prompt reply.
>
> I didn't build the libc at all, I downloaded a pre-built version of the
> whole toolchain from
> https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads, so I
> guess it is an official version provided by ARM and should work? This
>
2018 Apr 27
2
[DbgInfo] Potential bug in location list address ranges
As Adrian said, we'd need to see the source of foo() to assess what the location-list for bar ought to be.
Without actually going to look, I would guess that 'poplt' is considered a conditional move, therefore r4's contents are not guaranteed after it executes (i.e. it is a clobber). If one operand of 'poplt' is 'pc' then of course it is also a conditional indirect
2018 Jul 30
2
Metadata RAUW
Hello,
Does anyone know if it is possible to RAUW the Metadata? I took a look at
the source for it and IIUC, it is not possible. What should I do to
implement the RAUW for DINode (more precisely DILocation)?
Thank you for your help,
Son Tuan Vu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: