| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
options.
llvm-svn: 208834
|
|
|
|
|
|
|
|
| |
Large is CodeModel::Model::Large, not CodeModel::Model::Medium. Thanks to
majnemer for pointing out the typo! Its unclear how to test the mapped value in
the compiler, the tests already cover the driver side.
llvm-svn: 208335
|
|
|
|
|
|
|
|
|
|
|
| |
This addresses an existing FIXME item in the driver. The code model flag was
parsed in the actual tool rather than in the driver. This was problematic since
the value may be invalid. In that case, we would silently treat it as a default
value in non-assert builds, and abort in assert builds. Add a check in the
driver to validate that the value being passed is valid, and if not provide a
proper error message.
llvm-svn: 208275
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After this patch clang will ignore -fdwarf2-cfi-asm and -ffno-dwarf2-cfi-asm and
always print assembly that uses cfi directives.
In llvm, MC itself supports cfi since the end of 2010 (support started
in r119972, is reported in the 2.9 release notes).
In binutils the support has been around for much longer. It looks like
support started to be added in May 2003. It is available in 2.15
(31-Aug-2011, 2.14 is from 12-Jun-2003).
llvm-svn: 207602
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The frontend option -fno-optimize-sibling-calls resolves to -cc1's
-mdisable-tail-calls, which is passed to the TargetMachine in the
backend. PassManagerBuilder was adding the -tailcallelim pass anyway.
Use a new DisableTailCalls option in PassManagerBuilder to disable tail
calls harder.
Requires the matching commit in LLVM that adds DisableTailCalls.
<rdar://problem/16050591>
llvm-svn: 206543
|
|
|
|
|
|
|
|
|
| |
This is paired with a patch to LLVM that creates a separate pass for
verifying debug info.
<rdar://problem/15500563>
llvm-svn: 206301
|
|
|
|
|
|
| |
Patch by Alex Crichton!
llvm-svn: 205998
|
|
|
|
|
|
| |
Also, while I'm here, support -nocompress-debug-sections too.
llvm-svn: 204959
|
|
|
|
|
|
| |
Follow-up on LLVM r203669
llvm-svn: 203673
|
|
|
|
| |
llvm-svn: 203389
|
|
|
|
|
|
| |
This compiles cleanly with lldb/lld/clang-tools-extra/llvm.
llvm-svn: 203279
|
|
|
|
|
|
| |
This is a precursor to moving to std::unique_ptr.
llvm-svn: 203275
|
|
|
|
|
|
|
| |
This needs to modify a line table test to account for the new lexical
block created to hold the new discriminator value.
llvm-svn: 202754
|
|
|
|
|
|
| |
Allows removing #include's in LLVM while switching to std::unique_ptr.
llvm-svn: 202677
|
|
|
|
| |
llvm-svn: 202170
|
|
|
|
| |
llvm-svn: 201837
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
flag from clang, and disable zero-base shadow support on all platforms
where it is not the default behavior.
- It is completely unused, as far as we know.
- It is ABI-incompatible with non-zero-base shadow, which means all
objects in a process must be built with the same setting. Failing to
do so results in a segmentation fault at runtime.
- It introduces a backward dependency of compiler-rt on user code,
which is uncommon and complicates testing.
This is the Clang part of a larger change.
llvm-svn: 199372
|
|
|
|
|
|
| |
IR library in LLVM r199082.
llvm-svn: 199083
|
|
|
|
|
|
| |
added in LLVM r199078.
llvm-svn: 199079
|
|
|
|
|
|
| |
update in LLVM r199044.
llvm-svn: 199045
|
|
|
|
| |
llvm-svn: 199042
|
|
|
|
| |
llvm-svn: 198689
|
|
|
|
|
|
|
| |
The backend string is only verified when available as it's possible to run
clang IRGen for targets that haven't been built or don't exist in LLVM.
llvm-svn: 198309
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
--disable-free mode
Summary:
This is an alternative to http://llvm-reviews.chandlerc.com/D2475
suggested by Chandler.
Reviewers: chandlerc, rnk, dblaikie
CC: cfe-commits, earthdok
Differential Revision: http://llvm-reviews.chandlerc.com/D2478
llvm-svn: 198073
|
|
|
|
|
|
| |
Cleanup in preparation for enhanced DataLayout checking.
llvm-svn: 197832
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds -freroll-loops (and -fno-reroll-loops in the usual way) to enable
loop rerolling as part of the optimization pass manager. This transformation
can enable vectorization, reduce code size (or both).
Briefly, loop rerolling can transform a loop like this:
for (int i = 0; i < 3200; i += 5) {
a[i] += alpha * b[i];
a[i + 1] += alpha * b[i + 1];
a[i + 2] += alpha * b[i + 2];
a[i + 3] += alpha * b[i + 3];
a[i + 4] += alpha * b[i + 4];
}
into this:
for (int i = 0; i < 3200; ++i) {
a[i] += alpha * b[i];
}
Loop rerolling is currently disabled by default at all optimization levels.
llvm-svn: 194967
|
|
|
|
|
|
|
|
| |
This adds a new option -fprofile-sample-use=filename to Clang. It
tells the driver to schedule the SampleProfileLoader pass and passes
on the name of the profile file to use.
llvm-svn: 194567
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
check using the ubsan runtime) and -fsanitize=local-bounds (for the middle-end
check which inserts traps).
Remove -fsanitize=local-bounds from -fsanitize=undefined. It does not produce
useful diagnostics and has false positives (PR17635), and is not a good
compromise position between UBSan's checks and ASan's checks.
Map -fbounds-checking to -fsanitize=local-bounds to restore Clang's historical
behavior for that flag.
llvm-svn: 193205
|
|
|
|
|
|
|
|
| |
Also add some documentation.
Differential Revision: http://llvm-reviews.chandlerc.com/D1346
llvm-svn: 188403
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
DataFlowSanitizer is a generalised dynamic data flow analysis.
Unlike other Sanitizer tools, this tool is not designed to detect a
specific class of bugs on its own. Instead, it provides a generic
dynamic data flow analysis framework to be used by clients to help
detect application-specific issues within their own code.
Differential Revision: http://llvm-reviews.chandlerc.com/D966
llvm-svn: 187925
|
|
|
|
| |
llvm-svn: 187617
|
|
|
|
| |
llvm-svn: 187092
|
|
|
|
|
|
| |
instead of making it a target option.
llvm-svn: 186218
|
|
|
|
|
|
| |
usage of clang as a library.
llvm-svn: 184812
|
|
|
|
|
|
| |
given -disable-free. (Reviewed by John McCall over IRC.)
llvm-svn: 184595
|
|
|
|
|
|
|
|
|
|
| |
The simplify-libcalls pass has been removed from LLVM. Thus
'PMBuilder.DisableSimplifyLibCalls' does not exist anymore.
The disabling/enabling of library call simplifications is
done through the TargetLibraryInfo which is already wired
up in Clang.
llvm-svn: 184458
|
|
|
|
|
|
|
|
|
| |
support.
Caveat: Other than the existing segmented stacks support, no
claims are made of this working.
llvm-svn: 178744
|
|
|
|
|
|
|
| |
backend output; there's no need to report a fatal error. This reverts r178042.
Part of rdar://13295753 and rdar://13401547
llvm-svn: 178102
|
|
|
|
|
|
|
| |
machine and one is required.
Part of rdar://13295753
llvm-svn: 178042
|
|
|
|
|
|
|
|
|
|
| |
emit function names in .gcda files by default, and the flag turns that off!
Rename the flag to make it match what it actually does. This keeps the default
format compatible with gcc 4.2.
Also add a test for this flag.
llvm-svn: 177475
|
|
|
|
|
|
|
| |
is enabled. Also add a new -test-coverage cc1 flag which makes testing coverage
possible and add our first clang-side coverage test.
llvm-svn: 177470
|
|
|
|
|
|
| |
functionality change.
llvm-svn: 177004
|
|
|
|
| |
llvm-svn: 176619
|
|
|
|
| |
llvm-svn: 176174
|
|
|
|
|
|
|
|
|
|
|
|
| |
MSan instrumentation is driven by the original code. We take every
incoming instruction and emit another instruction (or ten) next to
it, operating on the shadow values (but sometimes on the real values,
too). Two programs in one, essentially. There can be any kinds of
redundancies in the second one, so we just run whatever is normally
run at -O2, and then exclude some passes that do not help much with
benchmarks.
llvm-svn: 174049
|
|
|
|
|
|
| |
declaration header, we need to include the declaration header alongside Scalar.h in BackendUtil.
llvm-svn: 173648
|
|
|
|
|
|
| |
AddressSanitizer use bottom of the address space for the shadow memory. On Linux it can be used with -fPIE/-pie to improve performance.
llvm-svn: 172974
|
|
|
|
| |
llvm-svn: 172808
|
|
|
|
|
|
| |
rather than doing it ourselves. This reflects the API changes in r171681.
llvm-svn: 171683
|
|
|
|
|
|
| |
passes to a create-pass function instead of a direct constructor call.
llvm-svn: 171622
|