similar to: [LLVMdev] Problem returning aggregate struct (complex number) by value

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