Displaying 20 results from an estimated 5000 matches similar to: "[LLVMdev] [RFC] Removing FCA constants from the IR"
2013 Mar 30
2
[LLVMdev] Missed optimisation opportunities?
I'm writing a front end for an existing interpreted language with slightly
odd semantics for primitive values.
Similar to the values in a database table, any value could be null, even
for non-pointer types.
For example a boolean variable could be true, false, or null.
To model this behaviour, I'm passing an {i1, [type]} around for every
numeric type. And using insertvalue / extractvalue
2013 Jul 18
0
[LLVMdev] SIMD instructions and memory alignment on X86
Are you able to send any IR for others to reproduce this issue?
On Wed, Jul 17, 2013 at 11:23 PM, Peter Newman <peter at uformia.com> wrote:
> Unfortunately, this doesn't appear to be the bug I'm hitting. I applied
> the fix to my source and it didn't make a difference.
>
> Also further testing found me getting the same behavior with other SIMD
> instructions.
2013 Jul 18
2
[LLVMdev] SIMD instructions and memory alignment on X86
Unfortunately, this doesn't appear to be the bug I'm hitting. I applied
the fix to my source and it didn't make a difference.
Also further testing found me getting the same behavior with other SIMD
instructions. The common factor is in each case, ECX is set to
0x7fffffff, and it's an operation using xmm ptr ecx+offset .
Additionally, turning the optimization level passed to
2008 May 30
3
[LLVMdev] Plans considering first class structs and multiple return values
Hi all,
I've been implementing some stuff that uses the new structs-as-firstclass
values code. Apart from some implementation problems, I'm spotting a few
structural problems that seem non-trivial to fix.
In particular, now that structs are a first class values, the old way or
returning multiple values is a bit confusing. The old way had a variable
number of arguments to the return
2009 Nov 18
3
[LLVMdev] ABCD Example Failure Given Here
I am trying to employ the ABCD optimization pass to remove unnecessary
branches in the code my compiler generates. But in its current form
(yesterday's trunk) the pass changes the behavior of the code such
that execution yields invalid results, which is obviously not what I
want.
The switch in the following listing is used to implement a virtual
method call, 99999 and 100000 are type
2016 Feb 07
5
Assigning constant value without alloca/load/store
Hello,
I am currently trying to translate some custom IR to LLVM-IR and came
across and issue.
The custom IR has several registers and I am basically try to SSAfy it so
it can be easily translated/converted to LLVM-IR.
The problem:
Since in my custom IR I can reassign every register I have to reassign
every new expression with a new llvm Value. But my IR has something like
this:
REG A = VAR C
2006 Jul 18
5
a best way to write this.
I have a form, with 3 fields, then in my controller I get the paramters
to run a query but I don''t want to filter with paramters if they are
nil or blank...
I''m doing this
@condition = ''''
if(params.....)
@condition = @condition + " myparamter = " + params[.....
if(params.....)
@condition = @condition + " myparamter = " +
2012 Jan 27
3
[LLVMdev] How to get the string value?
Thanks Duncan,
Yes, it is a ConstantExpr! Thank you!
Now trying to find a clue in ConstantExpr's functions to get that string :-)
Regards,
Welson
On Thu, Jan 26, 2012 at 9:04 PM, Duncan Sands <baldrick at free.fr> wrote:
> Hi Welson Sun,
>
> > Hi, if I have some LLVM code like this:
> >
> > @.str = private unnamed_addr constant [7 x i8]
2008 Nov 13
2
(no subject)
Hi,
Browse[1]> d4
EVDO_Rev Session_Setup FCA bin counts
50 NA 0 5 1 1
51 NA 0 5 2 1
52 NA 0 5 3 1
53 NA 0 5 4 1
54 NA 0 5 5 1
55 NA 0 5 6 1
56 NA 0 5 7 1
57 NA 0 5 8
2016 Feb 08
2
Assigning constant value without alloca/load/store
I want to keep the translation short and simple (My IR doesn't have control
flow so it's basically on basic block) that's why I don't want to rely on
alloca/load/store.
2016-02-08 6:08 GMT+01:00 George Burgess IV <george.burgess.iv at gmail.com>:
> Hi!
>
> I don't know what "the right way" to do this is, but is there any reason
> you're against
2020 Apr 12
2
Optimization generate super long function definition
Hi all,
sorry to have sent the same question around. I am quite desperately looking for a solution to this problem and I figured the mailing list is the best bet.
In my code, I generate the following function:
define i32 @gl.qi([500 x i32] %x, i32 %i) {
entry:
%x. = alloca [500 x i32]
%i. = alloca i32
%0 = alloca [500 x i32]
store [500 x i32] %x, [500 x i32]* %x.
store i32 %i, i32*
2013 Jun 24
2
[OT] bash here documents
Suppose I have this C++ program:
#include <iostream>
int main (int argc, char** argv)
{
while (1)
{
char cmd[80];
std::cin.getline(cmd, 80);
std::cout << "response to " << cmd << std::endl;
}
}
compiled by: c++ -o junk junk.cpp
and I have this bash script:
#!/bin/bash
./junk <<EOF
blah
bleh
\cC
EOF
echo "Something
2013 Aug 19
4
[LLVMdev] Generating GetElementPtr inlined in a function argument list programmatically
Hello LLVMDev List,
It's my first time sending a message to the List - I have been working on a tool for my research project using LLVM. Thanks for your awesome work!
I have come across some bytecode like the following with an GetElementPtr instruction in brackets:
Bytecode:%3 = call i32 @_Z4funcPKc(i8* getelementptr inbounds ([5 x i8]* @.str2, i32 0, i32 0))
C++ code:func("bleh");
2008 Apr 03
2
Winbind ignores idmap configuration (3.0.28a)
Hullo,
After having my Samba server joined to a domain, I'm now having
difficulties configuring winbind. I want to use the idmap_rid backend,
and have recompiled Samba from scratch with the requisite rid.so module.
However, no matter how "idmap domains / idmap config" is set up, it
seems to get totally ignored. Here is my smb.conf:
[global]
workgroup = DEPARTMENTDOMAIN
server
2016 Feb 10
4
Memory Store/Load Optimization Issue (Emulating stack)
Thank you for the hint.
I adjusted the code and it works:
The code after replacing inttoptr with getelementptr:
define { i32, i32, i8* } @test(i32 %foo, i32 %bar, i8* %sp) {
entry:
; push foo (On "stack")
%sp_1 = getelementptr i8, i8* %sp, i32 -4
%sp_1_ptr = bitcast i8* %sp_1 to i32*
store i32 %foo, i32* %sp_1_ptr, align 4
; push bar
%sp_2 = getelementptr i8, i8* %sp_1,
2007 May 12
3
Setting form-values
Hi,
I''ve recently had some trouble setting form values in my code - for example:
require ''rubygems''
require ''mechanize''
def save(pagename, content, editsummary = '''')
agent = WWW::Mechanize.new
agent.user_agent = ''Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)''
page =
2016 Feb 08
2
Memory Store/Load Optimization Issue (Emulating stack)
Hello,
I am trying to emulate the "stack" as like on x86 when using push/pop so
afterwards I can use LLVM's optimizer passes to simplify (reduce junk) the
code.
The LLVM IR code:
define { i32, i32, i32 } @test(i32 %foo, i32 %bar, i32 %sp) {
; push foo (On "stack")
%sp_1 = sub i32 %sp, 4
%sp_1_ptr = inttoptr i32 %sp_1 to i32*
store i32 %foo, i32* %sp_1_ptr, align
2010 Jan 08
2
[LLVMdev] First-class aggregate semantics
On 01/07/2010 06:03 PM, Alastair Lynn wrote:
>
> You'll probably need to use insertvalue to construct your return value.
Ah ha!
The fact is I didn't really understand the significance of this part
when I read it, and so didn't remember it when I needed it. OK, so I
have tested it and I can now build up a struct like this
%s1 = insertvalue {i32, i32} {i32 0, i32 0}, i32
2017 Jan 02
2
Indices for extractvalue and insertvalue
Hi
Can someone explain to me why we cant use uint64_t for extractvalue
and insertvalue indices, while GEP on arrays can have indices of any
integer type. Basically if I load an array with UINT_MAX+O (O>=2)
elements, I can not extract its last element.
Given this restriction I feel we have a bug here (uint64_t is passed
as a unsigned). This cant happen because of the if (NumElements >
1024)
2015 Mar 16
3
[LLVMdev] Alias analysis issue with structs on PPC
On Mon, Mar 16, 2015 at 9:56 AM, Hal Finkel <hfinkel at anl.gov> wrote:
>
> so just using pointer types instead of i64 will help common cases, but
> will not address the general issue. Now part of this does some down to
> using array parameters as a substitute for byval/direct parameters. As I
> recall, this was done because it allowed a natural partial decomposition
>