summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Switch on SemaInit; this makes some code in SemaDecl dead, but I'll give Eli Friedman2008-05-192-3/+3
| | | | | | it a few days to make sure there aren't any significant regressions. llvm-svn: 51273
* minor cleanups, teach instcombine that sitofp/uitofp cannot Chris Lattner2008-05-191-3/+8
| | | | | | produce a negative zero. llvm-svn: 51272
* convert fptosi(sitofp x) -> x if the fp value has enough bits in its mantissaChris Lattner2008-05-192-9/+35
| | | | | | | to accurately represent the integer. This triggers 9 times in 471.omnetpp, though 8 of those seem to be inlined from the same place. llvm-svn: 51271
* Adjust warning so that it doesn't fire when there is an error.Eli Friedman2008-05-191-3/+4
| | | | llvm-svn: 51269
* Fold FP comparisons where one operand is converted from an integerChris Lattner2008-05-192-0/+185
| | | | | | | | | | | | | | | | | | | | type and the other operand is a constant into integer comparisons. This happens surprisingly frequently (e.g. 10 times in 471.omnetpp), which are things like this: %tmp8283 = sitofp i32 %tmp82 to double %tmp1013 = fcmp ult double %tmp8283, 0.0 Clearly comparing tmp82 against i32 0 is cheaper here. this also triggers 8 times in gobmk, including this one: %tmp375376 = sitofp i32 %tmp375 to double %tmp377 = fcmp ogt double %tmp375376, 8.150000e+01 which is comparing an integer against 81.5 :). llvm-svn: 51268
* Remove illegal test.Eli Friedman2008-05-191-1/+0
| | | | llvm-svn: 51267
* Remove warnings about unused parameters and shadowed variables.Bill Wendling2008-05-1918-97/+95
| | | | llvm-svn: 51266
* Add errors for some illegal constructs (specifically, "int a = {{3}};" Eli Friedman2008-05-192-10/+18
| | | | | | and "int a = {};"). I'll adjust the tests in a bit. llvm-svn: 51265
* remove debug outputChris Lattner2008-05-191-3/+1
| | | | llvm-svn: 51264
* be more aggressive about transforming add -> or when the operands have noChris Lattner2008-05-192-0/+34
| | | | | | | | | | | | | | | | | | | intersecting bits. This triggers all over the place, for example in lencode, with adds of stuff like: %tmp580 = mul i32 %tmp579, 2 %tmp582 = and i32 %b8, 1 and %tmp28 = shl i32 %abs.i, 1 %sign.0 = select i1 %tmp23, i32 1, i32 0 and %tmp344 = shl i32 %tmp343, 2 %tmp346 = and i32 %tmp96, 3 etc. llvm-svn: 51263
* Some more SemaInit cleanup.Eli Friedman2008-05-191-36/+42
| | | | llvm-svn: 51262
* Various fixes; solves (almost) all of the test regressions that would be Eli Friedman2008-05-192-115/+84
| | | | | | caused by enabling SemaInit. llvm-svn: 51261
* Fix the emission of expressions like char a[10] = "asdf"; previously, Eli Friedman2008-05-193-2/+24
| | | | | | | | they were causing bad code to be emitted. There are two fixes here: one makes sure we emit a string that is long enough, and one makes sure we properly handle string initialization in init lists. llvm-svn: 51259
* Check that always_inline functions are inlinedDuncan Sands2008-05-191-0/+12
| | | | | | | | whether or not -funit-at-a-time is used (C++ uses it, C doesn't) - it was working before only when not doing unit-at-a-time. llvm-svn: 51258
* Fix PR2341 - when the length is 4 use an i32 notDuncan Sands2008-05-192-8/+24
| | | | | | an i16! Cleaned up trailing whitespace while there. llvm-svn: 51240
* Reverting accidental commit of generated files.Gordon Henriksen2008-05-193-287/+287
| | | | llvm-svn: 51239
* Remove a duplicative binding. Patch by Mahadevan R.Gordon Henriksen2008-05-196-296/+288
| | | | llvm-svn: 51238
* Update VS project files (VS 2005) so that VS builds with TOT LLVM/clang.Ted Kremenek2008-05-193-182/+187
| | | | | | Patch by Dmitri Makarov! llvm-svn: 51237
* Grammar fix.Bill Wendling2008-05-191-1/+9
| | | | llvm-svn: 51236
* Delete module.Bill Wendling2008-05-191-1/+2
| | | | llvm-svn: 51235
* Convert non-ASCII apostrophes into ASCII apostrophes.Bill Wendling2008-05-191-7/+7
| | | | llvm-svn: 51234
* Delete the Module object.Bill Wendling2008-05-191-1/+2
| | | | llvm-svn: 51233
* s/insure/ensure/Bill Wendling2008-05-191-3/+12
| | | | llvm-svn: 51232
* ignore Output dirGabor Greif2008-05-180-0/+0
| | | | llvm-svn: 51231
* Teach GVN to not assert on vector comparisonsNate Begeman2008-05-181-2/+2
| | | | llvm-svn: 51230
* Fix a backwards check in the JIT symbol table codeNate Begeman2008-05-181-1/+1
| | | | llvm-svn: 51229
* Add proper type-checking for pointer additiion; before, we were acceptingEli Friedman2008-05-182-6/+41
| | | | | | addition with a pointer and an integer even when it didn't make sense. llvm-svn: 51228
* add missing #include.Chris Lattner2008-05-181-0/+1
| | | | llvm-svn: 51227
* Fix PR2339Chris Lattner2008-05-182-1/+24
| | | | llvm-svn: 51226
* remove empty file?Chris Lattner2008-05-181-0/+0
| | | | llvm-svn: 51225
* Fix support for _Bool bitfields. The issue is that the bitfield width Eli Friedman2008-05-172-4/+74
| | | | | | | | | | | | used for _Bool is not the same as the primitive width (which for _Bool is 1 bit). The load and store changes add some casts to make the types consistent. The EmitLValue changes make sure that the pointer is of an appropriate type for loading the bitfield. This isn't perfect, but it's an improvement, and getting everything right depends on actually laying out structs in an ABI-compliant way. llvm-svn: 51224
* Revert constant-folding change that will miscompile in some cases.Nick Lewycky2008-05-172-31/+0
| | | | llvm-svn: 51223
* trip count computation deficiencyChris Lattner2008-05-171-0/+9
| | | | llvm-svn: 51222
* On Darwin, the string header file isn't 64-bit clean. The use ofBill Wendling2008-05-171-3/+3
| | | | | | | | | | | | | | | | | | | "-Wshorten-64-to-32 -Werror" will cause a failure when compiling this complex program: #include <string> class Path { mutable std::string path; public: bool operator == (const Path &that) { return path == that.path; } }; Using strcmp gets us past this annoying error. llvm-svn: 51218
* Unbreak the build.Nick Lewycky2008-05-171-1/+1
| | | | llvm-svn: 51217
* Constant fold inttoptr and ptrtoint.Nick Lewycky2008-05-172-0/+31
| | | | llvm-svn: 51216
* Move isTrueWhenEqual to ICmpInst.Nick Lewycky2008-05-172-20/+20
| | | | llvm-svn: 51215
* Micro-optimization when checking for panic functions.Ted Kremenek2008-05-171-1/+4
| | | | llvm-svn: 51214
* Fix 80 col violation.Ted Kremenek2008-05-171-1/+3
| | | | llvm-svn: 51213
* Added panic function _XCAssertionFailureHandler.Ted Kremenek2008-05-171-0/+4
| | | | llvm-svn: 51212
* Less conservative verison of previous patch,Dale Johannesen2008-05-161-2/+2
| | | | | | suggested by Duncan. llvm-svn: 51211
* Add CommonLinkage, in a way that preserves theDale Johannesen2008-05-161-0/+3
| | | | | | behavior on old .bc files. llvm-svn: 51210
* Add CommonLinkage to lto (treated same as weak AFAICT)Dale Johannesen2008-05-162-1/+4
| | | | | | and llvm-nm (prints as C). llvm-svn: 51209
* Add CommonLinkage.Dale Johannesen2008-05-161-1/+2
| | | | llvm-svn: 51208
* Weak functions not declared non-throwing might beDale Johannesen2008-05-161-1/+3
| | | | | | | | | replaced at linktime with a body that throws, even if the body in this file does not. Make PruneEH be more conservative in this case. g++.dg/eh/weak1.C llvm-svn: 51207
* Add functions to enable adding a single attribute to a function andEric Christopher2008-05-164-0/+27
| | | | | | its associated call site. llvm-svn: 51204
* Backout of codegen-based fix to PR2334; this has been fixed differently Eli Friedman2008-05-161-4/+2
| | | | | | at the Sema layer. llvm-svn: 51203
* Sema-based fix for PR2334. The issue is that even if the two sides of Eli Friedman2008-05-161-2/+5
| | | | | | | | | | the condidtional have compatible types, they are not necessarily the same type. Therefore, we cast to the composite type. As a hack, for the moment we assume that the composite type is the type of the left-hand expression; this isn't correct, but it's good enough for most purposes. llvm-svn: 51202
* Record weak external linkage in a case where we wereDale Johannesen2008-05-161-0/+12
| | | | | | | missing it. gcc.dg/darwin-weakimport-2.c. Handle common and weak differently for darwin ppc32. llvm-svn: 51201
* API change for {BinaryOperator|CmpInst|CastInst}::create*() --> Create. ↵Gabor Greif2008-05-1631-524/+617
| | | | | | Legacy interfaces will be in place for some time. (Merge from use-diet branch.) llvm-svn: 51200
OpenPOWER on IntegriCloud