summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Special handling of LEApcrel and tLEApcrel.Evan Cheng2007-04-271-0/+11
| | | | llvm-svn: 36504
* Back out previous check-in. Incorrect.Evan Cheng2007-04-271-6/+2
| | | | llvm-svn: 36503
* tLEApcrel is a AddrModeTs, i.e. pc relative.Evan Cheng2007-04-271-2/+6
| | | | llvm-svn: 36502
* Expand UINT_TO_FP in turns of SINT_TO_FP when UINTTOFP_* libcalls are not ↵Evan Cheng2007-04-271-4/+25
| | | | | | available. llvm-svn: 36501
* improve EH global handling, patch by Duncan Sands.Chris Lattner2007-04-271-6/+10
| | | | llvm-svn: 36499
* Move ~Pass() from Pass.h into Pass.cppDevang Patel2007-04-261-0/+5
| | | | llvm-svn: 36498
* enable Anton's shift/and switch lowering stuff! It now passes ppc bootstrapChris Lattner2007-04-261-1/+0
| | | | | | successfully! woohoo... llvm-svn: 36496
* Fix PR1339 and CodeGen/X86/dollar-name.llDan Gohman2007-04-261-3/+32
| | | | llvm-svn: 36495
* Have MMX registers clobbered in x86-64 too.Bill Wendling2007-04-261-0/+1
| | | | llvm-svn: 36494
* Fixx off-by-one bug, which prevents llvm-gcc bootstrap on ppc32Anton Korobeynikov2007-04-261-1/+1
| | | | llvm-svn: 36490
* Fix a typo in a comment.Dan Gohman2007-04-261-1/+1
| | | | llvm-svn: 36485
* Rename findRegisterUseOperand to findRegisterUseOperandIdx to avoid confusion.Evan Cheng2007-04-267-12/+13
| | | | llvm-svn: 36483
* 1. Don't swap byte order in scanf. It isn't necessary and leads toReid Spencer2007-04-261-1/+1
| | | | | | | | incorrect results (canonicalization was dropped several commits ago). 2. Add support for fscanf. 3. Suppress a warning about cast to pointer from non-pointer-sized integer. llvm-svn: 36482
* Use toplevel function pass manager as OnTheFly manager.Devang Patel2007-04-261-10/+17
| | | | llvm-svn: 36481
* Using APInt more efficiently.Zhou Sheng2007-04-262-10/+7
| | | | llvm-svn: 36475
* Minor bug.Evan Cheng2007-04-261-2/+2
| | | | llvm-svn: 36473
* start code for writing out instructions. Separate BB#s from normal valueChris Lattner2007-04-263-5/+83
| | | | | | #'s. llvm-svn: 36472
* regenChris Lattner2007-04-263-4616/+3346
| | | | llvm-svn: 36470
* wrap long linesChris Lattner2007-04-261-10/+16
| | | | | | | | Fix PR1358 and test/Assembler/2007-04-25-AssemblerFoldExternWeak.ll, by creating forward decl globals with linkage extern_weak to defeat implicit constant folding. llvm-svn: 36469
* enumerate BB's separately from other function values.Chris Lattner2007-04-262-4/+16
| | | | llvm-svn: 36467
* add support for incorporating and purging functions to the value enumeratorChris Lattner2007-04-263-98/+38
| | | | llvm-svn: 36465
* improve a commentChris Lattner2007-04-261-3/+5
| | | | llvm-svn: 36464
* move some code around, fix a bug in the reader reading globalinits (whichChris Lattner2007-04-265-69/+123
| | | | | | | I just introduced), stub out function reading, purge aggregate values from the value table before reading functions. llvm-svn: 36463
* add bitcode alias supportChris Lattner2007-04-264-17/+81
| | | | llvm-svn: 36461
* print aliases before functionsChris Lattner2007-04-261-5/+6
| | | | llvm-svn: 36459
* Be careful when to add implicit kill / dead operands. Don't add them during ↵Evan Cheng2007-04-261-9/+17
| | | | | | / post reg-allocation. llvm-svn: 36458
* Fix for PR1348. If stack inc / dec amount is > 32-bits, issue a series of ↵Evan Cheng2007-04-261-18/+27
| | | | | | add / sub instructions. llvm-svn: 36456
* Quiet a compiler warning about assignment in an if-then conditional.Bill Wendling2007-04-251-2/+1
| | | | llvm-svn: 36454
* Match MachineFunction::UsedPhysRegs changes.Evan Cheng2007-04-258-66/+38
| | | | llvm-svn: 36452
* Change UsedPhysRegs from array bool to BitVector to save some space. Setting ↵Evan Cheng2007-04-251-2/+2
| | | | | | / getting its states now go through MachineFunction. llvm-svn: 36451
* Clean up.Evan Cheng2007-04-251-3/+1
| | | | llvm-svn: 36449
* Add SSSE3 as a feature of Core2. Add MMX registers to the list of registersBill Wendling2007-04-252-1/+2
| | | | | | clobbered by a call. llvm-svn: 36448
* Data structure change to improve compile time (especially in debug mode).Evan Cheng2007-04-251-12/+23
| | | | llvm-svn: 36447
* This was lefted out. Fixed sumarray-dbl.Evan Cheng2007-04-251-0/+1
| | | | llvm-svn: 36445
* Mem2Reg does not need TargetData.Devang Patel2007-04-254-15/+9
| | | | llvm-svn: 36444
* Add missed semicolon. Resotre compatibility with older bisonsAnton Korobeynikov2007-04-251-1/+1
| | | | llvm-svn: 36443
* do the multiplication as signed, so that 2*-2 == -4 instead of 4294967292Chris Lattner2007-04-251-1/+2
| | | | | | when promoted to 64-bits llvm-svn: 36442
* Remove unused function argument.Devang Patel2007-04-253-4/+4
| | | | llvm-svn: 36441
* remember to emit weak reference in one more case.Lauro Ramos Venancio2007-04-251-1/+6
| | | | llvm-svn: 36438
* RegenerateAnton Korobeynikov2007-04-255-3904/+5282
| | | | llvm-svn: 36437
* Implement aliases. This fixes PR1017 and it's dependent bugs. CFE partAnton Korobeynikov2007-04-2511-23/+310
| | | | | | will follow. llvm-svn: 36435
* Fix for PR1306.Evan Cheng2007-04-252-47/+180
| | | | | | | | | - A register def / use now implicitly affects sub-register liveness but does not affect liveness information of super-registers. - Def of a larger register (if followed by a use later) is treated as read/mod/write of a smaller register. llvm-svn: 36434
* Clean up.Evan Cheng2007-04-251-4/+2
| | | | llvm-svn: 36431
* Relex assertions to account for additional implicit def / use operands.Evan Cheng2007-04-255-9/+9
| | | | llvm-svn: 36430
* If an alloca only has two types of uses: 1) reads 2) a memcpy/memmove thatChris Lattner2007-04-251-4/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | copies from a constant global, then we can change the reads to read from the global instead of from the alloca. This eliminates the alloca and the memcpy, and promotes secondary optimizations (because the loads are now loads from a constant global). This is important for a common C idiom: void foo() { int A[] = {1,2,3,4,5,6,7,8,9...}; ... only reads of A ... } For some reason, people forget to mark the array static or const. This triggers on these multisource benchmarks: JM/ldecode: block_pos, [3 x [4 x [4 x i32]]] FreeBench/mason: m, [18 x i32], inlined 4 times MiBench/office-stringsearch: search_strings, [1332 x i8*] MiBench/office-stringsearch: find_strings, [1333 x i8*] Prolangs-C++/city: dirs, [9 x i8*], inlined 4 places and these spec benchmarks: 177.mesa: message, [8 x [32 x i8]] 186.crafty: bias_rl45, [64 x i32] 186.crafty: diag_sq, [64 x i32] 186.crafty: empty, [9 x i8] 186.crafty: xlate, [15 x i8] 186.crafty: status, [13 x i8] 186.crafty: bdinfo, [25 x i8] 445.gobmk: routines, [16 x i8*] 458.sjeng: piece_rep, [14 x i8*] 458.sjeng: t, [13 x i32], inlined 4 places. 464.h264ref: block8x8_idx, [3 x [4 x [4 x i32]]] 464.h264ref: block_pos, [3 x [4 x [4 x i32]]] 464.h264ref: j_off_tab, [12 x i32] This implements Transforms/ScalarRepl/memcpy-from-global.ll llvm-svn: 36429
* simplify some codeChris Lattner2007-04-251-5/+2
| | | | llvm-svn: 36427
* refactor the SROA code out into its own method, no functionality change.Chris Lattner2007-04-251-98/+107
| | | | llvm-svn: 36426
* support for >4G stack framesChris Lattner2007-04-252-4/+5
| | | | llvm-svn: 36425
* support >4G stack framesChris Lattner2007-04-251-9/+9
| | | | llvm-svn: 36423
* support > 4G stack objectsChris Lattner2007-04-252-3/+3
| | | | llvm-svn: 36422
OpenPOWER on IntegriCloud