- Jun 20, 2012
-
-
Bill Wendling authored
llvm-svn: 158786
-
Nick Kledzik authored
Add permissions(), map_file_pages(), and unmap_file_pages() to llvm::sys::fs and add unit test. Unix is implemented. Windows side needs to be implemented. llvm-svn: 158770
-
Kaelyn Uhrain authored
llvm::RawMemoryObject handles empty ranges just fine, and the assert can be triggered in the wild by e.g. invoking clang with a file that included an empty pre-compiled header file when clang has been built with assertions enabled. Without assertions enabled, clang will properly report that the empty file is not a valid PCH. llvm-svn: 158769
-
Jakob Stoklund Olesen authored
When LiveIntervals is tracking fixed interference in regunits, make sure to update those intervals as well. Currently guarded by -live-regunits. llvm-svn: 158766
-
Bill Wendling authored
llvm-svn: 158764
-
Chad Rosier authored
llvm-svn: 158762
-
Chad Rosier authored
ensureAlignment() in MachineFunction). Also, drop setMaxAlignment() in favor of this new function. This creates a main entry point to setting MaxAlignment, which will be helpful for future work. No functionality change intended. llvm-svn: 158758
-
Lang Hames authored
This patch adds DAG combines to form FMAs from pairs of FADD + FMUL or FSUB + FMUL. The combines are performed when: (a) Either AllowExcessFPPrecision option (-enable-excess-fp-precision for llc) OR UnsafeFPMath option (-enable-unsafe-fp-math) are set, and (b) TargetLoweringInfo::isFMAFasterThanMulAndAdd(VT) is true for the type of the FADD/FSUB, and (c) The FMUL only has one user (the FADD/FSUB). If your target has fast FMA instructions you can make use of these combines by overriding TargetLoweringInfo::isFMAFasterThanMulAndAdd(VT) to return true for types supported by your FMA instruction, and adding patterns to match ISD::FMA to your FMA instructions. llvm-svn: 158757
-
Jakob Stoklund Olesen authored
llvm-svn: 158755
-
Chad Rosier authored
llvm-svn: 158754
-
Bill Wendling authored
llvm-svn: 158753
-
Bill Wendling authored
llvm-svn: 158752
-
- Jun 19, 2012
-
-
Jakob Stoklund Olesen authored
The test was failing on Linux because of asm syntax differences. llvm-svn: 158748
-
Jakob Stoklund Olesen authored
The PPC::EXTSW instruction preserves the low 32 bits of its input, just like some of the x86 instructions. Use it to reduce register pressure when the low 32 bits have multiple uses. This requires a small change to PeepholeOptimizer since EXTSW takes a 64-bit input register. This is related to PR5997. llvm-svn: 158743
-
Jakob Stoklund Olesen authored
No functional change. llvm-svn: 158742
-
Marshall Clow authored
llvm-svn: 158730
-
Bill Wendling authored
llvm-svn: 158728
-
Bill Wendling authored
llvm-svn: 158726
-
Chandler Carruth authored
StringMap suffered from the same bug as DenseMap: when you explicitly construct it with a small number of buckets, you can arrange for the tombstone-based growth path to be followed when the number of buckets was less than '8'. In that case, even with a full map, it would compare '0' as not less than '0', and refuse to grow the table, leading to inf-loops trying to find an empty bucket on the next insertion. The fix is very simple: use '<=' as the comparison. The same fix was applied to DenseMap as well during its recent refactoring. Thanks to Alex Bolz for the great report and test case. =] llvm-svn: 158725
-
Chandler Carruth authored
GoogleTest already prints errors with all the information about which test case contained the error. llvm-svn: 158724
-
Benjamin Kramer authored
Should silence warnings when compiling the X86 disassembler. llvm-svn: 158723
-
Jan Wen Voung authored
The condition code didn't actually matter for arm "b" instructions, unlike "bl". It should just use the R_ARM_JUMP24 reloc. llvm-svn: 158722
-
Hal Finkel authored
For processors with the G5-like instruction-grouping scheme, this helps avoid early group termination due to a write-after-write dependency within the group. It should also help on pipelined embedded cores. On POWER7, over the test suite, this gives an average 0.5% speedup. The largest speedups are: SingleSource/Benchmarks/Stanford/Quicksort - 33% MultiSource/Applications/d/make_dparser - 21% MultiSource/Benchmarks/FreeBench/analyzer/analyzer - 12% MultiSource/Benchmarks/MiBench/telecomm-FFT/telecomm-fft - 12% Largest slowdowns: SingleSource/Benchmarks/Stanford/Bubblesort - 23% MultiSource/Benchmarks/Prolangs-C++/city/city - 21% MultiSource/Benchmarks/BitBench/uuencode/uuencode - 16% MultiSource/Benchmarks/mediabench/mpeg2/mpeg2dec/mpeg2decode - 13% llvm-svn: 158719
-
Aaron Ballman authored
llvm-svn: 158718
-
Bill Wendling authored
llvm-svn: 158715
-
Bill Wendling authored
llvm-svn: 158714
-
Bill Wendling authored
llvm-svn: 158713
-
Bill Wendling authored
llvm-svn: 158712
-
Bill Wendling authored
llvm-svn: 158711
-
Bill Wendling authored
llvm-svn: 158709
-
Michael J. Spencer authored
llvm-svn: 158704
-
Akira Hatanaka authored
llvm-svn: 158702
-
Akira Hatanaka authored
MipsCodeEmitter.cpp. llvm-svn: 158701
-
Hal Finkel authored
PPC will now generate STWUX and friends. llvm-svn: 158698
-
Rafael Espindola authored
llvm-svn: 158696
-
Rafael Espindola authored
llvm-svn: 158695
-
Rafael Espindola authored
TargetLoweringObjectFileELF. Use this to support it on X86. Unlike ARM, on X86 it is not easy to find out if .init_array should be used or not, so the decision is made via TargetOptions and defaults to off. Add a command line option to llc that enables it. llvm-svn: 158692
-
Nuno Lopes authored
revert r158660, since Chris has some issues with this patch (namely using code to reprent information only used by the compiler) Original commit msg: add the 'alloc' metadata node to represent the size of offset of buffers pointed to by pointers. This metadata can be attached to any instruction returning a pointer llvm-svn: 158688
-
David Blaikie authored
Based on review discussion of r158638 with Chandler Carruth, Tobias von Koch, and Duncan Sands and a -Wmaybe-uninitialized warning from GCC. llvm-svn: 158685
-
Manman Ren authored
This change is to be enabled in clang. rdar://9877866 llvm-svn: 158684
-