Displaying 16 results from an estimated 16 matches similar to: "[LLVMdev] Problem returning aggregate struct (complex number) by value"
2010 Apr 02
0
[LLVMdev] Problem returning aggregate struct (complex number) by value
Hi Andrew,
> %0 = type { float, float }
>
> define %0 @test600() {
> entry:
> ret %0 { float 4.200000e+01, float 3.500000e+01 }
> }
>
>
> Running that through llc, the x86-64 assembly looks like this (abbreviated):
unfortunately the x86-64 ABI says that complex numbers are *not* passed the
same as a struct containing two floats. Your LLVM IR is not ABI conformant
2010 Apr 02
1
[LLVMdev] Problem returning aggregate struct (complex number) by value
Duncan Sands wrote:
> Hi Andrew,
>
>> %0 = type { float, float }
>>
>> define %0 @test600() {
>> entry:
>> ret %0 { float 4.200000e+01, float 3.500000e+01 }
>> }
>>
>>
>> Running that through llc, the x86-64 assembly looks like this (abbreviated):
>
> unfortunately the x86-64 ABI says that complex numbers are *not* passed the
2014 Jan 16
3
[LLVMdev] Loop unrolling opportunity in SPEC's libquantum with profile info
On Thu, Jan 16, 2014 at 9:26 AM, Nadav Rotem <nrotem at apple.com> wrote:
> Hi Diego,
>
> It looks like the problem is with the code in the vectorizer that tries to estimate the most profitable vectorization factor:
>
>> LV: Found an estimated cost of 6 for VF 2 For instruction: %3 = load
>> i64* %state, align 8, !dbg !58, !tbaa !61
>
>
> It looks like a
2010 Jun 22
1
[LLVMdev] Using llc to compile a .ll into a .s for ARM
Hi,
I've battled with this now for a good many hours, and I was wondering if
someone could point in the right direction. What I want to do is with
the kaleidoscope tutorial code, take the IR from a run where I've just done
"
def test(x) 42.0*x;
"
resulting in the file test.ll
"
; ModuleID = 'my cool jit'
define double @test(double %x) {
entry:
%multmp = fmul
2017 Jul 25
2
Identify c-style pointer to array
HI all,
in C/C++, arrays and matrices often are passed as pointer so functions.
Suppose I'd like to write a pass operating on arrays , for example an
array of doubles passed via double * and checking for the type i will
identify a pointer to double (isAggregateType()=false).
As this style of passing arrays using pointers is widely used, I wonder
if there is any chance to identify a pointer
2014 Dec 15
4
[LLVMdev] ubsan - active member check for unions
Hi,
I decided to implement a sanitizer that tracks the active member, and
reports reads from inactive members.
e.g.:
struct S {
union {
long l;
char s[42];
double d;
};
};
void f() {
S s;
s.d = 42.0;
if (s.l > 100) // fire here
;
}
My current implementation is naïve (also possibly wrong), and doesn't
care about "special
2020 Jun 24
6
[RFC] Compiled regression tests.
Am Mi., 24. Juni 2020 um 10:12 Uhr schrieb David Blaikie <dblaikie at gmail.com>:
> > As mentioned in the Differential, generating the tests automatically
> > will lose information about what actually is intended to be tested,
>
> Agreed - and I didn't mean to suggest tests should be automatically
> generated. I work pretty hard in code reviews to encourage tests to
2017 May 11
2
FENV_ACCESS and floating point LibFunc calls
Sounds like the select lowering issue is definitely separate from the FENV
work.
Is there a bug report with a C or IR example? You want to generate compare
and branch instead of a cmov for something like this?
int foo(float x) {
if (x < 42.0f)
return x;
return 12;
}
define i32 @foo(float %x) {
%cmp = fcmp olt float %x, 4.200000e+01
%conv = fptosi float %x to i32
%ret = select
2017 May 11
3
FENV_ACCESS and floating point LibFunc calls
Thanks, Andy. I'm not sure how to solve that or my case given the DAG's
basic-block limit. Probably CodeGenPrepare or SelectionDAGBuilder...or we
wait until after isel and try to split it up in a machine instruction pass.
I filed my example here:
https://bugs.llvm.org/show_bug.cgi?id=33013
Feel free to comment there and/or open a new bug for the FP_TO_UINT case.
On Thu, May 11, 2017 at
2014 Jan 16
3
[LLVMdev] Loop unrolling opportunity in SPEC's libquantum with profile info
On Wed, Jan 15, 2014 at 5:30 PM, Nadav Rotem <nrotem at apple.com> wrote:
> Was the vectorizer successful in unrolling the loop in quantum_sigma_x? I
> wonder if 'size’ is typically high or low.
No. The vectorizer stated that it wasn't going to bother with the loop
because it wasn't profitable. Specifically:
LV: Checking a loop in "quantum_sigma_x"
LV: Found a
2008 May 29
1
Problem with .C()
I've been trying to get my head around using matrices in calls to .C().
As an exercise I wrote some code to calculate the product of two
matrices.
(Well, it makes it easy to check if one is getting the right answer!)
After obtaining some advice from a Certain Very Wise Person at Oxford,
(to find out how to deal with array indexing in C functions called from
elsewhere) I wrote the following
2005 Oct 27
0
Column names in qr() and chol() (PR#8258)
I am using 2.2.0
If the QR decomposition of an N*M matrix is such that the pivoting order
is not 1:M, Q%*%R does not result in the original matrix but in a
matrix with the columns permuted. This is clearly intentional, and
probably to be expected if pivoting is used --- chol() behaves in the
same manner (it would perhaps be nice if the qr help page made that
clear in the same way that the chol()
2017 May 11
2
FENV_ACCESS and floating point LibFunc calls
Hi Andy,
I’m interested to try out your patches…
I understand the scope of FENV_ACCESS is relatively wide, however I’m still curious if you managed to figure out how to prevent the SelectionDAGLegalize::ExpandNode() FP_TO_UINT lowering of the FPToUI intrinsic from producing the predicate logic that incorrectly sets the floating point accrued exceptions due to unconditional execution of the
2020 Jul 01
6
[RFC] Compiled regression tests.
On 7/1/20 12:40 AM, Michael Kruse via llvm-dev wrote:
> To illustrate some difficulties with FileCheck, lets make a
> non-semantic change in LLVM:
>
> --- a/llvm/lib/Analysis/VectorUtils.cpp
> +++ b/llvm/lib/Analysis/VectorUtils.cpp
> @@ -642,8 +642,8 @@ MDNode *llvm::uniteAccessGroups(MDNode
> *AccGroups1, MDNode *AccGroups2) {
> return AccGroups1;
2004 Feb 02
3
mvrnorm problem
I am trying to simulate draws from a multivariate normal using mvrnorm, and
am getting the following error message:
Error in mu + eS$vectors %*% diag(sqrt(pmax(ev, 0)), p) %*% t(X) :
non-conformable arrays
I do not understand why I am getting this message, since the vector of means
I am giving to the function is 13 by 1 and the variance matrix I am giving
to the function is 13
2020 Jul 01
5
[RFC] Compiled regression tests.
The test as written is fragile because it requires a certain ordering. If the output order is not important, use CHECK-DAG rather than CHECK. This would be a failure to understand the testing tool.
My experience, over a 40-year career, is that good software developers are generally not very good test-writers. These are different skills and good testing is frequently not taught. It’s easy to