summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Revert r111375, "move gep decomposition out of ValueTracking into BasicAA. TheDaniel Dunbar2010-08-182-213/+222
| | | | | | form of", it doesn't pass tests. llvm-svn: 111385
* Improve whitespace.Bill Wendling2010-08-181-1/+2
| | | | llvm-svn: 111384
* Marked with ATTRIBUTE_USED so that clang doesn't complain.Bill Wendling2010-08-181-1/+1
| | | | llvm-svn: 111383
* Inform LazyValueInfo whenever a block is deleted, to avoid dangling pointer ↵Owen Anderson2010-08-182-21/+54
| | | | | | issues. llvm-svn: 111382
* MC/ELF: Allow null values in virtual sections, ELF doesn't use specialDaniel Dunbar2010-08-181-1/+16
| | | | | | directives for putting contents in .bss, for example. llvm-svn: 111376
* move gep decomposition out of ValueTracking into BasicAA. The form ofChris Lattner2010-08-182-222/+213
| | | | | | | decomposition that it is doing is very basicaa specific and is only used by basicaa. llvm-svn: 111375
* Add hook for re-using virtual base registers for local stack slot access.Jim Grosbach2010-08-183-12/+49
| | | | | | | | | | Nothing fancy, just ask the target if any currently available base reg is in range for the instruction under consideration and use the first one that is. Placeholder ARM implementation simply returns false for now. ongoing saga of rdar://8277890 llvm-svn: 111374
* Preserve subregs on PHI source operands. Patch by Krister Wombell!Jakob Stoklund Olesen2010-08-181-1/+4
| | | | llvm-svn: 111366
* Fix a bug with insertelement on SPU. Kalle Raiskila2010-08-181-6/+11
| | | | | | | The previous algorithm in LowerVECTOR_SHUFFLE didn't check all requirements for "monotonic" shuffles. llvm-svn: 111361
* Remove all traces of v2[i,f]32 on SPU. Kalle Raiskila2010-08-185-110/+4
| | | | | | | | The "half vectors" are now widened to full size by the legalizer. The only exception is in parameter passing, where half vectors are expanded. This causes changes to some dejagnu tests. llvm-svn: 111360
* Change SPU C calling convention to match that described in Kalle Raiskila2010-08-181-11/+12
| | | | | | | | "SPU Application Binary Interface Specification, v1.9" by IBM. Specifically: use r3-r74 to pass parameters and the return value. llvm-svn: 111358
* fix PR7589: In brief:Chris Lattner2010-08-181-3/+3
| | | | | | | | | gep P, (zext x) != gep P, (sext x) DecomposeGEPExpression was getting this wrong, confusing basicaa. llvm-svn: 111352
* Fix PR7755: knowing something about an inval for a predChris Lattner2010-08-181-8/+4
| | | | | | | | | from the LHS should disable reconsidering that pred on the RHS. However, knowing something about the pred on the RHS shouldn't disable subsequent additions on the RHS from happening. llvm-svn: 111349
* fit in 80 colsChris Lattner2010-08-181-2/+3
| | | | llvm-svn: 111348
* remove some dead code.Chris Lattner2010-08-182-12/+0
| | | | llvm-svn: 111345
* remove some dead code.Chris Lattner2010-08-183-15/+4
| | | | llvm-svn: 111344
* remove some code that is dead now that lea's are modeled with segment registers.Chris Lattner2010-08-181-14/+0
| | | | llvm-svn: 111343
* remove dead prototype.Chris Lattner2010-08-181-2/+1
| | | | llvm-svn: 111342
* Expand ZERO_EXTEND operations for NEON vector types.Bob Wilson2010-08-181-0/+1
| | | | | | Testcase from Nick Lewycky. llvm-svn: 111341
* Revert r111321. This doesn't fix a problem.Dan Gohman2010-08-181-23/+19
| | | | llvm-svn: 111339
* stomp some more undefined behavior, PR7775.Chris Lattner2010-08-181-6/+7
| | | | llvm-svn: 111337
* include config.h to get config params, hopefully unbreaking mingw builder.Chris Lattner2010-08-171-0/+1
| | | | llvm-svn: 111325
* Fix the rest of rdar://8318441 which happens when a raw_fd_ostreamChris Lattner2010-08-171-19/+23
| | | | | | | | | | (e.g. errs()) fails in close() due to (e.g.) a broken pipe. As previously written, the had_error() flag would get set and then the raw_ostream dtor would report a fatal error. There is nothing the client can do about this and we have no way to report the error, so just eat it. llvm-svn: 111321
* report_fatal_error can't use errs(), because errs() can call Chris Lattner2010-08-171-8/+26
| | | | | | | into report_fatal_error. Just blast the string to stderr with write(2) and hope for the best! Part of rdar://8318441 llvm-svn: 111320
* Temporarily revert r110987 as it's causing some miscompares inEric Christopher2010-08-171-123/+64
| | | | | | vector heavy code. I'll re-enable when we've tracked down the problem. llvm-svn: 111318
* Tweak IVUsers' concept of "interesting" to exclude add recurrencesDan Gohman2010-08-171-12/+16
| | | | | | | | | where the step value is an induction variable from an outer loop, to avoid trouble trying to re-expand such expressions. This effectively hides such expressions from indvars and lsr, which prevents them from getting into trouble. llvm-svn: 111317
* Add materialization of virtual base registers for frame indices allocated intoJim Grosbach2010-08-174-3/+74
| | | | | | | | | | | | | the local block. Resolve references to those indices to a new base register. For simplification and testing purposes, a new virtual base register is allocated for each frame index being resolved. The result is truly horrible, but correct, code that's good for exercising the new code paths. Next up is adding thumb1 support, which should be very simple. Following that will be adding base register re-use and implementing a reasonable ARM heuristic for when a virtual base register should be generated at all. llvm-svn: 111315
* CrashRecovery: Clear the current context on the first crash, to avoid ↵Daniel Dunbar2010-08-171-0/+4
| | | | | | re-entering it if the cleanup code crashes. llvm-svn: 111309
* CrashRecovery: Add CrashRecoveryContext::GetCurrent(), so clients can find ↵Daniel Dunbar2010-08-171-2/+12
| | | | | | the active context from anywhere. llvm-svn: 111308
* CrashRecovery: Make CrashRecoveryContext static methods thread safe.Daniel Dunbar2010-08-171-0/+10
| | | | llvm-svn: 111307
* Make fast scheduler handle asm clobbers correctly.Dale Johannesen2010-08-171-21/+53
| | | | | | PR 7882. Follows suggestion by Amaury Pouly, thanks. llvm-svn: 111306
* Revert part of one of the prev. patches - tailjmp will follow later.Anton Korobeynikov2010-08-171-1/+0
| | | | llvm-svn: 111291
* More fixes for win64:Anton Korobeynikov2010-08-173-6/+10
| | | | | | | | - Do not clobber al during variadic calls, this is AMD64 ABI-only feature - Emit wincall64, where necessary Patch by Cameron Esfahani! llvm-svn: 111289
* Enable more win64 calls folding opportunities.Anton Korobeynikov2010-08-171-0/+2
| | | | | | Patch by Cameron Esfahani! llvm-svn: 111288
* PHI elimination shouldn't require machineloopinfo since it's used at -O0. ↵Evan Cheng2010-08-173-11/+13
| | | | | | Move the requirement to LiveIntervalAnalysis instead. Note this does not change the number of times machineloopinfo is computed. llvm-svn: 111285
* Machine CSE preserves CFG. Pass manager was freeing machineloopinfo after ↵Evan Cheng2010-08-171-0/+1
| | | | | | machine cse before. llvm-svn: 111281
* Don't call tablegen'ed Predicate_* functions in the ARM target.Jakob Stoklund Olesen2010-08-173-11/+15
| | | | llvm-svn: 111277
* silence warningJim Grosbach2010-08-171-0/+5
| | | | llvm-svn: 111274
* Remove dead code. Fixes a GCC warning.Benjamin Kramer2010-08-171-4/+1
| | | | llvm-svn: 111271
* 80 column cleanup.Jim Grosbach2010-08-173-32/+37
| | | | llvm-svn: 111266
* Sketch i386 relocations handling, from Roman Divacky.Benjamin Kramer2010-08-171-24/+45
| | | | | | Hello world builds & runs now on i386/ELF with -integrated-as. llvm-svn: 111264
* Don't call Predicate_* methods directly from Sparc target.Jakob Stoklund Olesen2010-08-172-14/+6
| | | | | | | | | Modernize predicates a bit. The Predicate_* methods are not used by TableGen any longer. They are only emitted for the sake of legacy code. llvm-svn: 111263
* Add hook to examine an instruction referencing a frame index to determineJim Grosbach2010-08-173-2/+94
| | | | | | | | | | | | | | | whether to allocate a virtual frame base register to resolve the frame index reference in it. Implement a simple version for ARM to aid debugging. In LocalStackSlotAllocation, scan the function for frame index references to local frame indices and ask the target whether to allocate virtual frame base registers for any it encounters. Purely infrastructural for debug output. Next step is to actually allocate base registers, then add intelligent re-use of them. rdar://8277890 llvm-svn: 111262
* explicitly handle no-op cases for clarity. Fixes clang warning.Jim Grosbach2010-08-171-0/+3
| | | | llvm-svn: 111260
* Use the correct entry size for relocation entries, from Roman Divacky.Benjamin Kramer2010-08-171-2/+6
| | | | llvm-svn: 111259
* Move the decision logic whether it's a good idea to split a critical edge to ↵Evan Cheng2010-08-173-13/+15
| | | | | | clients. Also fixed an erroneous check. An edge is only a back edge when the from and to blocks are in the same loop. llvm-svn: 111256
* When rotating loops, put the original header at the bottom of theDan Gohman2010-08-171-0/+20
| | | | | | | loop, making the resulting loop significantly less ugly. Also, zap its trivial PHI nodes, since it's easy. llvm-svn: 111255
* remove trailing whitespaceJim Grosbach2010-08-171-7/+7
| | | | llvm-svn: 111254
* Differentiate between RELA and REL relocations, from Roman Divacky.Benjamin Kramer2010-08-171-6/+8
| | | | llvm-svn: 111252
* Change ARM PKHTB and PKHBT instructions to use a shift_imm operand to avoidBob Wilson2010-08-175-39/+69
| | | | | | | printing "lsl #0". This fixes the remaining parts of pr7792. Make corresponding changes for encoding/decoding these instructions. llvm-svn: 111251
OpenPOWER on IntegriCloud