Commit Graph

86803 Commits

Author SHA1 Message Date
Ulrich Weigand e5f9405842 Never use .lcomm on platforms where it does not accept an alignment
argument.  Instead, use a pair of .local and .comm directives.

This avoids spurious differences between binaries built by the
integrated assembler vs. those built by the external assembler,
since the external assembler may impose alignment requirements
on .lcomm symbols where the integrated assembler does not.

llvm-svn: 168704
2012-11-27 16:11:16 +00:00
Meador Inge 4ae8b684f5 Move sprintf simplifier tests to test/Transforms/InstCombine
The tests from SPrintF.ll should have been migrated to sprintf-1.ll in
r168677, but I forgot to do it.

llvm-svn: 168702
2012-11-27 15:35:58 +00:00
Bill Wendling ee5984df39 Remove the dependent libraries feature.
The dependent libraries feature was never used and has bit-rotted. Remove it.

llvm-svn: 168694
2012-11-27 09:55:56 +00:00
NAKAMURA Takumi 96c39f733f llvm/test/Transforms/SimplifyLibCalls: FileCheck-ize 3 tests.
llvm-svn: 168691
2012-11-27 08:18:23 +00:00
NAKAMURA Takumi 62be55783d llvm/test/Transforms/SimplifyLibCalls/SPrintF.ll: Handle @sprintf() with -instcombine, not -simplify-libcalls.
llvm-svn: 168690
2012-11-27 08:18:15 +00:00
NAKAMURA Takumi eb42eebee8 llvm/test/Transforms/SimplifyLibCalls/SPrintF.ll: Fix datalayout since r168516.
llvm-svn: 168689
2012-11-27 08:18:08 +00:00
NAKAMURA Takumi fc2bdccfcd Trailing linefeeds.
llvm-svn: 168688
2012-11-27 08:17:58 +00:00
Craig Topper 32313da57c Revert accidental commit.
llvm-svn: 168687
2012-11-27 08:17:04 +00:00
Craig Topper b9773650ec Make PrintReg constructor explicit to prevent weird implicit conversions from accidentally being triggered.
llvm-svn: 168686
2012-11-27 08:14:24 +00:00
Craig Topper c04bc07ad5 Add ENABLE_CXX11 and ENABLE_WERROR to Makefile.llvm.rules for sample project. They were previously added to Makefile.llvm.config.in but the consumption was missing
llvm-svn: 168685
2012-11-27 08:12:24 +00:00
Dmitry Vyukov a878e74351 tsan: instrument atomic nand operation
llvm-svn: 168684
2012-11-27 08:09:25 +00:00
Craig Topper 7c0f9a6461 Add test cases for r168417.
llvm-svn: 168681
2012-11-27 07:19:54 +00:00
Eric Christopher 6e20a16829 Revert rearrangement of debug info sections to unblock the bots
and O0 + debug codegen.

llvm-svn: 168680
2012-11-27 06:49:23 +00:00
NAKAMURA Takumi 5f7c2d80d8 test/Transforms/SimplifyLibCalls/SPrintF.ll: Suppress this for now. r168677 unveiled another failure.
FYI, this test makes no sense with "not grep"... I saw "assertion failure" in stderr.

llvm-svn: 168679
2012-11-27 06:42:48 +00:00
Preston Briggs 1084fa2ef2 Modify depends(Src, Dst, PossiblyLoopIndependent).
If the Src and Dst are the same instruction,
no loop-independent dependence is possible,
so we force the PossiblyLoopIndependent flag to false.

The test case results are updated appropriately.

llvm-svn: 168678
2012-11-27 06:41:46 +00:00
Meador Inge 25c9b3b6e4 instcombine: Migrate sprintf optimizations
This patch migrates the sprintf optimizations from the simplify-libcalls
pass into the instcombine library call simplifier.

