summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Revert the part of 64623 that attempted to align the source in aDan Gohman2009-02-221-1/+1
| | | | | | | | | | | | | | | memcpy to match the alignment of the destination. It isn't necessary for making loads and stores handled like the SSE loadu/storeu intrinsics, and it was causing a performance regression in MultiSource/Applications/JM/lencod. The problem appears to have been a memcpy that copies from some highly aligned array into an alloca; the alloca was then being assigned a large alignment, which required codegen to perform dynamic stack-pointer re-alignment, which forced the enclosing function to have a frame pointer, which led to increased spilling. llvm-svn: 65289
* Properly parenthesize this expression, fixing a real bug in the newDan Gohman2009-02-221-1/+1
| | | | | | -full-lsr code, as well as a GCC warning. llvm-svn: 65288
* bug 3610: Test case.Richard Pennington2009-02-221-0/+20
| | | | llvm-svn: 65287
* Copy some clenaups from Eli to code that I copied. :-)Mike Stump2009-02-221-6/+1
| | | | llvm-svn: 65286
* Cleanp code with some recent suggestions.Mike Stump2009-02-224-23/+14
| | | | llvm-svn: 65285
* A bit of Evaluate cleanup. Also, a full audit of what's missing that Eli Friedman2009-02-221-22/+33
| | | | | | someone would reasonably expect Evaluate to handle for C/ObjC. llvm-svn: 65284
* Update to checker-0.162 (fixed header issue in tar.bz2 package).Ted Kremenek2009-02-221-1/+1
| | | | llvm-svn: 65283
* Reverted back to checker-0.161 because of a header issue.Ted Kremenek2009-02-221-1/+1
| | | | llvm-svn: 65281
* Updated checker build.Ted Kremenek2009-02-221-1/+1
| | | | llvm-svn: 65280
* If a use operand is marked isKill, don't forget to add kill to its live ↵Evan Cheng2009-02-222-4/+30
| | | | | | interval as well. llvm-svn: 65279
* x86_64 ABI: Actually, we can always pass things we want to pass inDaniel Dunbar2009-02-221-10/+2
| | | | | | | memory using Indirect; this was a holdover from when CGCall wasn't as robust. llvm-svn: 65278
* ccc: Remove unknown host warning, it was breaking gcc's configure.Daniel Dunbar2009-02-221-1/+0
| | | | llvm-svn: 65276
* Add a note.Evan Cheng2009-02-221-0/+28
| | | | llvm-svn: 65275
* Be bug compatible with gcc by returning MMX values in RAX.Evan Cheng2009-02-223-8/+18
| | | | llvm-svn: 65274
* Do not consider MMX_MOVD64rr a move instructions. The source register is in ↵Evan Cheng2009-02-221-1/+0
| | | | | | GR32, the destination is VR64. They are not compatible. llvm-svn: 65273
* Fix test to be legal on 64-bit systems.Eli Friedman2009-02-221-1/+1
| | | | llvm-svn: 65270
* Fix regression in naming convention derivation: a method only follows the ↵Ted Kremenek2009-02-221-1/+1
| | | | | | copy 'rule' if it doesn't already start with 'init', etc. llvm-svn: 65269
* Only try to sink immediate when TLI is not null. It needs to check if ↵Evan Cheng2009-02-221-1/+1
| | | | | | immediate would fit in target addressing field. llvm-svn: 65268
* Eliminate a bunch of code which should be dead.Eli Friedman2009-02-221-194/+5
| | | | llvm-svn: 65267
* x86_64 ABI: Make sure to pass vectors that we want to pass in memoryDaniel Dunbar2009-02-221-1/+1
| | | | | | | | | as byval. Otherwise LLVM will have its own opinion about where to put things. We now pass all gcc dg.compat tests on x86_64. llvm-svn: 65266
* Throw the switch to exclusively use Evaluate (along with the small Eli Friedman2009-02-223-4/+15
| | | | | | | | | | | | | | | | helper isConstantInitializer) to check whether an initializer is constant. This passes tests, but it's possible that it'll cause regressions with real-world code. Future work: 1. The diagnostics obtained this way are lower quality at the moment; some work both here and in Evaluate is needed for accurate diagnostics. 2. We probably need some extra code when we're in -pedantic mode so we can strictly enforce the rules in C99 6.6p7. 3. Dead code cleanup (this should wait until after 2, because we might want to re-use some of the code). llvm-svn: 65265
* x86_64 ABI: Pass 32-bit vectors as Integer to match gcc. We don't careDaniel Dunbar2009-02-221-1/+16
| | | | | | about these much but <2 x i16> shows up in the gcc test suite. llvm-svn: 65264
* ABITestGen: Use explicit list of vector types instead of just a listDaniel Dunbar2009-02-221-10/+30
| | | | | | | of sizes. Turns out we don't care very much about vector types that don't map to the hardware. llvm-svn: 65263
* x86_64 ABI: Classify <1 x i64> as INTEGER (match gcc not llvm-gcc).Daniel Dunbar2009-02-221-6/+12
| | | | | | | Also, make sure to pass <1 x i64> as i64 (not <1 x i64>, which doesn't quite work yet in the backend). llvm-svn: 65262
* Enhance Evaluate to handle ObjC qualified id and class types; as far as Eli Friedman2009-02-222-4/+10
| | | | | | | | I know, these follow the exact same rules as pointers, so I just made them use the same codepath. Someone more familiar with ObjC should double-check this, though. llvm-svn: 65261
* Fix for PR3433: map __alignof__ to preferred alignment. (This was Eli Friedman2009-02-223-6/+7
| | | | | | partially done in r65258.) llvm-svn: 65260
* Last part of PR3254: use the same alignment computation in Sema and Eli Friedman2009-02-221-4/+1
| | | | | | | CodeGen. I'm not sure whether this actually makes any visible difference, but it's better to be consistent anyway. llvm-svn: 65259
* Improvements to ASTContext::getDeclAlignInBytes; fixes the testcase in Eli Friedman2009-02-223-32/+30
| | | | | | | | | PR3254 and part of PR3433. The isICE changes are necessary to keep the computed results consistent with Evaluate. llvm-svn: 65258
* Remove debugging statement.Steve Naroff2009-02-221-1/+0
| | | | llvm-svn: 65257
* Match gcc and always perform array/function conversion for asm input exprs. ↵Anders Carlsson2009-02-222-2/+8
| | | | | | Fixes PR3641. llvm-svn: 65256
* Correctly encode incomplete and variable length arrays. Fixes PR3639.Anders Carlsson2009-02-222-8/+30
| | | | llvm-svn: 65255
* ccc: Remove temporary files used in compilation, and removeDaniel Dunbar2009-02-221-3/+29
| | | | | | compilation results on failures. llvm-svn: 65254
* Sanity fix for PR3642: if we're treating a diagnostic as an error, it's Eli Friedman2009-02-222-1/+12
| | | | | | | | | | required to actually be an error for correctness. The attached testcase now gives an error instead of mysteriously crashing. Now, it's possible we actually want to support the given usage, but I haven't looked at the relevant code closely. llvm-svn: 65253
* Force arch for these test cases.Daniel Dunbar2009-02-212-2/+2
| | | | llvm-svn: 65252
* local array of objects are non-gc'able.Fariborz Jahanian2009-02-211-2/+6
| | | | llvm-svn: 65251
* Regenerate.Nick Lewycky2009-02-212-455/+32
| | | | llvm-svn: 65250
* Remove tests for flex/bison which are no longer needed by LLVM.Nick Lewycky2009-02-212-5/+0
| | | | llvm-svn: 65249
* More work to integrate newly added ObjCQualifiedClassType into the type system.Steve Naroff2009-02-216-7/+24
| | | | | | This is necessary 'plumbing' to fix <rdar://problem/6497631> Message lookup is sometimes different than gcc's. llvm-svn: 65248
* Put compiler headers in <prefix>/lib/clang/1.0/include (vsDaniel Dunbar2009-02-212-10/+15
| | | | | | <prefix>/Headers, gross). llvm-svn: 65247
* Don't sign extend the char when expanding char -> int duringNick Lewycky2009-02-212-2/+14
| | | | | | load(bitcast(char[4] to i32*)) evaluation. llvm-svn: 65246
* Add makefile debugging target; use "make print-FOO" to print theDaniel Dunbar2009-02-211-0/+8
| | | | | | value/definition/origin of FOO. llvm-svn: 65245
* Add support for GCC ObjC extension "Class<protocol>". Sigh.Steve Naroff2009-02-216-0/+113
| | | | | | | | Found while researching <rdar://problem/6497631> Message lookup is sometimes different than gcc's. Will never be seen in user code. Needed to pass dejagnu testsuite. llvm-svn: 65244
* The blocks ABI is wrong, add a FIXME.Mike Stump2009-02-211-0/+3
| | | | llvm-svn: 65243
* Add CodeGen support for the helper for BlockDeclRefExprs. The easierMike Stump2009-02-214-26/+125
| | | | | | stuff is mostly done. Move BlockHasCopyDispose up. llvm-svn: 65242
* Warn about bogus protocol qualifiers.Steve Naroff2009-02-213-1/+11
| | | | llvm-svn: 65241
* Warn on use of __weak attribute on localFariborz Jahanian2009-02-213-0/+17
| | | | | | variable (objc2 gc specific). llvm-svn: 65240
* bug 3610: Floating point vaarg not softened.Richard Pennington2009-02-212-0/+18
| | | | llvm-svn: 65239
* Fix a bug whereby a pointer to a __weak was not recognizedFariborz Jahanian2009-02-211-0/+2
| | | | | | as __weak (objc2 gc specific). llvm-svn: 65238
* Use llvm::StringsEqualNoCase instead of strncasecmp.Ted Kremenek2009-02-211-8/+5
| | | | llvm-svn: 65237
* Add version of StringsEqualNoCase that takes two null-terminated C-strings ↵Ted Kremenek2009-02-211-0/+19
| | | | | | and compares up to 'len' characters. I tend to screw up string comparison functions, so anyone who is interested please review this\! llvm-svn: 65236
OpenPOWER on IntegriCloud