Displaying 20 results from an estimated 600 matches similar to: "[LLVMdev] llvm cse optimization"
2015 Sep 28
4
varargs, the x86, and clang
When I use clang on an x86-64 to spit out the LLVM, like this
clang -O -S -emit-llvm varargstest.c
where varargstest.c looks like this
int add_em_up(int count, ...) {
va_list ap;
int i, sum;
va_start(ap, count);
sum = 0;
for (i = 0; i < count; i++)
sum += va_arg(ap, int);
va_end(ap);
return sum;
}
I see LLVM that looks like it's been customized for the x86-64,
versus
2006 May 15
8
set_table_name and self.table_name
I have some legacy tables that I used set_table_name on, I''m attempting
to write a method that will get key value from a sequence table and then
update it and return a value. I''m hoping to put this in the base
ActiveRecord method so I would like to reference the table name with
self.table_name or something...
class Contacts < ActiveRecord::Base
set_table_name
2016 Sep 27
2
SelectionDAG::LegalizeTypes is very slow in 3.1 version
In 3.1, the backend is very slow to legalize types.
Following is the code snippet which may be the culprit:
%Result.i.i.i97 = alloca i33, align 8
%Result.i.i.i96= alloca i33, align 8
%Result.i.i.i95 = alloca i33, align 8
%Result.i.i.i94 = alloca i33, align 8
%Result.i.i.i93 = alloca i33, align 8
%Result.i.i.i92= alloca i33, align 8
%Result.i.i.i91 = alloca i33, align 8
2017 Jun 12
2
How to know the sub-class of a Value class?
On 11 June 2017 at 23:03, Craig Topper <craig.topper at gmail.com> wrote:
> Try value->dump() assuming you're using a debug build.
>
>
The information displayed is non-uniform. There are two different cases
based on my sample program:
(1) dump() shows the Type and *some* value which I don't
understand what it is
(2) dump() shows the instruction that
2019 Feb 07
2
RFC: [DebugInfo] Improving Debug Information in LLVM to Recover Optimized-out Function Parameters
Hi,
Following is a proposal to improve location coverage for Function parameters in LLVM. The patches for review will be posted soon.
RFC: [DebugInfo] Improving Debug Information in LLVM to Recover Optimized-out Function Parameters
Ananthakrishna Sowda(Cisco), asowda at cisco.com
Nikola Prica (RT-RK/Cisco), nprica at rtrk.com
Djordje Todorovic(RT-RK/Cisco), djtodorovic at rtrk.com
Ivan Baev
2013 Dec 05
0
[LLVMdev] Help with replacing instructions via function pass
Hi,
In my IR code, I have the following:
%arr = alloca [30 x i8], align 1
%arraydecay = getelementptr inbounds [16 x i8]* %arr, i32 0, i32 0
%arraydecay1 = getelementptr inbounds [16 x i8]* %arr, i32 0, i32 0
I'm trying to change the capacity of arr via a function pass. I've written the following code in my function pass:
ArrayType* b =
2006 Sep 30
6
generating unique tracking numbers
Hello,
I''m interested in learning what folks in the Rails community do when
they need to
generate permanent unique numbers for tracking objects such as packing
slips, inventory items, customers, employees, etc.
It''s tempting to use the autogenerated id, but they''re not pretty
enough for human consumption and it can be problematic having assigned
ids if tables ever need
2012 Aug 20
3
[LLVMdev] Problem with "Does not dominate all uses"
Hi!
I'm having some trouble with a pass I'm writing.
I'm using DemotePHIToStack to remove all phi node in my code with this code (this is the first thing I do in my pass):
// Erase phi node
vector<PHINode*> phis;
for (Function::iterator i=f->begin();i!=f->end();++i) {
for(BasicBlock::iterator b=i->begin();b!=i->end();++b) {
2006 Apr 20
1
has_many.count not accepting options hash
has_many.count does not seem to support an options hash like
ActiveRecord::Base.count does.
Example:
>> AcademicProgram.find(:first).course_requirements.count :conditions
=> "courses.name LIKE ''a%''", :include => :course
=> 40
>> ap.ap_requirements.count :conditions => "courses.name LIKE ''a%''",
:include =>
2012 Aug 20
0
[LLVMdev] Problem with "Does not dominate all uses"
In your original file, %6 is defined in if.end11 and is used in cond.end. if.end11 branches to cond.true and cond.false, both of which branch unconditionally to cond.end. Therefore %6 dominates its use.
In your second file %18 is defined in end.11 and used in cond.end. However, end.11 no longer dominates cond.end because you have rewritten all branches to go through the switch statement in
2006 Feb 25
5
MySQL client ran out of memory
I''m getting the following error unexpectedly for my rails app. I just
exported the databae from dreamhost and imported it on textdrive for
my rails app.
Mysql::Error: MySQL client ran out of memory: SELECT COUNT(*) FROM
comments WHERE (comments.listing_id = 2666)
/usr/local/lib/ruby/gems/1.8/gems/activerecord-1.13.2/lib/active_record/connection_adapters/abstract_adapter.rb:88:in
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*
2005 Oct 17
8
Using active record for SELECT MAX(column) FROM ...
Hi,
Is there an easy way of querying an active record for a maximum column
value? I need to do queries like:
SELECT MAX(salary) FROM employees
TIA,
Jeroen
2019 Feb 08
3
RFC: [DebugInfo] Improving Debug Information in LLVM to Recover Optimized-out Function Parameters
Thank you for your interest and comments! Please see my responses inline.
On 2/7/19, 3:17 PM, "aprantl at apple.com on behalf of Adrian Prantl" <aprantl at apple.com> wrote:
> On Feb 7, 2019, at 1:49 PM, Ananthakrishna Sowda (asowda) via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>
> Hi,
> Following is a proposal to improve location
2011 Dec 16
3
[LLVMdev] load widening conflicts with AddressSanitizer
Hello,
We've just got a bug report from Mozilla folks about AddressSanitizer false
positive with -O2.
Turns out there is a conflict between load widening and AddressSanitizer.
Simple reproducer:
% cat load_widening.c && echo ========= && clang -O2 -c
load_widening.c -flto && llvm-dis load_widening.o && cat
load_widening.o.ll
void init(char *);
int foo() {
2014 Nov 03
8
[LLVMdev] [PATCH] Protection against stack-based memory corruption errors using SafeStack
Dear LLVM developers,
Our team has developed an LLVM-based protection mechanism that (i) prevents
control-flow hijack attacks enabled by memory corruption errors and (ii)
has very low performance overhead. We would like to contribute the
implementation to LLVM. We presented this work at the OSDI 2014 conference,
at several software companies, and several US universities. We received
positive
2016 Dec 28
0
why clang compile local to global
> On Dec 27, 2016, at 11:09 PM, liuyu11 at ict.ac.cn via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>
> Hello,everyone:
> I want to known how to let clang compile my local array to local variables:
> I have the code :
> int main()
> {
> int a[3]={1,2,3};
>
> int b=7;
> int c=8;
> int d=9;
> int e=10;
> int f=11;
>
2011 Dec 16
0
[LLVMdev] load widening conflicts with AddressSanitizer
On 12/16/11 12:24 PM, Kostya Serebryany wrote:
> Hello,
>
> We've just got a bug report from Mozilla folks about AddressSanitizer
> false positive with -O2.
> Turns out there is a conflict between load widening and AddressSanitizer.
>
> Simple reproducer:
> % cat load_widening.c&& echo =========&& clang -O2 -c load_widening.c -flto&&
2019 May 29
2
Problem of getNumOperands() for CallInst
Hi all,
I got a interesting problem when calling getNumOperands() of CallInst.
For example,
call void @_Z2f2PA100_i([100 x i32]* nonnull %arraydecay)
If I use getNumOperands(), it will return 2.
However, if I use getCalledFunction()->getNumParams(), it will return 1.
According to the IR, I think the number of operands of the call instruction should be 1.
I
2016 Dec 28
3
why clang compile local to global
Hello,everyone:
I want to known how to let clang compile my local array to local variables:
I have the code :
int main()
{
int a[3]={1,2,3};
int b=7;
int c=8;
int d=9;
int e=10;
int f=11;
test(b,c,d,e,f,a);
return 0;
}
I use clang command:clang --target=mipsel -emit-llvm -S a.c -o a.ll
The a.ll is:
@main.a = private unnamed_addr constant [3 x i32] [i32 1, i32 2, i32 3],