llvm-svn: 168677
2012-11-27 05:57:54 +00:00
Jakub Staszak 8262b885da Remove unneeded #include.
llvm-svn: 168670
2012-11-27 02:00:27 +00:00
Eric Christopher 710c374dfe The section is .debug_line.
llvm-svn: 168666
2012-11-27 01:40:36 +00:00
Andrew Kaylor c5feb5109e Make building of llvm-jitlistener conditional on the USE_INTEL_JITEVENTS setting.
llvm-svn: 168665
2012-11-27 01:24:25 +00:00
Jakub Staszak 508888e446 Remove unneeded #include.
llvm-svn: 168664
2012-11-27 01:22:15 +00:00
NAKAMURA Takumi 2e4a30709d llvm/CodeGen: Remove empty files in r168659.
llvm-svn: 168663
2012-11-27 01:21:50 +00:00
Joe Abbey ac997e963f Code pretification
llvm-svn: 168661
2012-11-27 01:20:22 +00:00
Jakub Staszak 08a28d248f Remove unused forward declaration.
llvm-svn: 168660
2012-11-27 01:16:37 +00:00
Jakub Staszak 0820b2a360 Remove unused MachineLoopRanges analysis.
llvm-svn: 168659
2012-11-27 01:14:34 +00:00
Chad Rosier 69fb6ddc6e Extend test case for r168657.
llvm-svn: 168658
2012-11-27 01:10:48 +00:00
Chad Rosier 2e82ad12a6 [arm fast-isel] Appease the machine verifier by using the proper register
classes.  The associated test case still doesn't pass, but it does have far
fewer issues.
rdar://12719844

llvm-svn: 168657
2012-11-27 01:06:49 +00:00
Michael Ilseman 6cdacff2d0 Fast-math test for SimplifyInstruction: fold multiply by 0
Applied the patch, rather than committing it.

llvm-svn: 168656
2012-11-27 01:00:22 +00:00
Owen Anderson 1db12f5135 Revert r168635 "Step towards implementation of pass manager with doInitialization and doFinalization per module detangled from runOn?? calls, still has temporary code not to break ASAN to be removed when that pass conforms to the proposed model".
It appears to have broken at least one buildbot.

llvm-svn: 168654
2012-11-27 00:53:24 +00:00
Richard Smith 8ec03f5b54 Remove some Clang-specific ownership roles.
llvm-svn: 168653
2012-11-27 00:48:36 +00:00
Michael Ilseman f7512cfc25 Fast-math flags documentation added to LangRef
llvm-svn: 168652
2012-11-27 00:48:29 +00:00
NAKAMURA Takumi ec844dab8f llvm/test/CodeGen/X86/2012-07-15-broadcastfold.ll: Loosen expression corresponding to r168627. Win32 and *bsd were affected.
llvm-svn: 168651
2012-11-27 00:48:27 +00:00
Michael Ilseman 16db61238d Fast-math test for SimplifyInstruction: fold multiply by 0
llvm-svn: 168649
2012-11-27 00:47:20 +00:00
Michael Ilseman be9137a5c5 Fast-math optimization: fold multiply by zero
Added in first optimization using fast-math flags to serve as an example for following optimizations. SimplifyInstruction will now try to optimize an fmul observing its FastMathFlags to see if it can fold multiply by zero when 'nnan' and 'nsz' flags are set.

llvm-svn: 168648
2012-11-27 00:46:26 +00:00
Michael Ilseman c537743984 Fast-math test case for bitcode and textual reading/writing
llvm-svn: 168647
2012-11-27 00:45:08 +00:00
Michael Ilseman 9978d7e9e5 Fast-math flags for the bitcode
Added in bitcode enum for the serializing of fast-math flags. Added in the reading/writing of fast-math flags from the OptimizationFlags record for BinaryOps.

llvm-svn: 168646
2012-11-27 00:43:38 +00:00
Michael Ilseman 9205317bc3 Fast-math flags for LLVM IR parsing and printing
Added in the ability to read LLVM IR text that contains fast-math flags as a sequence of capital letters separated by spaces in any order. Added in the printing of the fast-math flags in a canonical order, and don't print the other flags when 'fast' is specified, as 'fast' implies all the others.

