Skip to content

Instantly share code, notes, and snippets.

View Trass3r's full-sized avatar

Trass3r Trass3r

View GitHub Profile
@Trass3r
Trass3r / base.json
Created November 9, 2022 16:15
magic enum base benchmark
{
"traceEvents": [
{
"pid": 8058,
"tid": 8058,
"ph": "X",
"ts": 3546,
"dur": 108,
"name": "Source",
"args": {
This file has been truncated, but you can view the full file.
{
"traceEvents": [
{
"pid": 24148,
"tid": 24148,
"ph": "X",
"ts": 6808,
"dur": 102,
"name": "Source",
"args": {
export PATH="/c/Program Files/LLVM/bin":$PATH
find include/llvm/IR -name '*.h' | xargs clang-query -p objdir
clang-query -p objdir include\llvm\IR\Value.h include\llvm\IR\Use.h include\llvm\Analysis\CallGraph.h
clang-query -p objdir include\llvm\ADT\SmallVector.h
vs
clang-query -p objdir include\llvm\Support\Allocator.h
m cxxRecordDecl(hasDefinition().bind("d"), hasExternalFormalLinkage(), unless(anyOf(isExpansionInSystemHeader(), isExplicitTemplateSpecialization(), hasParent(classTemplateDecl()), hasParent(classTemplateSpecializationDecl()))))
Index: include/llvm/Analysis/CFGPrinter.h
===================================================================
--- include/llvm/Analysis/CFGPrinter.h (revision 177877)
+++ include/llvm/Analysis/CFGPrinter.h (working copy)
@@ -15,6 +15,7 @@
#ifndef LLVM_ANALYSIS_CFGPRINTER_H
#define LLVM_ANALYSIS_CFGPRINTER_H
+#include "llvm/PassSupport.h"
#include "llvm/Assembly/Writer.h"
#! /bin/sh
awk -- '!/^#/ {
TIMES[$4] += ($2 - $1)/1000
COUNT[$4] += 1
}
END {
for (TGT in TIMES)
AVG[TGT]=TIMES[TGT]/COUNT[TGT]
@Trass3r
Trass3r / preprocessed_code_stats.sh
Last active October 6, 2022 17:16
get statistics on preprocessed C++ code size
set -eux
cd /build/
ninja -k0
export CCACHE_DISABLE=1
# fix CMake deps: https://gitlab.kitware.com/cmake/cmake/-/issues/15555
sed -ri 's/(build .+?\.cpp\.o: .+?) \|\| \S+depends\S+/\1/g' build.ninja
# produce preprocessed sources without #line markers
objdump -M intel --disassemble='__static_initialization_and_destruction_0(int, int)' test -C -S --source-comment --visualize-jumps=on -l
static void foo() asm("myfoo") __attribute__((section("mysect")));
static void foo() {}
static void bar() {}
const void* data[] = {
(void*)&foo,
(void*)&bar
};
struct Data {
void* mine;
unsigned int theirs;
@Trass3r
Trass3r / ObjSeqImport.py
Created July 23, 2022 11:39
Blender addon to import .obj files containing morph targets, based on https://gist.github.com/Marcus-Zhu/6e397f6b5d295ab87602a26aef0673a0
bl_info = {
"name": "Import OBJ with morph targets",
"author": "Trass3r",
"version": (1, 0, 0),
"blender": (3, 2, 0),
"location": "File > Import/Export",
"description": "Import OBJ with morph targets",
"doc_url": "",
"support": "COMMUNITY",
"category": "Import-Export",
<?xml version='1.0' encoding='UTF-8'?>
<com.jme3.scene.Node format_version='2' name='Root' savable_versions='0, 0'>
<lights class='com.jme3.light.LightList' savable_versions='0'>
<lights size='0'/>
</lights>
<overrides size='0'/>
<controlsList size='0'/>
<children size='1'>
<com.jme3.scene.Node name='Piranha_swim' reference_ID='com.jme3.scene.Node@1014984550' savable_versions='0, 0'>
<transform class='com.jme3.math.Transform' savable_versions='0'>