Skip to content

Instantly share code, notes, and snippets.

Jameson Nash vtjnash

Block or report user

Report or block vtjnash

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@vtjnash
vtjnash / after.ll
Last active Apr 28, 2019
bad TBAA/LICM
View after.ll
; *** IR Dump After Loop Invariant Code Motion *** (loop: %L140)
; ModuleID = 'reverse1'
source_filename = "reverse1"
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128-ni:10:11:12:13"
target triple = "x86_64--linux-gnu"
%jl_value_t = type opaque
@llvm.compiler.used = appending global [2 x i8*] [i8* bitcast (%jl_value_t addrspace(10)* (i8*, i32, i32)* @jl_gc_pool_alloc to i8*), i8* bitcast (%jl_value_t addrspace(10)* (i8*, i64)* @jl_gc_big_alloc to i8*)], section "llvm.metadata"
@vtjnash
vtjnash / print_to_string.ll
Last active Apr 27, 2019
X86AvoidStoreForwardingBlocks bug
View print_to_string.ll
; ModuleID = 'print_to_string_module.ll'
source_filename = "show"
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128-ni:10:11:12:13"
target triple = "x86_64--linux-gnu"
%jl_value_t = type opaque
%jl_array_t = type { i8 addrspace(13)*, i64, i16, i16, i32 }
@llvm.compiler.used = appending global [2 x i8*] [i8* bitcast (%jl_value_t addrspace(10)* (i8*, i32, i32)* @jl_gc_pool_alloc to i8*), i8* bitcast (%jl_value_t addrspace(10)* (i8*, i64)* @jl_gc_big_alloc to i8*)], section "llvm.metadata"
@vtjnash
vtjnash / VNpatch2.diff
Created Feb 22, 2019
some likely looking GVN bugs
View VNpatch2.diff
diff -rpu llvm-6.0.0.src/lib/Transforms/Scalar/GVN.cpp llvm-6.0.0-VNpatch2/lib/Transforms/Scalar/GVN.cpp
--- llvm-6.0.0.src/lib/Transforms/Scalar/GVN.cpp 2017-12-08 19:21:41.000000000 -0500
+++ llvm-6.0.0-VNpatch2/lib/Transforms/Scalar/GVN.cpp 2018-07-19 16:35:26.000000000 -0400
@@ -871,6 +871,10 @@ bool GVN::AnalyzeLoadAvailability(LoadIn
// read by the load, we can extract the bits we need for the load from the
// stored value.
if (StoreInst *DepSI = dyn_cast<StoreInst>(DepInfo.getInst())) {
+ if (DepSI->getValueOperand()->getType() != LI->getType() &&
+ !canCoerceMustAliasedValueToLoad(DepSI->getValueOperand(),
+ LI->getType(), DL))
@vtjnash
vtjnash / openblas 0.3.5
Created Jan 8, 2019
openblas 0.3.5 test failures
View openblas 0.3.5
Test Summary: | Pass Fail Total
Overall | 69682 645 70327
LinearAlgebra/hessenberg | 40 40
LinearAlgebra/givens | 1840 1840
LinearAlgebra/pinv | 264 24 288
LinearAlgebra/structuredbroadcast | 408 408
LinearAlgebra/uniformscaling | 354 354
LinearAlgebra/generic | 434 434
LinearAlgebra/schur | 390 390
LinearAlgebra/adjtrans | 253 253
@vtjnash
vtjnash / pcre-handle-ill-formed-utf8.diff
Created Jun 20, 2018
Patch to PCRE2 to handle ill-formed UTF8 data (assuming it is safe to skip the length check)
View pcre-handle-ill-formed-utf8.diff
diff -prU12 pcre2-10.30-release/src/pcre2_internal.h pcre2-10.30/src/pcre2_internal.h
--- pcre2-10.30-release/src/pcre2_internal.h 2017-07-19 12:00:20.000000000 -0400
+++ pcre2-10.30/src/pcre2_internal.h 2018-06-20 17:03:09.000000000 -0400
@@ -271,103 +271,157 @@ is not supported. */
/* The following macros were originally written in the form of loops that used
data from the tables whose names start with PRIV(utf8_table). They were
rewritten by a user so as not to use loops, because in some environments this
gives a significant performance advantage, and it seems never to do any harm.
*/
View gist:91b07812ba2d49d65c5813067c9c91e1
a020a44e72 112143378 bytes ############# Merge pull request #25655 from JuliaLang
3f34c629e1 112221811 bytes ############# Replace the --machinefile to --machine-f
a0fe64cde1 112154555 bytes ############# Merge pull request #25578 from JuliaLang
bca94e4bd5 0 bytes Merge pull request #25698 from fredrikek
dcb0517b22 0 bytes Merge pull request #25622 from JuliaLang
1888eb67f7 111775845 bytes ############ Merge pull request #23724 from invenia/a
6aae4d5b3f 112000185 bytes ############# Merge pull request #25644 from fredrikek
f7b1033464 111820037 bytes ############ Update julia version number in README.md
56c5075f8f 112699665 bytes ############### open: deprecate positional flags for key
5d6dc89826 112467897 bytes ############## remove testgroups moved to stdlib (#2560
View gist:735443e84aca353579d3b646755e4b78
9f41f148c5 89575738 bytes ####################### Eliminate full from test/math.jl and test/linalg/uniformscal
8c07a51de7 89172946 bytes ###################### Eliminate full from test/linalg/[dense|diagonal.jl]. (#23890
d31010ac1b 0 bytes FAILED Eliminate full from test/linalg/cholesky.jl. (#23891)
c240439eca 89152138 bytes ###################### Eliminate full from test/linalg/special.jl. (#23895)
ed51793c7e 89161862 bytes ###################### Eliminate uses of full from test/sparse/[spqr|cholmod|sparse
d7e7d313f9 0 bytes FAILED Merge pull request #23892 from JuliaLang/yyc/codegen/phi-uni
b3dc531383 89591122 bytes ####################### Merge pull request #23883 from JuliaLang/jn/fix-static-align
aee64e3528 89581242 bytes ####################### eliminate full from test/linalg/symmetric.jl (#23896)
b72af507df 89171090 bytes ###################### Merge pull request #23894 from JuliaLang/yyc/tests/llvm40
91b75cd859 89605094 bytes ##########
View lifting.jl
# goal: compute [Nullable(x ^ 2 + x) for x in filter!(isodd, data)]
# using the following syntax:
data |>
(+filter!)( isodd ) |>
(+map)( x -> x^2 ) |>
(2 + map)((x, y) -> (x + y), data)
import Base: +
# masochistic oneliner
+(f) = ((g, args...) -> (arg -> f((arg -> isnull(arg) ? arg : g(arg)), arg, args...)))
View sysimg size
#176515124 sha 25d27a2340a016c094b4927c4f797963f0ffc80e 23872752 bytes #######
#176520414 sha 9f999b7635c00bbe5499ae7b437bc6f0d39df2a2 24265680 bytes ###########
#176665575 sha b96740e33d63d3e8e79fef956dabce46d01bd98e 24520576 bytes #############
#176695183 sha ec26f3cbb50f5ca2e42482b1ac5412ec271c40c2 24170272 bytes ##########
#176749380 sha 5310bd6b4fd450ce296d40c27203d36cd36c5abe 23929888 bytes #######
#176765647 sha 01ef3c3ff1e6b656ecc5e54530ffed13a0e843a2 23712112 bytes #####
#176893857 sha c504a2478dd2c5cc83c432eb9f1f6fe1e4a134cb 23926016 bytes #######
#176949932 sha 34df9d88a15ccd2a77b5295046bf6bcc76918b49 24375600 bytes ############
#177065565 sha 51da5900574ee0149bd00f51d0324d8528062002 24392832 bytes ############
#177232902 sha 20d19250045a94d9f2b48d84fb3446345e97ad46 24160112 bytes ##########
View spurious-mach-sigwait.c
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <pthread.h>
#include <unistd.h>
#include <signal.h>
#include <errno.h>
#include <string.h>
#include <sys/time.h>
You can’t perform that action at this time.