llvm with tablegen backend for capstone disassembler
Go to file
Joseph Huber ef169f5707
[libc] Improve the implementation of the rand() function (#66131)
Summary:
This patch improves the implementation of the standard `rand()` function
by implementing it in terms of the xorshift64star pRNG as described in
https://en.wikipedia.org/wiki/Xorshift#xorshift*. This is a good,
general purpose random number generator that is sufficient for most
applications that do not require an extremely long period. This patch
also correctly initializes the seed to be `1` as described by the
standard. We also increase the `RAND_MAX` value to be `INT_MAX` as the
standard only specifies that it can be larger than 32768.
2023-09-12 16:52:20 -05:00
.ci [ci] escape artifacts paths 2023-09-12 12:12:52 +02:00
.github [NFC] Sort debuginfo paths prior to updating the list (#66140) 2023-09-12 13:47:29 -07:00
bolt [BOLT] Fix AutoFDO output format after D154120 2023-09-12 13:58:25 -07:00
clang Fix NATVIS visualization of ActionResult 2023-09-12 17:00:38 -04:00
clang-tools-extra [include-cleaner] Fix handling of enums in presence of qualifiers (#65952) 2023-09-11 19:21:02 +02:00
cmake [CMake] Switch the CMP0091 policy (MSVC_RUNTIME_LIBRARY) to the new behaviour 2023-07-17 09:59:05 +03:00
compiler-rt [sanitizer] Remove SYMBOLIZER_DEPS from symbolizer 2023-09-12 13:11:52 -07:00
cross-project-tests Fix Dexter test after 37a20cc68f. Adding the XFAIL line caused the line references to be off. 2023-09-08 23:34:54 -07:00
flang [flang] Cray pointer in module (#66119) 2023-09-12 16:51:43 -04:00
libc [libc] Improve the implementation of the rand() function (#66131) 2023-09-12 16:52:20 -05:00
libclc libclc: Fix signed integer underflow in abs_diff 2023-08-31 14:28:16 +01:00
libcxx [libc++][NFC] Remove stray #if 1 that was probably a debugging leftover 2023-09-12 17:19:28 -04:00
libcxxabi [libc++][test] Add '-Wdeprecated-copy', '-Wdeprecated-copy-dtor' warnings to the test suite 2023-09-12 08:53:38 -04:00
libunwind [libunwind] Use __builtin_alloca to avoid missing include 2023-09-12 14:00:03 -04:00
lld Revert "[AMDGPU] Make default AMDHSA Code Object Version to be 5 (#65410)" (#66060) 2023-09-12 15:13:59 +05:30
lldb [lldb] Format more Python files with black (#65979) 2023-09-12 08:46:34 +01:00
llvm [AMDGPU] Fix a warning 2023-09-12 14:02:07 -07:00
llvm-libgcc [llvm-libgcc] Don't export __{,de}register_frame_info* and __register_frame_table 2023-08-23 13:00:36 -07:00
mlir [mlir][spirv] Fix remaining coop matrix verification corner cases (#66137) 2023-09-12 17:04:03 -04:00
openmp [OpenMP] Remove optimization skipping reduction struct initialization (#65697) 2023-09-12 16:09:16 -05:00
polly Bug fix for multi-line labels in CFG dot graph 2023-09-05 22:01:51 -07:00
pstl Clear release notes for 18.x 2023-07-25 13:58:49 +02:00
runtimes Reland "[CMake] Bumps minimum version to 3.20.0. 2023-05-27 12:51:21 +02:00
third-party Revert "Update GoogleTest to v1.14.0 (#65823)" 2023-09-12 11:44:13 -07:00
utils [libc] Add is_object (#65749) 2023-09-12 10:35:22 +02:00
.arcconfig
.arclint
.clang-format
.clang-tidy Add -misc-use-anonymous-namespace to .clang-tidy 2023-05-06 02:33:20 +03:00
.git-blame-ignore-revs Revert "[mlir][spirv] Add D155747 to .git-blame-ignore-revs" 2023-07-21 10:59:16 -04:00
.gitignore Revert accidental .gitignore change from 9b7763821a 2023-09-07 22:42:05 -07:00
.mailmap Add entry to mailmap 2023-04-25 23:15:07 -07:00
CODE_OF_CONDUCT.md [llvm] Add CODE_OF_CONDUCT.md (#65816) 2023-09-09 10:55:31 -07:00
CONTRIBUTING.md Update CONTRIBUTING.md to remove the not about not accepting PR 2023-09-10 15:21:06 -07:00
LICENSE.TXT [docs] Add LICENSE.txt to the root of the mono-repo 2022-08-24 09:35:00 +02:00
README.md [docs] Update README and GettingStarted 2023-03-08 12:55:59 -08:00
SECURITY.md

The LLVM Compiler Infrastructure

Welcome to the LLVM project!

This repository contains the source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and run-time environments.

The LLVM project has multiple components. The core of the project is itself called "LLVM". This contains all of the tools, libraries, and header files needed to process intermediate representations and convert them into object files. Tools include an assembler, disassembler, bitcode analyzer, and bitcode optimizer.

C-like languages use the Clang frontend. This component compiles C, C++, Objective-C, and Objective-C++ code into LLVM bitcode -- and from there into object files, using LLVM.

Other components include: the libc++ C++ standard library, the LLD linker, and more.

Getting the Source Code and Building LLVM

Consult the Getting Started with LLVM page for information on building and running LLVM.

For information on how to contribute to the LLVM project, please take a look at the Contributing to LLVM guide.

Getting in touch

Join the LLVM Discourse forums, Discord chat, or #llvm IRC channel on OFTC.

The LLVM project has adopted a code of conduct for participants to all modes of communication within the project.