Skip to content

Instantly share code, notes, and snippets.

Avatar

Nick Desaulniers nickdesaulniers

View GitHub Profile
View foo.diff
diff --git a/llvm/include/llvm/IR/Intrinsics.td b/llvm/include/llvm/IR/Intrinsics.td
index 475685d0857d..6090dee6f769 100644
--- a/llvm/include/llvm/IR/Intrinsics.td
+++ b/llvm/include/llvm/IR/Intrinsics.td
@@ -622,7 +622,8 @@ def int_call_preallocated_teardown : DefaultAttrsIntrinsic<[], [llvm_token_ty]>;
// This intrinsic is intentionally undocumented and users shouldn't call it;
// it's produced then quickly consumed during codegen.
-def int_callbr_landingpad : Intrinsic<[llvm_any_ty], [], [IntrNoMerge]>;
+def int_callbr_landingpad : Intrinsic<[llvm_any_ty], [LLVMMatchType<0>],
@nickdesaulniers
nickdesaulniers / 0.sh
Created Jun 22, 2022
perf report of clang with no input
View 0.sh
perf record -e cycles:pp --call-graph lbr -- clang -Wfoo -c -x c /dev/null
perf report --no-children --sort=dso,symbol --total-cycles
View foo.diff
diff --git a/init/Kconfig b/init/Kconfig
index e9119bf54b1f..fce97bfbe452 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -153,7 +153,7 @@ config WERROR
config UAPI_HEADER_TEST
bool "Compile test UAPI headers"
- depends on HEADERS_INSTALL && CC_CAN_LINK
+ depends on HEADERS_INSTALL
View clang13.diff
--- slab.before.clang.txt 2022-02-14 14:40:46.324688583 -0800
+++ slab.after.clang.bad.txt 2022-02-14 15:05:43.610957545 -0800
@@ -5,64 +5,57 @@
Disassembly of section .text:
<kmem_cache_free>:
+ push %rbp
+ mov %rsp,%rbp
push %r15
push %r14
View clang.diff
--- slab.before.clang.txt 2022-02-14 14:40:46.324688583 -0800
+++ slab.after.clang.txt 2022-02-14 14:40:27.824562293 -0800
@@ -8,61 +8,51 @@
push %r15
push %r14
push %rbx
- sub $0x10,%rsp
- mov %gs:0x28,%rax
- mov %rax,0x8(%rsp)
test %rdi,%rdi
View test.sh
#!/usr/bin/env sh
function pretty_print() {
printf "%b%s\033[0m" "${1}" "${2}"
shift 2
while ((${#})); do
printf "%b" "${1}"
shift
done
printf '\n'
View foo.diff
diff --git a/kernel/panic.c b/kernel/panic.c
index cefd7d82366f..f664d9682668 100644
--- a/kernel/panic.c
+++ b/kernel/panic.c
@@ -681,10 +681,11 @@ device_initcall(register_warn_debugfs);
*/
__visible noinstr void __stack_chk_fail(void)
{
- instrumentation_begin();
+begin:
View patch.diff
diff --git a/arch/x86/include/asm/bug.h b/arch/x86/include/asm/bug.h
index 84b87538a15d..6e3433c64eae 100644
--- a/arch/x86/include/asm/bug.h
+++ b/arch/x86/include/asm/bug.h
@@ -22,7 +22,7 @@
#ifdef CONFIG_DEBUG_BUGVERBOSE
-#define _BUG_FLAGS(ins, flags) \
+#define _BUG_FLAGS(ins, flags, extra) \
View mc-request.i
typedef unsigned short __u16;
typedef __u16 u16;
enum { false, true };
typedef _Bool bool;
typedef struct qspinlock {
struct {
struct {
u16 tail;
};
};
View gist:303ef9f42bd6e338b26702c65b5aa5ed
diff --git a/arch/x86/include/asm/bug.h b/arch/x86/include/asm/bug.h
index 84b87538a15d..92acef97d8ed 100644
--- a/arch/x86/include/asm/bug.h
+++ b/arch/x86/include/asm/bug.h
@@ -75,9 +75,11 @@ do { \
*/
#define __WARN_FLAGS(flags) \
do { \
+ __label__ reachable; \
instrumentation_begin(); \