summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
...
* Recommit r186217 with testcase fix:Bill Wendling2013-07-227-28/+23
| | | | | | | | | Use the function attributes to pass along the stack protector buffer size. Now that we have robust function attributes, don't use a command line option to specify the stack protecto buffer size. llvm-svn: 186863
* [mips] Fix MipsAsmParser::parseCCRRegs.Akira Hatanaka2013-07-222-18/+13
| | | | | | | | Enable parsing all 32 floating point control registers $0-31 and stop trying to parse floating point condition code register $fcc0. Also, return ParseFail if the operand being parsed is not in the expected format. llvm-svn: 186861
* Mark ELF's first symbol as format specific so that llvm-nm ignores it.Rafael Espindola2013-07-222-1/+3
| | | | llvm-svn: 186860
* Fix spelling and grammarMatt Arsenault2013-07-221-12/+12
| | | | llvm-svn: 186858
* Fix missing constMatt Arsenault2013-07-221-1/+1
| | | | llvm-svn: 186857
* [mips] Use ADDu instead of OR to copy general purpose registers. Also, deleteAkira Hatanaka2013-07-224-12/+7
| | | | | | | the InstAlias pattern which maps "move" to OR to resolve ambiguity in MatchTable. llvm-svn: 186855
* Adding example source to support MCJIT/Kaleidoscope blog posts.Andrew Kaylor2013-07-2220-0/+9374
| | | | llvm-svn: 186854
* Initialize/Register LTO passes to enable flags like -print-after=<lto-pass>Shuxin Yang2013-07-222-0/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | There already have two "dead" functions, initialize{IPO|IPA}, defined for similar purpose. I decide not to call these two functions for two reasons: o. they don't cover all LTO passes (which will soon be separated into IPO and post-IPO passes) o. We have not yet figured out the right passes and the ordering for IPO and post-IPO stages, meaning this change is only for the time being. Since LTO passes are registered, we are now able to print IR before and after particular point. For OSX users: -------------- "...-Wl,-mllvm -Wl,-print-after=<pass-name>" will print IR after the specified pass. For Other UNIX with GNU gold linker: ------------------------------------ "-Wl,-plugin-opt=-print-after=<pass-name>" should work. (NOTE: no need for "-Wl,-mllvm") Strip "-Wl," if flags are fed directly to linker instead of clang/clang++. llvm-svn: 186853
* Fix typo.Eric Christopher2013-07-221-3/+3
| | | | llvm-svn: 186852
* Formatting.Eric Christopher2013-07-221-1/+1
| | | | llvm-svn: 186851
* MC: mayAffectControlFlow() handling for variadic instructions.Jim Grosbach2013-07-221-2/+14
| | | | | | | | | | | Variadic MC instructions don't note whether the variable operands are uses or defs, so mayAffectControlFlow() must conservatively assume they are defs and return true if the PC is in the operand list. rdar://14488628 llvm-svn: 186846
* Fix an obvious typo in the loop vectorizer where the cost model uses the ↵Nadav Rotem2013-07-221-2/+2
| | | | | | | | wrong variable. The variable BlockCost is ignored. We don't have tests for the effect of if-conversion loops because it requires a big test (that includes if-converted loops) and it is difficult to find and balance a loop to do the right thing. llvm-svn: 186845
* [NVPTX] Remove unused prototypesJustin Holewinski2013-07-221-3/+0
| | | | llvm-svn: 186844
* Option parsing: allow aliases in groupsHans Wennborg2013-07-223-6/+16
| | | | | | | | | Option aliases in option groups were previously disallowed by an assert. As far as I can tell, there was no technical reason for this, and I would like to be able to put cl.exe compatible options in their own group for Clang, so let's change the assert. llvm-svn: 186838
* This adds range checking for "ldr Rn, [pc, #imm]" Thumb Mihai Popa2013-07-2210-39/+93
| | | | | | | | | | instructions. With this patch: 1. ldr.n is recognized as mnemonic for the short encoding 2. ldr.w is recognized as menmonic for the long encoding 3. ldr will map to either short or long encodings depending on the size of the offset llvm-svn: 186831
* Replace archive members in the old position.Rafael Espindola2013-07-222-51/+97
| | | | | | | | | | | | This matches gnu archive behavior and since archive member order can change which member is used, not changing the order on replacement looks like the right thing to do. This patch also refactors the logic for which archive member to keep and whether to move it to a helper function (computeInsertAction). The nesting in computeNewArchiveMembers was getting a bit confusing. llvm-svn: 186829
* Don't depend on a llvm-ar specific behavior.Rafael Espindola2013-07-221-1/+2
| | | | | | | | GNU ar when not given the a or b modifiers replaces archive members in the same location of the old ones. I am about to implement that in llvm-ar. For now, just don't depend on the current llvm-ar behavior on this test. llvm-svn: 186823
* [NVPTX] Use approximate FP ops when unsafe-fp-math is used, and appendJustin Holewinski2013-07-224-56/+104
| | | | | | .ftz to instructions if the nvptx-f32ftz attribute is set to "true" llvm-svn: 186820
* Revert "More Intel syntax alias fixes."Tim Northover2013-07-221-28/+28
| | | | | | This reverts commit r186813, which broke the bots. llvm-svn: 186818
* Fix typo. Change %cl to CL in Intel pattern.Craig Topper2013-07-221-1/+1
| | | | llvm-svn: 186815
* More Intel syntax alias fixes.Craig Topper2013-07-223-19/+19
| | | | llvm-svn: 186814
* More Intel syntax alias fixes.Craig Topper2013-07-221-28/+28
| | | | llvm-svn: 186813
* Change %xmm0 to XMM0 in Intel side of asm strings for PBLENDVB.Craig Topper2013-07-221-6/+6
| | | | llvm-svn: 186812
* Add Intel variants to aliases for some FP instructions.Craig Topper2013-07-221-8/+8
| | | | llvm-svn: 186811
* ARM: remove now unneeded custom Asm convertersTim Northover2013-07-224-415/+16
| | | | | | | | After Ulrich's r180677 (thanks!) TableGen is intelligent enough to handle tied constraints involving complex operands properly, so virtually all of the ARM custom converters are now unnecessary. llvm-svn: 186810
* Reverse operands for Intel syntax form of 'bt' alias.Craig Topper2013-07-221-1/+2
| | | | llvm-svn: 186809
* Delete unused helper functions.Nadav Rotem2013-07-221-32/+0
| | | | llvm-svn: 186808
* Added missing - in the header of PrologEpilogInserter.h so that editors ↵Michael Gottesman2013-07-221-1/+1
| | | | | | properly realize it is a c++ header and not a c header. llvm-svn: 186801
* Treat nothrow forms of ::operator delete and ::operator delete[] asRichard Smith2013-07-214-4/+40
| | | | | | deallocation functions. llvm-svn: 186798
* Handle replacement into a position past the original member.Rafael Espindola2013-07-212-2/+15
| | | | | | | We were incorrectly computing where to insert a member if it was replacing a previous member that was before the insert point. llvm-svn: 186792
* Remove unused fields.Rafael Espindola2013-07-211-11/+3
| | | | llvm-svn: 186791
* mem2reg: Minor STL usage cleanup. No functionality change.Benjamin Kramer2013-07-211-11/+8
| | | | llvm-svn: 186790
* Make the mem2reg interface use an ArrayRef as it keeps a copy of theseChandler Carruth2013-07-212-8/+9
| | | | | | to iterate over. llvm-svn: 186788
* Mark that the _ftol2 function used by windows on x86 to handle fptoui ↵Craig Topper2013-07-212-3/+5
| | | | | | modifies ECX. llvm-svn: 186787
* Revert a part of r186420. Don't forbid multiple store chains that merge.Nadav Rotem2013-07-211-3/+1
| | | | llvm-svn: 186786
* Fix exception demo: Add mcjit to link component.Logan Chien2013-07-211-1/+1
| | | | | | | Fix exception demo when we are building the examples with configure/make. This commit updates the link components in the Makefile. llvm-svn: 186785
* Hoist the rest of the logic for promoting single-store allocas into theChandler Carruth2013-07-211-23/+31
| | | | | | | | | | | | helper function. This leaves both trivial cases handled entirely in helper functions and merely manages the list of allocas to process in the run method. The next step will be to handle all of the trivial promotion work prior to even creating the core class and the subsequent simplifications that enables. llvm-svn: 186784
* Hoist the rest of the logic for fully promoting allocas with all uses inChandler Carruth2013-07-211-55/+33
| | | | | | | | | | | | | | a single block into the helper routine. This takes advantage of the fact that we can directly replace uses prior to any store with undef to simplify matters and unconditionally promote allocas only used within one block. I've removed the special handling for the case of no stores existing. This has no semantic effect but might slow things down. I'll fix that in a later patch when I refactor this entire thing to be easier to manage the different cases. llvm-svn: 186783
* Remove a method made dead by the prior refactoring.Chandler Carruth2013-07-211-5/+0
| | | | llvm-svn: 186782
* Hoist the two trivial promotion routines out of the big class thatChandler Carruth2013-07-201-161/+158
| | | | | | | | | | | | | | | handles the general cases. The hope is to refactor this so that we don't end up building the entire class for the trivial cases. I also want to lift a lot of the early pre-processing in the initial segment of run() into a separate routine, and really none of it needs to happen inside the primary promotion class. These routines in particular used none of the actual state in the promotion class, so they don't really make sense as members. llvm-svn: 186781
* Hoist the AllocaInfo struct to the top of the file.Chandler Carruth2013-07-201-59/+57
| | | | | | | | This struct is nicely independent of everything else, and we already needed a foward declaration here. It's simpler to just define it immediately. llvm-svn: 186780
* Sink a typedef and comparator down to the function that actually uses them.Chandler Carruth2013-07-201-8/+10
| | | | llvm-svn: 186779
* Don't crash when llvm.compiler.used becomes empty.Rafael Espindola2013-07-202-0/+21
| | | | | | | | GlobalOpt simplifies llvm.compiler.used by removing any members that are also in the more strict llvm.used. Handle the special case where llvm.compiler.used becomes empty. llvm-svn: 186778
* Don't allocate the DIBuilder on the heap and remove all the complexityChandler Carruth2013-07-201-16/+8
| | | | | | that ensued from that. llvm-svn: 186777
* Rename constructor parameters to follow the common member-shadowingChandler Carruth2013-07-201-3/+3
| | | | | | pattern and conform to the naming conventions. llvm-svn: 186776
* Reformat the implementation of mem2reg with clang-format so that myChandler Carruth2013-07-201-344/+360
| | | | | | subsequent changes don't introduce inconsistencies. llvm-svn: 186775
* Comment: try to clarify loop iteration order.Andrew Trick2013-07-201-0/+4
| | | | llvm-svn: 186774
* Remove a DenseMapInfo specialization for std::pair -- we have one ofChandler Carruth2013-07-201-20/+0
| | | | | | those baked into DenseMap now. llvm-svn: 186773
* Update mem2reg's comments to conform to the new doxygen standards. NoChandler Carruth2013-07-202-81/+69
| | | | | | functionality changed. llvm-svn: 186772
* Disallow global aliases to bitcast between address spacesMatt Arsenault2013-07-202-4/+23
| | | | llvm-svn: 186767
OpenPOWER on IntegriCloud