이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 공급자에서 실행할 수 있는 bugpoint-3.5 명령입니다.
프로그램:
이름
bugpoint - 자동 테스트 케이스 축소 도구
개요
버그 포인트 [옵션] [입력 Llvm 일/BC 파일] [Llvm 패스] --인수 프로그램 인수
기술
버그 포인트 LLVM 도구 및 패스에서 문제의 원인을 좁힙니다. 그것은 사용할 수 있습니다
옵티마이저 충돌, 옵티마이저에 의한 잘못된 컴파일 또는 잘못된 오류의 세 가지 유형을 디버그합니다.
네이티브 코드 생성(정적 및 JIT 컴파일러의 문제 포함). 그것은 목표
큰 테스트 케이스를 작고 유용한 테스트 케이스로 줄이십시오. 디자인에 대한 더 자세한 정보와
내부 작동 버그 포인트, 버그 포인트 사용에 대한 조언은 다음을 참조하십시오.
llvm/docs/Bugpoint.html LLVM 배포판에서
옵션
--추가-그래서 도서관
동적 공유 객체 로드 도서관 테스트 프로그램이 실행될 때마다 이것
LLVM이 아닌 라이브러리(예:
X 또는 curses 라이브러리)를 실행합니다.
--추가 종료 코드={허위 사실}
테스트 프로그램 종료 코드를 출력 파일에 추가하여 종료 코드의 변경 사항이
테스트 실패로 간주됩니다. 기본값은 false입니다.
--인수 프로그램 인수
뒤에 지정된 모든 인수 전달 --인수 테스트 프로그램이 실행될 때마다. 메모
그 중 하나라도 프로그램 인수 "로 시작-", 다음을 사용해야 합니다.
버그 포인트 [버그 포인트 인수] --args -- [프로그램 인수]
"--" 직후 --인수 옵션 버그 포인트 시작하는 모든 옵션을 고려하기 위해
"-"의 일부가 되기 위해 --인수 옵션이 아닌 옵션 버그 포인트 자체.
--도구 인수 수단 인수
뒤에 지정된 모든 인수 전달 --도구 인수 테스트 중인 LLVM 도구(LLC, lli,
등) 실행될 때마다. 이 옵션은 다음과 같은 방식으로 사용해야 합니다.
버그 포인트 [버그 포인트 인수] --tool-args -- [도구 인수]
"--" 직후 --도구 인수 옵션 버그 포인트 모든 옵션을 고려하기 위해
로 시작 "-"의 일부가 되기 위해 --도구 인수 옵션이 아닌 옵션 버그 포인트
그 자체. (보다 --인수, 위에.)
--안전 도구 인수 수단 인수
뒤에 지정된 모든 인수 전달 --안전 도구 인수 "안전한" 실행 도구에.
--gcc-도구-인수 GCC 수단 인수
뒤에 지정된 모든 인수 전달 --gcc-도구-인수 의 호출에 GCC.
--opt-인수 고르다 인수
뒤에 지정된 모든 인수 전달 --opt-인수 의 호출에 고르다.
--disable-{dce,simplifycfg}
테스트 프로그램의 크기를 정리하고 줄이기 위해 지정된 패스를 실행하지 마십시오. 에 의해
기본 버그 포인트 테스트 프로그램을 줄이려고 할 때 내부적으로 이러한 패스를 사용합니다.
이 패스 중 하나에서 버그를 찾으려면 버그 포인트 충돌할 수 있습니다.
--활성화-valgrind
valgrind를 사용하여 최적화 단계에서 결함을 찾습니다. 그러면 버그 포인트가 찾을 수 있습니다.
그렇지 않으면 잘못된 메모리 관리로 인한 무증상 문제.
-버그 찾기
지정된 패스를 지속적으로 무작위화하고 버그가 발생할 때까지 테스트 프로그램에서 실행합니다.
발견되거나 사용자가 죽입니다. 버그 포인트.
-도움
명령줄 옵션의 요약을 인쇄합니다.
--입력 파일 이름
엽니다 파일 이름 테스트 프로그램의 표준 입력을 실행할 때마다 다음으로 리디렉션합니다.
해당 파일에서 가져옵니다.
--짐 플러그인
동적 개체 로드 플러그인 으로 버그 포인트 그 자체. 이 개체는 새로 등록해야 합니다.
최적화 통과. 로드되면 개체가 새 명령줄 옵션을 추가합니다.
다양한 최적화를 가능하게 합니다. 최적화의 새로운 전체 목록을 보려면 다음을 사용하십시오.
-도움 및 --짐 함께 옵션; 예를 들어:
버그 포인트 --load myNewPass.so -help
--mlimit 메가 바이트
최적화 및 codegen의 메모리 사용량에 대한 상한을 지정합니다. XNUMX으로 설정
제한을 비활성화합니다.
--산출 파일 이름
테스트 프로그램이 표준 출력 스트림에서 출력을 생성할 때마다
의 내용을 일치시키다 파일 이름 ("참조 출력"). 이 옵션을 사용하지 않으면
버그 포인트 프로그램을 컴파일하여 참조 출력을 생성하려고 시도합니다.
"안전한" 백엔드 및 실행.
--run-{int,jit,llc, 사용자 정의}
테스트 프로그램이 컴파일될 때마다, 버그 포인트 를 사용하여 코드를 생성해야 합니다.
지정된 코드 생성기. 이 옵션을 사용하면 통역사 JIT를 선택할 수 있습니다.
컴파일러, 정적 네이티브 코드 컴파일러 또는 사용자 지정 명령(참조 --exec-명령)
각각.
--safe-{llc, 사용자 지정}
코드 생성기를 디버깅할 때, 버그 포인트 지정된 코드 생성기를 다음과 같이 사용해야 합니다.
"안전한" 코드 생성기. 다음을 생성하는 데 사용되는 정상 작동이 확인된 코드 생성기입니다.
"참조 출력"이 제공되지 않은 경우 프로그램의 일부를 컴파일합니다.
테스트 케이스에서 제외되기 때문입니다. 이 옵션을 사용하면
정적 네이티브 코드 컴파일러 또는 사용자 지정 명령(참조 --exec-명령) 각각.
인터프리터와 JIT 백엔드는 현재 "안전한" 백엔드로 사용할 수 없습니다.
--exec-명령 명령
이 옵션은 다음과 함께 사용할 명령을 정의합니다. --run-커스텀 및 --안전한 사용자 정의 옵션
비트 코드 테스트 케이스를 실행합니다. 이것은 크로스 컴파일에 유용할 수 있습니다.
--컴파일 명령 명령
이 옵션은 다음과 함께 사용할 명령을 정의합니다. --컴파일 커스텀 컴파일 옵션
비트코드 테스트 케이스. 이것은 실행하지 않고 컴파일러 출력을 테스트하는 데 유용할 수 있습니다.
단계를 연결하거나 실행합니다. 축소된 단위 테스트를 생성하려면 CHECK 지시문을 추가할 수 있습니다.
테스트 케이스에 다음 형식으로 실행 가능한 컴파일 명령 스크립트의 이름을 전달합니다.
#!/ 빈 / SH
llc "$@"
not FileCheck [버그 포인트 입력 파일].ll < bugpoint-test-program.s
이 스크립트는 FileCheck가 통과하는 한 "실패"합니다. 따라서 결과는 최소가 될 것입니다.
FileCheck를 통과하는 비트코드.
--안전 경로 통로
이 옵션은 다음과 같이 실행할 명령의 경로를 정의합니다.
--safe-{int,jit,llc, 사용자 지정} 옵션을 선택합니다.
EXIT 지위
If 버그 포인트 문제를 찾는 데 성공하면 0으로 종료됩니다. 그렇지 않으면 오류가 발생하면
발생하면 XNUMX이 아닌 값으로 종료됩니다.
onworks.net 서비스를 사용하여 bugpoint-3.5 온라인 사용