llvm-svn: 168645
2012-11-27 00:42:44 +00:00
Eric Christopher 69e328e5bd Make comment names match function names.
llvm-svn: 168644
2012-11-27 00:41:57 +00:00
Eric Christopher 4c9b119d64 Add in sections for the fission case (no change so incorrect) and
add a TODO for starting.

llvm-svn: 168643
2012-11-27 00:41:54 +00:00
Michael Ilseman 149209ec4c Fast-math interfaces for Instructions
Add in getter/setter methods for Instructions, allowing them to be the interface to FPMathOperator similarly to now NUS/NSW is handled.

llvm-svn: 168642
2012-11-27 00:41:22 +00:00
Michael Ilseman 8cba20502b Fast-math flags added to FPMathOperator.
Created FastMathFlags convenience struct for the getting and setting of fast-math flags en masse. Added SubclassOptionalData bitfields and corresponding getters/setters to FPMathOperator for the various fast-math flags.

llvm-svn: 168641
2012-11-27 00:40:00 +00:00
Richard Smith 92de14b86c Move Clang code owners list from llvm/ to cfe/.
llvm-svn: 168640
2012-11-27 00:39:52 +00:00
Eric Christopher c800b12bae Reorder section output ordering.
llvm-svn: 168638
2012-11-27 00:13:58 +00:00
Eric Christopher 735401cf29 Whitespace cleanup.
llvm-svn: 168637
2012-11-27 00:13:51 +00:00
Owen Anderson 336368c4fd Step towards implementation of pass manager with doInitialization and doFinalization per module detangled from runOn?? calls, still has temporary code not to break ASAN to be removed when that pass conforms to the proposed model
Patch by Pedro Artigas, with feedback from by Chandler Carruth.

llvm-svn: 168635
2012-11-26 23:54:47 +00:00
Chad Rosier 110b73e0e5 Add an assertion to ensure freezeReservedRegs() is only ever called once.
llvm-svn: 168633
2012-11-26 23:37:07 +00:00
Eli Bendersky e66c51d111 Make this test less sensitive.
It currently assumes register numbering and any harmless change in the X86
register naming makes it fail. It's enough to match the register names.

llvm-svn: 168632
2012-11-26 23:27:09 +00:00
Chad Rosier f8a3a62cdb Now that the X86 Maximal Stack Alignment Check pass has been removed (i.e.,
r168627), we no longer need to call the freezeReservedRegs() function a second
time.  Previously, this pass was conservatively adding the FP to the set of
reserved registers, requiring the second update to the reserved registers.
rdar://12719844

llvm-svn: 168631
2012-11-26 23:25:41 +00:00
Chad Rosier a44e1825a3 Now that the X86 Maximal Stack Alignment Check pass has been removed (i.e.,
r168627), we no longer need to call the freezeReservedRegs() function a second
time.  Previously, this pass was conservatively adding the FP to the set of
reserved registers, requiring the second update to the reserved registers.
rdar://12719844

llvm-svn: 168630
2012-11-26 23:14:37 +00:00
Eli Friedman b14873c4f1 Get rid of the getPointeeAlignment helper function from
InstCombineLoadStoreAlloca.cpp, which had many issues.
(At least two bugs were noted on llvm-commits, and it was overly conservative.)
Instead, use getOrEnforceKnownAlignment.

llvm-svn: 168629
2012-11-26 23:04:53 +00:00
Chad Rosier 4179e3f513 Remove the X86 Maximal Stack Alignment Check pass as it is no longer necessary.
This pass was conservative in that it always reserved the FP to enable dynamic
stack realignment, which allowed the RA to use aligned spills for vector
registers.  This happens even when spills were not necessary.  The RA has 
since been improved to use unaligned spills when necessary.

The new behavior is to realign the stack if the frame pointer was already
reserved for some other reason, but don't reserve the frame pointer just
because a function contains vector virtual registers.

Part of rdar://12719844

llvm-svn: 168627
2012-11-26 22:55:05 +00:00