summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Initial cleanups of the param-attribute code in the bitcode reader/writer.Bill Wendling2013-02-045-66/+59
| | | | | | | | | Rename the PARAMATTR_CODE_ENTRY to PARAMATTR_CODE_ENTRY_OLD. It will be replaced by another encoding. Keep around the current LLVM attribute encoder/decoder code, but move it to the bitcode directories so that no one's tempted to use them. llvm-svn: 174335
* Replace global std::string with const char[]Alexey Samsonov2013-02-042-2/+2
| | | | llvm-svn: 174332
* Hexagon: Add V4 combine instructions and some more Def Pats for V2.Jyotsna Verma2013-02-045-9/+191
| | | | llvm-svn: 174331
* Disable a couple more vector splat optimizations on PPC.Benjamin Kramer2013-02-042-3/+45
| | | | | | | I didn't see those because the test case used "not grep". FileCheck the test and XFAIL it, preserving the old optimization, so this can be fixed eventually. llvm-svn: 174330
* Fix some abuses of StringRefTim Northover2013-02-041-3/+4
| | | | | | We were taking a StringRef to a temporary result, which can go horribly wrong. llvm-svn: 174328
* X86: Open up some opportunities for constant folding by postponing shift ↵Benjamin Kramer2013-02-042-4/+12
| | | | | | | | lowering. Fixes PR15141. llvm-svn: 174327
* X86: Simplify code. No functionality change.Benjamin Kramer2013-02-041-19/+5
| | | | llvm-svn: 174326
* SelectionDAG: Teach FoldConstantArithmetic how to deal with vectors.Benjamin Kramer2013-02-047-55/+129
| | | | | | | | | | | | | | | | | This required disabling a PowerPC optimization that did the following: input: x = BUILD_VECTOR <i32 16, i32 16, i32 16, i32 16> lowered to: tmp = BUILD_VECTOR <i32 8, i32 8, i32 8, i32 8> x = ADD tmp, tmp The add now gets folded immediately and we're back at the BUILD_VECTOR we started from. I don't see a way to fix this currently so I left it disabled for now. Fix some trivially foldable X86 tests too. llvm-svn: 174325
* Give explicit suffix to integer constant over 32-bits.Tim Northover2013-02-041-1/+1
| | | | llvm-svn: 174324
* Enable AArch64 as a target built by default.Tim Northover2013-02-043-2/+3
| | | | llvm-svn: 174322
* Update debugging test for change in expected metadata.Tim Northover2013-02-041-6/+16
| | | | llvm-svn: 174321
* Coding standards: don't use ``inline`` when defining a function in a classDmitri Gribenko2013-02-041-0/+28
| | | | | | | | | | | | | | | definition Current practice is not to use 'inline' in: class Foo { public: inline void bar() { // ... } }; llvm-svn: 174317
* Pass CPPFLAGS/CFLAGS/CXXFLAGS from the environment of configure toPatrik Hagglund2013-02-044-5/+29
| | | | | | | | | | | | | | | | | Makefile.config. This is implied at the bottom of the help text of configure (besides CC/CXX/LDFLAGS, already passed to Makefile.config). For backward compatibility, the values of CFLAGS and CXXFLAGS defaults to empty, overriding the default values provided by autoconf (for example, '-g -O2' when CC=gcc'). $(CPP) is not used by our makefiles. Therefore, the value of CPP is not passed to Makefile.config, despite beeing mentioned by 'configure --help'. llvm-svn: 174313
* More MSan/ASan annotations.Evgeniy Stepanov2013-02-046-9/+24
| | | | | | | | | | | | | | This change lets us bootstrap LLVM/Clang under ASan and MSan. It contains fixes for 2 issues: - X86JIT reads return address from stack, which MSan does not know is initialized. - bugpoint tests run binaries with RLIMIT_AS. This does not work with certain Sanitizers. We are no longer including config.h in Compiler.h with this change. llvm-svn: 174306
* [DebugInfo] remove more node indirection (this time from the subprogram's ↵David Blaikie2013-02-044-27/+10
| | | | | | variable lists) llvm-svn: 174305
* PR15149: crash when printing debug info metadata containing an invalid ↵David Blaikie2013-02-041-2/+2
| | | | | | language spec llvm-svn: 174304
* Removed reference to LLVM as a project (since in LangRef it is used solely ↵Michael Gottesman2013-02-041-1/+1
| | | | | | as a reference to the IR). Thanks silvas! llvm-svn: 174301
* ARM cost model: Penalize insertelement into D subregistersArnold Schwaighofer2013-02-043-0/+65
| | | | | | | | | | | Swift has a renaming dependency if we load into D subregisters. We don't have a way of distinguishing between insertelement operations of values from loads and other values. Therefore, we are pessimistic for now (The performance problem showed up in example 14 of gcc-loops). radar://13096933 llvm-svn: 174300
* Turn off uninitialized-use warnings for gcc in cmake buildEdwin Vane2013-02-042-0/+24
| | | | | | | | | | | | Added support to the cmake build to turn off uninitialized use warnings for gcc. This cleans the build up somewhat. Used logic simpler than found in autoconf by making use of the fact that although gcc won't complain about unsupported -Wno-* flags it *will* complain about unsupported -W flags. Reviewers: gribozavr, doug.gregor, chandlerc llvm-svn: 174299
* PPCDarwinAsmPrinter::EmitStartOfAsmFile(): Add checking range in ↵NAKAMURA Takumi2013-02-041-1/+4
| | | | | | CPUDirectives[]. llvm-svn: 174298
* PPCDarwinAsmPrinter::EmitStartOfAsmFile(): Add possible elements in ↵NAKAMURA Takumi2013-02-041-0/+5
| | | | | | CPUDirectives[]. llvm-svn: 174297
* Added instance variable/initializers/getter/setters for new keyword ↵Michael Gottesman2013-02-032-13/+30
| | | | | | | | | | | | | | externally initialized to GlobalVariable. No *TRUE* functionality change. I am going to add in the actual test cases with the actual functionality changes in a later patch because I want to include some test cases. To be clear when I say no *TRUE* functionality change I mean that this patch (like it says in the title) only contains getters/setters and sets up a default initial value of the instance variable to false so that this patch does not affect any other uses of Global Variable.h. llvm-svn: 174295
* Recognize aarch64 for --enable-targets as advertised.Joerg Sonnenberger2013-02-032-0/+2
| | | | llvm-svn: 174288
* use GEP::accumulateConstantOffset() to replace custom written code to ↵Nuno Lopes2013-02-031-27/+2
| | | | | | compute GEP offset llvm-svn: 174279
* [Object][Archive] Improve performance.Michael J. Spencer2013-02-033-104/+106
| | | | | | | | | | | | Improve performance of iterating over children and accessing the member file buffer by caching the file size and moving code out to the header. This also makes getBuffer return a StringRef instead of a MemoryBuffer. Both fixing a memory leak and removing a malloc. This takes getBuffer from ~10% of the time in lld to unmeasurable. llvm-svn: 174272
* [Support] Add LLVM_IS_UNALIGNED_ACCESS_FAST.Michael J. Spencer2013-02-032-4/+29
| | | | llvm-svn: 174271
* Added new Global Variable marker ``externally_initialized'' to LangRef.Michael Gottesman2013-02-031-1/+2
| | | | llvm-svn: 174270
* Added clarification paragraph to LangRef's documentation ofMichael Gottesman2013-02-031-0/+7
| | | | | | | | | | | | | | | GlobalVariable about LLVM's assumptions vis-a-vis Global Variable initial values and Global Variable initializers. This is in preparation for adding the new keyword externally_initialized. Specifically, the patch explains how LLVM optimizes global initializers by assumign that global variables defined within the module are not modified from their initial values before the start of the global initializer. llvm-svn: 174269
* Remove the (apparently) unnecessary debug info metadata indirection.David Blaikie2013-02-0245-221/+110
| | | | | | | | | | The main lists of debug info metadata attached to the compile_unit had an extra layer of metadata nodes they went through for no apparent reason. This patch removes that (& still passes just as much of the GDB 7.5 test suite). If anyone can show evidence as to why these extra metadata nodes are there I'm open to reverting this patch & documenting why they're there. llvm-svn: 174266
* Start static relocation implementation for mips16.Reed Kotler2013-02-023-1/+37
| | | | | | This checkin makes hello world work. llvm-svn: 174264
* Removing ssp and uwtable from the testcaseManman Ren2013-02-021-1/+1
| | | | llvm-svn: 174259
* Remove AttrBuilder::Raw().Bill Wendling2013-02-022-27/+18
| | | | llvm-svn: 174251
* Use the AttributeSet's iterators.Bill Wendling2013-02-022-5/+22
| | | | | | | Use the AttributeSet's iterators in AttrBuilder::hasAttributes() when determining of the intersection of the AttrBuilder and AttributeSet is non-null. llvm-svn: 174250
* Revert accidental commit (ran svn commit from wrong directory).Nick Lewycky2013-02-021-61/+7
| | | | llvm-svn: 174241
* This patch makes "&Cls::purevfn" not an odr use. This isn't what the standardNick Lewycky2013-02-021-7/+61
| | | | | | | | | says, but that's a defect (to be filed). "Cls::purevfn()" is still an odr use. Also fixes a bug in the previous patch that caused us to not mark the function referenced just because we didn't want to mark it odr used. llvm-svn: 174240
* rdar://13126763Shuxin Yang2013-02-022-13/+62
| | | | | | | Fix a bug in DAGCombine. The symptom is mistakenly optimizing expression "x + x*x" into "x * 3.0". llvm-svn: 174239
* Correct indentation for dumping LexicalScope.Manman Ren2013-02-022-15/+7
| | | | llvm-svn: 174237
* [Dwarf] avoid emitting multiple AT_const_value for static memebers.Manman Ren2013-02-012-3/+72
| | | | | | | | Testing case is reduced from MultiSource/BenchMarks/Prolangs-C++/deriv1. rdar://problem/13071590 llvm-svn: 174235
* Add notes about future PowerPC featuresBill Schmidt2013-02-011-0/+17
| | | | llvm-svn: 174232
* LLVM enablement for some older PowerPC CPUsBill Schmidt2013-02-013-0/+39
| | | | llvm-svn: 174230
* Change the AttributeImpl to hold a single Constant* for the values.Bill Wendling2013-02-013-30/+28
| | | | | | This Constant could be an aggregate to represent multiple values. llvm-svn: 174228
* This patch aims to improve compile time performance by increasingPreston Gurd2013-02-011-13/+13
| | | | | | | | | | | | | the SCEV vector size in LoopStrengthReduce. It is observed that the BaseRegs vector size is 4 in most cases, and elements are frequently copied when it is initialized as SmallVector<const SCEV *, 2> BaseRegs. Our benchmark results show that the compilation time performance improved by ~0.5%. Patch by Wan Xiaofei. llvm-svn: 174219
* Add a testcase for some past-the-end address subtleties.Dan Gohman2013-02-011-0/+77
| | | | llvm-svn: 174210
* Two changes relevant to LEA and x32:David Sehr2013-02-015-3/+58
| | | | | | | | | 1) allows the use of RIP-relative addressing in 32-bit LEA instructions under x86-64 (ILP32 and LP64) 2) separates the size of address registers in 64-bit LEA instructions from control by ILP32/LP64. llvm-svn: 174208
* Fix errant fallthrough in the generation of the lifetime markers.Nadav Rotem2013-02-011-0/+1
| | | | | | Found by Alexander Kornienko. llvm-svn: 174207
* Fix misplaced 'break'.Jim Grosbach2013-02-011-3/+3
| | | | llvm-svn: 174205
* Use a continue to simplify loop and reduce indentation. No functional change.Chad Rosier2013-02-011-24/+25
| | | | llvm-svn: 174198
* Hexagon: Test case to confirm generation of indexed loads with zero offset.Jyotsna Verma2013-02-011-0/+70
| | | | llvm-svn: 174196
* Replace LDriu*[bhdw]_indexed_V4 instructions with "def Pats".Jyotsna Verma2013-02-013-504/+33
| | | | llvm-svn: 174193
* Add appropriate TSFlags to the instructions that must be always extended.Jyotsna Verma2013-02-011-148/+147
| | | | llvm-svn: 174186
OpenPOWER on IntegriCloud