summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Remove some leftover remnants that once tried to create 64-bit MMX PALIGNR ↵Craig Topper2011-12-051-2/+2
| | | | | | instructions. llvm-svn: 145804
* Clean up and optimizations to the X86 shuffle lowering code. No functional ↵Craig Topper2011-12-051-52/+36
| | | | | | change. llvm-svn: 145803
* Add support for vectors of pointers.Nadav Rotem2011-12-0513-39/+168
| | | | llvm-svn: 145801
* Add inline subprogram names to the name lookup table since they mayEric Christopher2011-12-041-0/+4
| | | | | | not get there any other way. llvm-svn: 145789
* Fix 80-column issues.Bob Wilson2011-12-041-4/+8
| | | | llvm-svn: 145783
* Emit the ctors in the proper order on ARM/EABI.Anton Korobeynikov2011-12-035-3/+8
| | | | | | | | Maybe some targets should use this as well. Patch by Evgeniy Stepanov! llvm-svn: 145781
* Sparc CodeGen: Fix AnalyzeBranch for PR 10282. Removing addSuccessor() sinceVenkatraman Govindaraju2011-12-031-1/+1
| | | | | | AnalyzeBranch doesn't change the successor, just the order. llvm-svn: 145779
* Simplify code. No functionality change.Benjamin Kramer2011-12-031-2/+1
| | | | | | -3% on ARMDissasembler.cpp. llvm-svn: 145773
* Clear the new cache.Benjamin Kramer2011-12-031-0/+1
| | | | llvm-svn: 145771
* Add a "seen blocks" cache to LVI to avoid a linear scan over the whole cache ↵Benjamin Kramer2011-12-031-1/+13
| | | | | | | | | just to remove no blocks from the maps. -15% on ARMDisassembler.cpp (Release build). It's not that great to add another layer of caching to the caching-heavy LVI but I don't see a better way. llvm-svn: 145770
* Check for stack space more intelligently.Sanjoy Das2011-12-031-4/+16
| | | | | | | | | libgcc sets the stack limit field in TCB to 256 bytes above the actual allocated stack limit. This means if the function's stack frame needs less than 256 bytes, we can just compare the stack pointer with the stack limit. This should result in lesser calls to __morestack. llvm-svn: 145766
* Fix a bug in the x86-32 code generated for segmented stacks.Sanjoy Das2011-12-031-8/+0
| | | | | | | | | | Currently LLVM pads the call to __morestack with a add and sub of 8 bytes to esp. This isn't correct since __morestack expects the call to be followed directly by a ret. This commit also adjusts the relevant test-case. llvm-svn: 145765
* Creating multiple JITs on X86 in multiple threads causes multiple writes (ofNick Lewycky2011-12-031-0/+2
| | | | | | | | the same value) to this variable. This code could be refactored, but it doesn't matter since the old JIT is going away. Add tsan annotations to ignore the race. llvm-svn: 145745
* [arm-fast-isel] Unaligned stores of floats require special care.Chad Rosier2011-12-031-3/+18
| | | | | | rdar://10510150 llvm-svn: 145742
* Fixed deadstoreelimination bug where negative indices were incorrectly ↵Pete Cooper2011-12-031-1/+1
| | | | | | | | | | causing the optimisation to occur Turns out long long + unsigned long long is unsigned. Doh! Fixes http://llvm.org/bugs/show_bug.cgi?id=11455 llvm-svn: 145731
* Add support for constant folding the pow intrinsic.Chad Rosier2011-12-031-3/+6
| | | | | | rdar://10514247 llvm-svn: 145730
* ARM NEON VEXT aliases for data type suffices.Jim Grosbach2011-12-023-11/+56
| | | | llvm-svn: 145726
* ARM VEXT tighten up operand classes a bit.Jim Grosbach2011-12-021-2/+2
| | | | llvm-svn: 145722
* ARM VST1 single lane assembly parsing.Jim Grosbach2011-12-022-4/+179
| | | | llvm-svn: 145718
* Move global variables in TargetMachine into new TargetOptions class. As an APINick Lewycky2011-12-0254-463/+391
| | | | | | | | | | | | change, now you need a TargetOptions object to create a TargetMachine. Clang patch to follow. One small functionality change in PTX. PTX had commented out the machine verifier parts in their copy of printAndVerify. That now calls the version in LLVMTargetMachine. Users of PTX who need verification disabled should rely on not passing the command-line flag to enable it. llvm-svn: 145714
* ARM VLD1 single lane assembly parsing.Jim Grosbach2011-12-023-9/+124
| | | | llvm-svn: 145712
* ARM encoder method needs the physical register number, not the enum.Jim Grosbach2011-12-021-1/+1
| | | | llvm-svn: 145711
* [arm-fast-isel] After promoting a function parameter be sure to update theChad Rosier2011-12-021-2/+4
| | | | | | | | argument value type. Otherwise, the sign/zero-extend has no effect on arguments passed via the stack (i.e., undefined high-order bits). rdar://10515467 llvm-svn: 145701
* Clean up aliases for ARM VLD1 single-lane assembly parsing a bit.Jim Grosbach2011-12-023-26/+133
| | | | | | Add the 16-bit lane variants while I'm at it. llvm-svn: 145693
* Fix quadratic behavior in InlineFunction by fetching the personality ↵Benjamin Kramer2011-12-021-29/+33
| | | | | | | | | | function of the callee once and not for every invoke in the caller. The callee is usually smaller than the caller, too. This reduces the compile time of ARMDisassembler.cpp by 32% (Release build). It still takes ages to compile though. llvm-svn: 145690
* Check for error after InstantiateMultclassDef.Jim Grosbach2011-12-021-0/+2
| | | | llvm-svn: 145689
* Add XOP feature flag.Jan Sjödin2011-12-023-2/+12
| | | | llvm-svn: 145682
* Reduce duplicate code in isHorizontalBinOp and add some asserts to protect ↵Craig Topper2011-12-021-32/+24
| | | | | | assumptions llvm-svn: 145681
* Add instruction selection support for horizontal add/sub of 256-bit floating ↵Craig Topper2011-12-021-2/+4
| | | | | | point vectors. Also add the test case for 256-bit integer vectors. llvm-svn: 145680
* remove unneeded FIXME commentHal Finkel2011-12-021-1/+0
| | | | llvm-svn: 145679
* make sure ScheduleDAGInstrs::EmitSchedule does not crash when the first ↵Hal Finkel2011-12-021-5/+5
| | | | | | instruction in Sequence is a Noop llvm-svn: 145677
* update PPC 940 hazard rec. to function in postRA modeHal Finkel2011-12-026-142/+93
| | | | llvm-svn: 145676
* Fix a few more places where TargetData/TargetLibraryInfo is not being passed.Chad Rosier2011-12-0211-37/+76
| | | | | | Add FIXMEs to places that are non-trivial to fix. llvm-svn: 145661
* ARM start parsing VLD1 single lane instructions.Jim Grosbach2011-12-022-14/+115
| | | | | | | The alias pseudos need cleaned up for size suffix handling, but this gets the basics working. Will be cleaning up and adding more. llvm-svn: 145655
* Abuse of mass replace isn't warranted even when the build is failing. ThanksChad Rosier2011-12-011-25/+29
| | | | | | for the suggestion, Eric. llvm-svn: 145643
* Fix build by not assuming TLI is guaranteed. Will have to track down cases whereChad Rosier2011-12-011-24/+23
| | | | | | TLI isn't being passed to ensure we don't miss opportunities to fold calls. llvm-svn: 145641
* Prevent library calls from being folded if -fno-builtin has been specified.Chad Rosier2011-12-011-23/+24
| | | | | | rdar://10500969 llvm-svn: 145639
* CodeGen: fix CMake buildDylan Noblesmith2011-12-011-0/+1
| | | | | | Missing file from r145629. llvm-svn: 145634
* ExecutionEngine: honor optimization levelDylan Noblesmith2011-12-013-8/+9
| | | | | | | | | | It was getting ignored after r144788. Also fix an accidental implicit cast from the OptLevel enum to an optional bool argument. MSVC warned on this, but gcc didn't. llvm-svn: 145633
* Last bit of TargetLibraryInfo propagation. Also fixed a case for TargetDataChad Rosier2011-12-017-39/+78
| | | | | | | where it appeared beneficial to pass. More of rdar://10500969 llvm-svn: 145630
* Add a deterministic finite automaton based packetizer for VLIW architecturesAnshuman Dasgupta2011-12-011-0/+98
| | | | llvm-svn: 145629
* Fix unreachable return & simplify some branches.David Blaikie2011-12-011-9/+5
| | | | llvm-svn: 145627
* Dummy commit to check commit access.Sanjoy Das2011-12-011-1/+1
| | | | llvm-svn: 145619
* Improved fix for abs(val) != 0 to check other similar case. Also fixed ↵Pete Cooper2011-12-011-6/+10
| | | | | | style issues and confusing comment llvm-svn: 145618
* [asan] two minor fixes: use UnreachableInst after the neverreturn function ↵Kostya Serebryany2011-12-011-2/+3
| | | | | | call; use report_fatal_error when blacklist file can not be found llvm-svn: 145611
* Add missing functions.Chad Rosier2011-12-011-1/+4
| | | | llvm-svn: 145608
* Autodetect bulldozers.Benjamin Kramer2011-12-011-0/+2
| | | | llvm-svn: 145607
* Add a few more functions to TargetLibraryInfo. More of rdar://10500969.Chad Rosier2011-12-011-1/+16
| | | | llvm-svn: 145596
* For 64-bit the rest of the general regs are ok for the q constraint. MakeEric Christopher2011-12-011-1/+17
| | | | | | | | sure we can emit both the high and low versions of those registers. Fixes rdar://10392864 llvm-svn: 145579
* Add some missing anchors.David Blaikie2011-12-013-0/+7
| | | | llvm-svn: 145578
OpenPOWER on IntegriCloud