Skip to content

Commit

Permalink
Added the capability of looking up JIT symbols for perf
Browse files Browse the repository at this point in the history
Moved Oprofile Wrapper, implemented RegisterJITEventListener and NotifyFinalized

Added PerfJITEventListener as an LLVM Patch

Added IntelJITEventListener Support

Added LLVM Patch, removed redundant Oprofile code, wipe blanklines, Register OProfile JITEvent, fixed oprofile compile flag, rebased llvm 6.0 checksums

Added Perf profiling support as an LLVM patch.
  • Loading branch information
fisiognomico authored and vchuravy committed Jul 19, 2018
1 parent 6c47c24 commit 8d0fcdb
Show file tree
Hide file tree
Showing 10 changed files with 785 additions and 2 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Expand Up @@ -4,6 +4,7 @@
/dist-extras
/julia
/usr
/oprofile_data
/usr-staging
/Make.user
/julia-*
Expand All @@ -24,4 +25,5 @@
*.jl.mem
*.ji

/perf*
.DS_Store
9 changes: 9 additions & 0 deletions Make.inc
Expand Up @@ -72,6 +72,9 @@ endif
# Set to 1 to enable profiling with OProfile
USE_OPROFILE_JITEVENTS ?= 0

# Set to 1 to enable profiling with perf
USE_PERF_JITEVENTS ?= 0

# libc++ is standard on OS X 10.9, but not for earlier releases
USE_LIBCPP := 0

Expand Down Expand Up @@ -1067,6 +1070,12 @@ ifeq ($(DISABLE_LIBUNWIND), 1)
JCPPFLAGS += -DJL_DISABLE_LIBUNWIND
endif

# perf
ifeq ($(USE_PERF_JITEVENTS), 1)
JCPPFLAGS += -DJL_USE_PERF_JITEVENTS
endif


# Intel libraries

ifeq ($(USE_INTEL_LIBM), 1)
Expand Down
6 changes: 6 additions & 0 deletions deps/llvm.mk
Expand Up @@ -98,6 +98,10 @@ ifeq ($(USE_OPROFILE_JITEVENTS), 1)
LLVM_CMAKE += -DLLVM_USE_OPROFILE:BOOL=ON
endif # USE_OPROFILE_JITEVENTS

ifeq ($(USE_PERF_JITEVENTS), 1)
LLVM_CMAKE += -DLLVM_USE_PERF:BOOL=ON
endif # USE_PERF_JITEVENTS

ifeq ($(BUILD_LLDB),1)
ifeq ($(USECLANG),0)
LLVM_CXXFLAGS += -std=c++0x
Expand Down Expand Up @@ -494,6 +498,8 @@ $(eval $(call LLVM_PATCH,llvm-rL332302)) # remove for 7.0
$(eval $(call LLVM_PATCH,llvm-rL332694)) # remove for 7.0
$(eval $(call LLVM_PATCH,llvm-rL327898)) # remove for 7.0
$(eval $(call LLVM_PATCH,llvm-6.0-DISABLE_ABI_CHECKS))
$(eval $(call LLVM_PATCH,llvm-OProfile-line-num))
$(eval $(call LLVM_PATCH,llvm-D44892-Perf-integration))
endif # LLVM_VER

# Remove hardcoded OS X requirements in compilter-rt cmake build
Expand Down

0 comments on commit 8d0fcdb

Please sign in to comment.